Windows-Registry-Forensik: Aufbau und Tools

Möchte man in einem Windows-Betriebssystem ein Informationen über Nutzer- und Anwendungsaktionen so bietet die Registry einen idealen Ansatzpunkt.

Die Registry wird von den meisten Forensikern als „Goldgrube“ bezeichnet, da dort fast jede Aktion am Rechner registriert wird. In diesem Artikel möchte ich einen Überblick über die Registry und passende Analyse-Tools geben. In einem weiteren Artikel will ich zeigen, wo Du als IT-Forensiker alle USB-Geräte finden kannst, die jemals am Rechner angeschlossen waren!

Aufbau der Registry 

Die Registry hat eine hierarchische Baumstruktur und in der ersten Ebene fünf sog. Wurzelschlüssel, die Daten unterschiedlicher „Gebiete“ abbilden.

Forensik Registry

Diesen Wurzelschlüssel sind weitere Schlüssel und Unterschlüssel nachgeordnet, die jeweils über Pfade zugänglich sind. Ein Unterschlüssel hat letztlich die Registry-Einträge mit den konkreten Werten. Diese teilen sich in drei Spalten „Name“, „Typ“ und „Daten“. 

Die Schlüssel enthalten die für die Forensiker interessanten Informationen, wie z.B. Zeitstempel des letzten Schreibzugriffs sowie Pfade. Meist in hexadezimaler Schreibweise. Die Namen dieser Werte sind in der Regel aussagekräftig genug, um Rückschlüsse zu den Werten ziehen zu können.

 Die 5 Wurzelschlüssel: 

  • HKEY_LOCAL_MACHINE (HKLM): Speichert Systemeinstellungen, die den lokalen Rechner, und damit alle Benutzer hiervon, betreffen. Forensisch sehr wertvollen Informationen finden sich bspw. in dem Unterschlüssel „SECURITYSAM“ (= Windows-Sicherheitsdatenbank mit Benutzer- und Gruppeninformationen) oder „SYSTEM“ (=Informationen zu Gerätetreibern und Diensten –> Wichtig für unsere USB-Analyse)
  • HKEY_USERS (HKU): Enthält Nutzerinformationen zu allen aktiv geladenen Nutzern. Jeder angemeldete Nutzer wird in einem Unterschlüssel unter seinem sog. SID (=Security Identifier) abgelegt. In diesen Unterschlüsseln werden für jeden Benutzer gesondert alle relevanten Informationen gespeichert.
  • HKEY_CURRENT_ROOT (HKCR): Speichert Informationen zu den Dateierweiterungen, der OLE-Datenbank sowie zu den installierten Applikationen. Z.B. wird gespeichert, welches Programm bei welcher Dateierweiterung benutzt wird. Der Schlüssel ist eine Zusammensetzung aus HKU und HKLM.
  • HKEY_CURRENT_USER (HKCU): Spiegelt den aktuell angemeldeten Nutzer aus HKU
  • HKEY_CURRENT_CONFIG (HKCC): Speichert die Konfigurationsdateien für das aktuelle Hardwareprofil (bei jedem Boot neu geladen) und spiegelt den Schlüssel „HKLMSYSTEMCurrentControlSetHardware ProfilesCurrent“

 

Hive-Dateien

Die Registry ist im Dateisystem in sog. Hive-Files abgelegt, die Dateien in verschiedenen Verzeichnissen darstellen. Ein Hive-File ist jedoch nicht immer gleich wie die oben genannten Wurzelschlüssel. Die Wurzelschlüssel können über mehrere Hives verteilt sein. Ich erwähne das hier, da einige Analyse-Tools genau diese Hive-Dateien für die Analyse heranziehen, weshalb Du mal davon gehört haben solltest. Da die Hive-Files in den unterschiedlichen Windows-Versionen an unterschiedlichen Pfaden/Orten liegen verweise ich auch den Wikipedia-Artikel zu Hive-Dateien und dort die Überschrift „Dateien der Registry (Hives)“, wo Übersichtstabellen zusammengestellt wurden. Diese Pfade sind für die forensische Untersuchung durchaus hilfreich! Eine Übersicht über die Hive-Files des Systems lässt sich über den Pfad „HKLMSYSTEMCurrentControlControlhivelist“ einsehen.

Analyse-Tools

Die Registry verändert sich im Betriebssystem natürlich im sekundentakt. Wie in der IT-Forensik allgemein können auch hier die bekannten zwei Methoden der Ereignis- und der Zustandsanalyse angewendet werden. Für jede Methode gibt es auch bestimmte Tools. FTK-ImagerDer FTK-Imager dient in der Regel dazu, ein Abbild eines Laufwerks oder einzelner Partitionen zu erstellen. Es ist jedoch auch möglich die Hive-Files zu extrahieren. Hierzu geht man über folgenden Menüpfad „File-Obtain Protected Files“. Um möglichst ausgiebige Registry-Files zu erhalten, sollte das Programm im Administrationsmodus gestartet werden. Der FTK-Imager kann hier heruntergeladen werden. RegRipper

