Das Windows Betriebssystem verwendet Dienste, um permanente Funktionen für den Betrieb bereitzustellen. Regelmäßige Aufgaben können über die Aufgabenplanung initiiert werden. Schadsoftware nutzt solche Funktionalitäten, um sich damit dauerhaft im System festzusetzten. Dieser Artikel ist Teil unserer Reihe „Daten verraten“.
Der Inhalt im Überblick
Persistente Malware
Unter Persistenz versteht man im Kontext von Software den dauerhaften Verbleib auf einem System. Malware verwendet verschiedene Mechanismen, um dafür zu sorgen, dass diese nach einem Neustart des Systems weiterhin vorhanden und viel wichtiger noch aktiv ist. Sind ihre Systeme von Malware befallen, werden in einer forensischen Analyse diese u.a. dahingehend untersucht, ob sich Malware nachhaltig in Ihrem System festgesetzt hat. Durch nachfolgende Spuren kann außerdem eine Aussage darüber getroffen werden, seit wann die Malware aktiv ist. Den Zeitraum zu ermitteln ist für eine Folgenabschätzung der Schäden und das weitere Vorgehen von hoher Wichtigkeit.
Installierte Dienste
Ein einfacher Zugriff auf die Dienste ist im Betrieb über die Anwendung „serivces.msc“ möglich. Dort finden sich alle Dienste inkl. Angaben zum Starttyp. Ein Beispiel hierfür ist der Dienst „DNS-Client“: Dieser stellt einen Zwischenspeicher für DNS-Anfragen bereit. Dadurch können wiederholte Anfragen schneller beantwortet werden. Programme, die ununterbrochen eine Funktion für den Betrieb anbieten, werden deshalb als Dienst implementiert. Durch die Konfiguration des Starttyps auf „Automatisch“ wird der Dienst beim Hochfahren des Rechners mit gestartet.
In der Registry finden sich die installierten Dienste unter SYSTEM\ControlSet001\Services\
. Der bereits erwähnte DNS-Client befindet sich dort unter dem Namen „Dnscache“.
Wichtige Felder sind „ImagePath“, „ObjectName“ und „Start“. Mit „ImagePath“ wird die Software angegeben, welche durch den Dienst ausgeführt wird. „ObjectName“ gibt den Benutzer an, in dessen Kontext das Programm gestartet wird. „Start“ definiert den Starttyp des Dienstes:
2: Automatisch, Automatisch (Verzögerter Start) oder Automatisch (Start durch Auslöser)
3: Manuell oder Manuell (Start durch Auslöser)
4: Deaktiviert
Um einen Dienst zu erstellen, müssen administrative Rechte vorliegen, weshalb Malware zunächst prüft, mit welchen Rechten sie ausgeführt wurde. Dann erstellt die Schadsoftware einen Dienst, trägt die ausführbare Datei in den „ImagePath“ ein und setzt den „Starttyp“ auf „Automatisch“. Reichen die Rechte nicht aus, schreibt sich die Malware oft in den Autostart oder erstellt eine geplante Aufgabe.
Windows Aufgabenplanung
Unter Windows können wiederkehrende Aufgaben mittels der Aufgabenplanung (taskschd.msc) automatisiert werden. Für jede Aufgabe wird eine Tätigkeit wie z.B. ein Programmstart definiert, sowie Trigger, die die Ausführung veranlassen. Ein Trigger kann ein bestimmter Zeitpunkt oder eine vorangegangene Aktion sein. So lässt sich z.B. beim Systemstart oder beim Einloggen des Benutzers ein bestimmtes Programm starten.
Aufgaben können mit Standardbenutzerrechten definiert werden, es ist aber auch möglich andere Benutzer als ausführende Benutzerkonten in die Aufgabe einzutragen. Die Aufgaben werden in einer Baumstruktur organisiert werden, sodass in der Regel alle Aufgaben von Microsoft unter dem Ordner „Microsoft“ zu finden sind. Auf der Ebene darunter befindet sich ein Ordner „Windows“, welcher geplante Aufgaben von Windows enthält. Die Baumstruktur findet sich in der Registry unter SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
.
Wie anhand der Aufgabe „AppleSoftwareUpdate“ zu sehen, ist die Baumstruktur in der Registry analog zur Aufgabenplanung aufgebaut. Die „Id“ verweist auf die eigentliche Aufgabe, die sich in dem Ordner befindet. Die Tasks sind in der Registry unter SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
gespeichert. Innerhalb dieses Pfades gibt es einen Unterschlüssel, der die ID als Namen trägt. Dort ist die Konfiguration der Aufgabe gespeichert. Besonders interessant ist der Wert, der unter „Actions“ eingetragen ist, da dieser den Zweck der Aufgabe preisgibt. In unserem Beispiel wird das Updateprogramm von Apple unter C:\Program Files (x86)\Apple Software Update\SoftwareUpdate.exe
ausgeführt.
Zeitliche Einordnung
Die gefundenen Spuren besitzen einen Zeitstempel, welcher das Datum speichert an dem der Eintrag zuletzt editiert wurde. Dieses gibt erste Hinweise darauf, wann die mögliche Malware spätestens in das System eingedrungen ist. Mit den Einträgen kann der Speicherort von Malware entdeckt und die Malware für eine weitere Analyse gesichert werden. Mittels Verhaltensanalyse oder Reverse Engineering lässt sich dann ein genaueres Bild der Lage, sowie den potentiell entstandenen Schaden machen.
Interessanter Beitrag. Für eine eigene Analyse wäre es noch wünschenswert, das genutzte Programm/Tool das in den letzten zwei Printscreens abgebildet ist zu erwähnen.
Das benutzte Tool aus den beiden Screenshots ist der Registry Explorer von Eric Zimmerman.