Wie lese ich die Windows Hibernation-Datei (hiberfil.sys), um Daten zu extrahieren?

8

Ich muss herausfinden, welche Daten in der Ruhezustandsdatei gespeichert sind, indem ich sie analysiere. Bisher habe ich es jedoch nur manuell geschafft, indem ich es in einem Hex-Editor geöffnet und dann nach Texten darin gesucht habe. Ich habe etwas über die SandMan-Bibliothek gefunden, aber es sind keine Ressourcen vorhanden. Irgendeine Idee, wie man die Datei liest? Oder gibt es dafür ein Tool / eine Bibliothek oder eine andere Methode?

Codierer
quelle
3
Eine Hiberfil-Datei ist ein Image des System-RAM zum Zeitpunkt des Ruhezustands. Als solches ist ein Hex-Editor wahrscheinlich der beste, den Sie bekommen werden. Diese Aufgabe unterscheidet sich im Wesentlichen nicht von dem Versuch, den Inhalt Ihres RAM zu lesen.
Frank Thomas
1
@FrankThomas wissen Sie, wie die Ruhezustandsdatei formatiert ist?
Codierer
@OliverSalzburg Ich möchte eine Datenstruktur zum Lesen der Datei kennen?
Codierer
1
@WernerHenze für meine Aufgabe
Codierer

Antworten:

7

Viele Informationen dazu finden Sie Hiberfil.sysauf der ForensicWiki-Seite .

Obwohl die meisten zum Analysieren des Dateiformats erforderlichen Datenstrukturen in den Microsoft Windows-Debug-Symbolen verfügbar sind, war die verwendete Komprimierung (Xpress) nicht dokumentiert, bis sie von Matthieu Suiche rückentwickelt wurde. Er erstellte mit Nicolas Ruff ein Projekt namens Sandman, das einzige Open-Source-Tool, das die Windows-Ruhezustandsdatei lesen und schreiben kann.

Das PDF des Projekts Sandman finden Sie hier .

Die Ersteller des Sandman-Projekts haben außerdem ein Tool zum Speichern des Speichers und der Hiberfil.sysDatei erstellt (und aus dem XPress-Komprimierungsformat extrahiert). MoonSols Windows Memory Toolkit

Einige der anderen Links auf der ForensicWiki-Seite funktionieren nicht mehr, aber hier ist einer, den ich gefunden habe: (Wenn Sie direkt in die Formatstruktur eintauchen möchten, können Sie diese Ressource verwenden. Für den Header die ersten 8192 Bytes der Datei, Sie müssen sie nicht dekomprimieren)

Hibernation File Format.pdf

Dieses letzte PDF und der letzte Link auf der ForensicWiki-Seite sollten Ihnen genügend Informationen über die Struktur des geben Hiberfil.sys.

Ruhezustandsdateien bestehen aus einem Standardheader (PO_MEMORY_IMAGE), einer Reihe von Kernelkontexten und -registern wie CR3 (_KPROCESSOR_STATE) und mehreren Arrays komprimierter / codierter Xpress-Datenblöcke (_IMAGE_XPRESS_HEADER und _PO_MEMORY_RANGE_ARRAY).

Der Standardheader befindet sich am Offset 0 der Datei und wird unten angezeigt. Im Allgemeinen muss das Signaturelement entweder "hibr" oder "wake" sein, um als gültig angesehen zu werden. In seltenen Fällen wurde jedoch der gesamte PO_MEMORY_IMAGE-Header auf Null gesetzt, was die Analyse der Ruhezustandsdatei in den meisten Tools verhindern kann. In diesen Fällen verwendet die Volatilität einen Brute-Force-Algorithmus, um die benötigten Daten zu lokalisieren.

Die Referenzen in diesen Dokumenten sollten Ihnen auch viele andere Quellen bieten, die Sie erkunden können.

Rik
quelle
3

Ich würde Ihnen wärmstens empfehlen, sich diese Antwort von security.stackexchange.com anzusehen . Es zeigt eine großartige Möglichkeit, wie die Daten und auch Informationen über den Algorithmus selbst extrahiert werden.

Ich habe hervorgehoben , die wichtigen Teile.

Ja, es wird unverschlüsselt auf der Festplatte gespeichert. Es handelt sich um eine versteckte Datei unter C:\hiberfil.sys, die immer auf jedem System erstellt wird, auf dem der Ruhezustand aktiviert ist. Der Inhalt wird mithilfe des Xpress-Algorithmus komprimiert, dessen Dokumentation als Word-Dokument von Microsoft erhältlich ist . Matthieu Suiche hat 2008 eine umfassende Analyse als BlackHat-Präsentation durchgeführt, die Sie als PDF erhalten können . Es gibt auch ein Tool namens MoonSols Windows Memory Toolkit , mit dem Sie den Inhalt der Datei sichern können. Ich weiß jedoch nicht, ob Sie damit zurück konvertieren können. Möglicherweise müssen Sie daran arbeiten, dies selbst zu tun.

Sobald Sie die Daten veröffentlicht haben, können Sie Daten einschließlich Anweisungen extrahieren oder ändern. In Bezug auf die Schadensbegrenzung besteht Ihre beste Lösung darin, eine Festplattenverschlüsselung wie BitLocker oder TrueCrypt zu verwenden.

Quelle

Christian
quelle
3

Konvertieren Sie die Datei hiberfil.sys mithilfe von http://code.google.com/p/volatility/downloads/list in ein Rohbild . Die neueste Version ist ab sofort 2.3.1. Insbesondere können Sie die folgende Befehlszeile verwenden, um zuerst das Rohbild zu erstellen: -f imagecopy -O hiberfil_sys.raw. Dadurch wird ein Rohbild erstellt, in dem Sie die Volatilität ausführen können, anhand derer Sie Informationen wie Prozesse, Verbindungen, Sockets und Registrierungsstrukturen extrahieren können (um nur einige zu nennen). Eine vollständige Liste der Plugins finden Sie hier: https://code.google.com/p/volatility/wiki/Plugins . Mandiant Redline ist natürlich ein weiteres Tool, das diese Funktionalität bietet. Hoffe das hat geholfen.

labgeek
quelle