Im Falle eines Malware- oder Ransomware-Befalls kann es hilfreich sein zu überprüfen, welche Programme von einem bestimmten System ausgeführt wurden. Dadurch kann zum Beispiel bestimmt werden, ob die Schadsoftware vom zu untersuchenden Rechner aus agiert. Hierfür kann die NTUSER.DAT eines Benutzers analysiert werden. Dieser Artikel ist Teil unserer Reihe „Daten verraten“.
Der Inhalt im Überblick
Schadsoftwarebefall
Schadsoftware kann sehr leicht auf ein System gelangen, wenn Computersysteme und Netzwerke nicht richtig geschützt sind. Eine gut gefälschte Email oder ein unachtsames Öffnen eines Anhangs reicht oft bereits aus, um ein System zu infizieren. Aber auch ohne direktes Zutun eines Mitarbeiters kann Schadsoftware auf ein Gerät gelangen. In diesen Fällen kann eine ausführliche Analyse des befallenen Systems, der Schadsoftware und der IT-Schwachstellen zur Vermeidung weiterer Vorfälle beitragen. Hierfür analysieren professionelle IT-Forensiker unter anderem die Programmausführungen auf den betroffenen Systemen, um die Schadsoftware und den Verbreitungsweg zu identifizieren.
Um die Programmausführungen auf einem System zu untersuchen, gibt es verschiedene Möglichkeiten, die in der Regel kombiniert werden, um ein aussagekräftiges Ergebnis zu erhalten. Eine Möglichkeit, die Ausführung von Programmen zu untersuchen, ist die Analyse bestimmter Registry Keys der NTUSER.DAT. Die so gewonnenen Ergebnisse beziehen sich hierbei auf einen bestimmten Benutzer.
Programmausführungen unter Windows
Unter Windows können Programme auf mehrere Arten ausgeführt werden. Der einfachste Weg ein Programm zu starten ist es, eine ausführbare Datei, also eine .exe Datei, anzuklicken. Applikationen können außerdem über die Kommandozeile oder den „Windows Ausführen Dialog“ gestartet werden. Für das Starten von Programmen über die Kommandozeile muss lediglich das gewünschte Verzeichnis geöffnet, die .exe Datei ausgewählt und bestätigt werden. Den „Ausführen“ Dialog startet man hingegen indem man das Windows Start Menü öffnet, anschließend „run“ in die Suchleiste eingibt und die Eingabe bestätigt. Nun können bestimmte Programme wie beispielsweise winver.exe ausgeführt werden. Der Ausführen Dialog kann außerdem über die Tastenkombination Win + r ausgeführt werden.
Ein weiterer wichtiger Hinweis findet sich in den Autostart Einträgen. Programme die in der Autostart Liste eingetragen sind, werden nach dem Hochfahren des Rechners automatisch gestartet. Gerade Schadsoftware versucht sich oft in den Autostart in der NTUSER.DAT einzutragen.
Die Art und Weise der Ausführung bestimmt wo Spuren gefunden werden können. Da Windows für jede mögliche Vorgehensweise unterschiedliche Werte in unterschiedlichen Registry Keys ablegt, kann genau festgestellt werden, wie ein Programm ausgeführt wurde.
Benutzerspezifische Spuren in der Windows Registry
Die wahrscheinlich am häufigsten genutzte Variante, um Programme zu starten, ist die Ausführung über das Windows GUI Interface. Das bedeutet, dass ein Benutzer ein Programm über das Anklicken bestimmter Verknüpfungen oder das direkte Anklicken der .exe Datei ausführt. Dies hinterlässt Einträge im User Assist Key in der NTUSER.DAT. Der Eintrag kann unter NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
gefunden werden. Über die Daten, die hier gespeichert werden, kann außerdem festgestellt werden wie ein Programm ausgeführt wurde. Es lässt sich hierbei genau bestimmen, ob ein Benutzer ein Programm über die Task Bar, den Desktop, das Start Menü oder über das direkte Anklicken ausgeführt hat. Programme, die über die Kommandozeile ausgeführt wurden tauchen nicht in diesem Registry Key auf.
Unter Windows 10 gibt es einen weiteren Registry Key der Aufschluss über Programmausführungen durch das Windows GUI Interface geben kann. Der sogenannte Recent App Key speichert Programmausführungen die in Verbindung zu den zuletzt verwendeten Dateien stehen. Dieser Key ist jedoch in den meisten Fällen nicht vorhanden und kann deshalb nur als zusätzliche Informationsquelle verwendet werden. Zu finden ist dieser Key unter NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps
.
Programmausführungen über den Windows Ausführen Dialog können unter NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
ermittelt werden. Hierbei handelt es sich um die Ausführung spezieller Programme die verwendet werden können, um Informationen über das System zu erhalten oder das System zu konfigurieren.
Wie bereits erwähnt kann ein Blick in den Autostart Hinweise darauf liefern, ob eine Schadsoftware beim Anmelden eines Benutzers installiert oder ausgeführt wird. Einträge in den Autostart können unter NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run
und NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\RunOnce
ausgelesen werden.
Weitere Hinweise
Da die beschriebenen Einträge benutzerspezifische Informationen enthalten, sollte bei einer gründlichen Systemanalyse immer noch weitere Informationen miteinbezogen werden. Um Programmausführungen zu untersuchen, können zusätzliche benutzerunspezifische Registry Einträge verwendet werden. Auch Log Dateien sind eine hilfreiche Informationsquelle, um zu bestimmen, was auf einem System geschehen ist. Gerade im Falle eines Schadsoftware-Befalls kann das Kombinieren verschiedener Informationsquellen ein klareres Bild des IT-Sicherheitsvorfalls schaffen. In jedem Fall ist eine gründliche Analyse hilfreich, um nachzuvollziehen zu können, was geschehen ist und wie ein erneuter Befall vermieden werden kann.
Unter „UserAssist“ sind so lustige Codes zu finden. Ich dachte, eine Suche nach diesen Codes in der Registry spuckt irgendwo die Dateinamen der ausgeführten Programme aus, aber dem ist leider nicht so.
Außerdem was ist mit Programmen, die nicht installiert sind (sog. „Portable Apps“). Werden die hier auch aufgeführt?
Die genannten Codes sind GUIDs (Globally Unique Identifier), die auf die Art der Applikationsausführung verweisen z.B. Executable File Execution. Das sind also keine Applikationsnamen, die man in der Registry weiter verwenden oder finden kann. Die Applikationsnamen liegen unter den einzelnen GUID Verzeichnissen unter „Count“ und sind ROT13 codiert. Um diese lesbar zu machen müssen die Einträge demnach zunächst dekodiert werden.
Auch Portable Apps tauchen hier auf.