Kategorien
Computer

Memory Dumps mit VirtualBox

Ich war grad ein wenig am Rumspielen mit der forensischen Analyse von Hauptspeicher-Dumps. Dabei find ich es ganz praktisch, mit Dumps von virtuellen Maschinen zu arbeiten, weil man dann deutlich einfacher herumexperimentieren kann.

Die Standard-Methode um dann einen Hauptspeicher-Image zu erstellen, wäre dann wohl die Nutzung von win32dd (resp. win64dd). Allerdings ändert das natürlich wieder die RAM-Inhalte, wenn das Tool gestartet wird. Und warum sollte man das akzeptieren, wenn der ganze Server sowieso virtualisiert läuft?

Nach ein wenig Recherche bin ich auf diese großartige Seite von Philippe Teuwen gestoßen. Dort werden gleich 2 Methoden zur Erstellung von RAM-Images von VirtualBox-Servern beschrieben.

Die erste ist funktioniert über die Debug-Schnittstelle und muss über die Debug-Konsole aufgerufen werden. Vorteil hierbei ist, dass direkt ein rohes Speicherimage erstellt wird, dass mit bspw. volatility weiterverarbeitet werden kann. Nachteil ist, dass die virtuelle Maschine explizit im Debug-Modus gestartet sein muss. Ist das nicht der Fall, so ist ein Reboot notwendig. Zu beachten ist auch, dass bei Nutzung des .pgmphystofile-Befehls der anzugebende Dateiname keine Minus-Zeichen enthält, da sonst die etwas missverständliche Fehlermeldung erscheint, der Befehl sei noch nicht implementiert.

Die zweite Methode geht mit Hilfe des VBoxManage-Tools und dem dort enthaltenen debugvm-Befehl. Vorteil hierbei ist, dass dieser Befehl einfach auf beliebige laufende virtuelle Server angewandt werden kann. Nachteil ist, dass damit kein „rohes“ Speicherimage erstellt wird, sondern neben dem Hauptspeicher weitere Informationen in der Datei abgelegt werden. Hierzu hat der Autor allerdings ein kleines Skript für volatility entwickelt, dass die Hauptspeicher-Informationen on-the-fly abgreifen kann.