Die kostenlose Software „RegRipper“ dient dem Extrahieren spezifischer Informationen aus der Registry bzw. den Hive-Files. Diese können dann in eine Report-Datei ausgegeben werden. Hierzu brauchst du jedoch durch den FTK-Imager erzeugte Hive-Files. Erweitern kannst du die Extraktionsmöglichkeiten über Perl-Skripte.  RegRipper kann hier heruntergeladen werden.

Regshot

Regshot IT-Forensik

Das Tool „Regshot“ ist kostenlos und dient zur Analyse der Registryänderungen durch Aktionen (z.B. Ausführung einer Anwendung) oder über einen bestimmten Zeitraum. Die hier angewandte Methode wird auch Zustandsanalyse genannt.Regshot nimmt über den Button „1st shot“ einen erste

n Schnappschuss vom Zustand der Registry vor der Anwendungsausführung (z.B. Ausführung einer Malware). Dann wird die zu testende Anwendung ausgeführt und ein zweiter Schnappschuss (Button „2nd shot“) wird genommen. Die zwei Schnappschüsse können dann über den Button „Compare“ automatisch abgeglichen werden. Die Unterschiede sind die aus der Anwendung resultierenden Änderungen an der Registry und können in einem Report ausgegeben werden. Das Tool ist hier zu finden.

FRED (Forensic Registry EDitor) 

FRED ist eine frei verfügbares Tool und dient der Untersuchung und Bearbeitung der Hive-Dateien eines Systems zu einem Zustand bzw. Zeitpunkt X.

Forensic Registry EDitorUm ein Hive-File zu untersuchen, muss es zuerst z.B. mit dem FTK-Image extrahiert werden und dann in FRED über den jeweiligen Pfad im Programm aufgerufen werden. Klicke auf das Bild, um die Oberfläche von FRED zu betrachten.

Nachdem es aufgerufen wurde, können mit der Report-Funktion diverse Daten ausgelesen werden.Eine Übersicht über die Hive-Files kann man über den Pfad „HKLMSYSTEMCurrentControlControlhivelist“ bekommen.Usernames und Accountdaten lassen sich bswp. über das Hive-File unter dem Pfad „WindowsSystem32configSAM“  aquirieren. In FRED geht dies über den Menüpfad „Reports-SAM-UserAccounts“. (Screenshot)
Der FRED ist hier zu finden

Registierungs-Editor (regedit) 

Auch über das Bordwerkzeug von Windows „regedit“ kann die Registry eingesehen werden. Dieses sollte für eine ausführliche Ansicht im Admin-Modus gestartet werden. Hier lässt sich auch sehr gut der Aufbau der Registry nachvollziehen. Über die jeweiligen Pfade kommt man letztlich an die einzelnen Informationen. Die Wurzelschlüssel können bei Bedarf auch als Text- oder Strukturdatei extrahiert werden (Menüpfad: Datei – Exportieren). Ein Vorteil davon ist, dass Zeitstempel in der extrahierten Dateien sichtbar werden. Über den Menüpfad „Bearbeiten – Suchen“ kann auch in der Registry gesucht werden, was teilweise sehr praktisch ist.Vorsicht: Einträge können hier auch dauerhaft verändert werden, was die Funktionalität des Gesamtsystems zerstören könnte! 

Procmon 

Procmon ist ein tolles Tool, um die Veränderungen und Ereignisse auf einem System über einen vom IT-Forensiker ausgewählten Zeitraum aufzuzeichnen und später zu analysieren (sog. Ereignismethode). Der Prozess Monitor ist ein frei verfügbares Tool und kann unter dem Link hier heruntergeladen werden. Das Tool eignet sich außerdem auch für viele andere forensische Untersuchungszwecke, z.B. Malware-Analyse. Um die Registry-Veränderungen zu analysieren, muss man die Aufzeichnung in Procmon starten. Hiernach führst Du das zu untersuchende Programm aus. Am besten solltest du die Ausgabe aber nur auf diese EXE-Datei filtern (Menüpfad: „Filter…“ und dem Filter „Process Name – is -„). Nach fertiger Aufzeichnung kannst Du in der Symbolleiste die Ausgabe nur auf „Registry“ filtern, indem du nur dieses Symbol auswählst. Danach kannst du übersichtlich die Aktionen ansehen! Solltest Du nun Lust auf die praktische Anwendung bekommen haben empfehle ich dir meinen Artikel Registry: Wie finde ich heraus, welche USB-Geräte am Rechner angeschlossen waren?, wo ich exemplarisch zeige, wie Du alle jemals am Rechner angeschlossenen USB-Geräte herausfinden kannst. Dort kannst du noch weitere Informationen zu wertvollen Registry-Pfaden finden.