
Virtual-Machine-Introspection, Tracing und Debugging
Icebox ist eine Virtual Machine Introspection-Lösung, die es Ihnen ermöglicht, jeden Prozess (Kernel oder Benutzer) heimlich zu verfolgen und zu debuggen. Sie basiert auf dem Projekt Winbagility.
Dateien, die hilfreich sein könnten:
Eine vollständige Anleitung zum Einstieg wurde hier geschrieben.
Alternativ können Sie in unserem Beispielordner nachsehen. Sie können diese Beispiele mit diesen Anweisungen erstellen, nachdem Sie die Anforderungen installiert haben.
Wenn Sie einen Windows-Gast verwenden, sollten Sie die Umgebungsvariable _NT_SYMBOL_PATH auf einen Ordner setzen, der die PDB-Dateien Ihres Gasts enthält. Bitte beachten Sie, dass die Icebox-Einrichtung fehlschlägt, wenn sie die Kernel-PDB Ihres Gasts nicht findet.
vm_resume:
vm_resume pausiert und setzt dann Ihre VM fort.
cd icebox/bin/$ARCH/
./vm_resume <vm_name>
nt_writefile:
nt_writefile unterbricht, wenn ein Prozess ntdll!NtWriteFile aufruft, und schreibt das Geschriebene in eine Datei auf Ihrem Host im aktuellen Verzeichnis.
cd icebox/bin/$ARCH/
./nt_writefile <vm_name> <process_name>
heapsan:
heapsan unterbricht ntdll-Speicherzuweisungen eines Prozesses und fügt vor und nach jedem Zeiger Padding hinzu. Es ist noch unvollständig und führt noch keine Überprüfungen durch.
cd icebox/bin/$ARCH/
./heapsan <vm_name> <process_name>
wireshark:
wireshark unterbricht, wenn der ndis-Treiber Netzwerkpakete liest oder sendet, und erstellt eine Wireshark-Aufzeichnung (.pcapng). Jedes gesendete Paket wird gegebenenfalls mit einem Callstack vom Kernel-Bereich bis zum Benutzerbereich verknüpft.
cd icebox/bin/$ARCH/
./wireshark <name> <path_to_capture_file>