AAron Walters und Nick L. Petroni Jr. haben auf der BlackHat DC 2007 ihr neues Programm zur Auswertung von Arbeitsspeicherabbildern vorgestellt. Volatools basic, so der Name der frei verfügbaren Version, basiert auf dem bislang nicht erhältlichen Framework FATkit der beiden Autoren.
Volatools basic ermöglichen die Analyse von Speicherabbildern im raw- bzw. dd-Format; Crash dumps (DMP) werden nicht erkannt. Das Programm erkennt derzeit auch nur die Datenstrukturen von Microsoft Windows XP Service Pack 2.
Volatools ist in der Skriptsprache Python geschrieben. Sofern noch nicht vorhanden, ist zunächst der Interpreter für die Version 2.5 zu installieren. Mit dem Windows-Installer von python.org gelingt dies mühelos. Es ist hilfreich, das Python-Verzeichnis in den Suchpfad (Umgebungsvariable PATH) aufzunehmen.
Als nächstes ist die Bibliothek pykvm zu installieren. Sie ist derzeit leider nur für Windows als Zielsystem verfügbar.
Als letzter Schritt ist noch das Archiv der Volatools herunterzuladen und in ein Verzeichnis zu entpacken. Der Aufruf von python volatools sollte jetzt eine Liste der Kommandos ausgeben.
Der erste Befehl zur Untersuchung eines unbekannten Speicherabbildes wird wahrscheinlich ident sein. Er identifiziert die Betriebsystem-Version, ob die Physical Address Extension (PAE) aktiv ist, die Directory Table Base des System-Prozesses sowie den Zeitpunkt der Datensicherung. Letzterer ist auch mit dem Kommando datetime zu erhalten:
>python volatools ident -f Terminated_nc.vmem
Image Name: Terminated_nc.vmem
Image Type: XP SP2
VM Type: nopae
DTB: 0x39000
Datetime: Tue Jul 18 00:35:04 2006
Das Kommando pslist listet die aktiven Prozesse auf:
>python volatools pslist -f Terminated_nc.vmem Name Pid PPid Thds Hnds Time Idle 0 0 0 217 Thu Jan 01 00:00:00 1970 System 4 0 47 217 Thu Jan 01 00:00:00 1970 smss.exe 428 4 3 21 Mon Jul 17 22:08:31 2006 csrss.exe 484 428 11 347 Mon Jul 17 22:08:33 2006 winlogon.exe 508 428 21 527 Mon Jul 17 22:08:34 2006 services.exe 552 508 15 252 Mon Jul 17 22:08:37 2006 lsass.exe 564 508 16 287 Mon Jul 17 22:08:37 2006 ...
Bereits beendete Prozesse fehlen, selbst wenn ihre EPROCESS-Strukturen noch vorhanden sind.
Die Befehle dlllist und filelist zeigen für jeden aktiven Prozess die geladenen Dynamic Link Libraries (DLLs) und die geöffneten Dateien an. In ähnlicher Weise listet modules alle geladenen Module auf.
Aktive Address Objects und TCP-Verbindungen zeigen die Befehle sockets und connections. Die Betonung liegt hierbei auf "aktiv", denn bereits geschlossene TCP-Verbindungen fehlen in der Liste.
Insgesamt bieten die Volatools basic einen einfachen Einstieg in die Speicheranalyse. Sie ermöglichen es auch einem unerfahrenen Anwender, den aktuellen Zustand eines Systems zu untersuchen. Aussagen über frühere Aktivitäten und die Untersuchung aktueller Rootkits sind mit den gebotenen Mitteln jedoch nicht möglich. Diese werden voraussichtlich erst in den kommerziellen Volatools advanced enthalten sein.
Interessant sich auch der Aufsatz und die begleitende Präsentation von AAron Walters und Nick Petroni.
04.12.2007: Die Entwicklung von Volatools wurde eingestellt. Bitte lesen Sie den Beitrag Von Volatools zu Volatility für weitere Informationen.
