
Introspezione di Macchine Virtuali, Tracciamento e Debug
Icebox è una soluzione di Virtual Machine Introspection che ti consente di tracciare e fare debug furtivamente di qualsiasi processo (kernel o utente). Si basa sul progetto Winbagility.
File che potrebbero essere utili:
Una guida completa per iniziare è disponibile qui.
Altrimenti, dai un'occhiata alla nostra cartella degli esempi. Puoi compilare questi esempi seguendo queste istruzioni dopo aver installato i requisiti.
Se stai utilizzando un guest Windows, potresti voler impostare la variabile d'ambiente _NT_SYMBOL_PATH su una cartella che contiene il pdb del tuo guest. Tieni presente che la configurazione di icebox fallirà se non riesce a trovare il pdb del kernel del tuo guest.
vm_resume:
vm_resume mette in pausa e poi riprende la tua VM.
cd icebox/bin/$ARCH/
./vm_resume <vm_name>
nt_writefile:
nt_writefile si interrompe quando un processo chiama ntdll!NtWriteFile e scarica ciò che è stato scritto in un file sul tuo host nella directory corrente.
cd icebox/bin/$ARCH/
./nt_writefile <vm_name> <process_name>
heapsan:
heapsan interrompe le allocazioni di memoria ntdll da un processo e aggiunge padding prima e dopo ogni puntatore. È ancora incompleto e non esegue ancora alcun controllo.
cd icebox/bin/$ARCH/
./heapsan <vm_name> <process_name>
wireshark:
wireshark si interrompe quando il driver ndis legge o invia pacchetti di rete e crea una traccia wireshark (.pcapng). Ogni pacchetto inviato è associato a una callstack dal kernel allo spazio utente, se necessario.
cd icebox/bin/$ARCH/
./wireshark <name> <path_to_capture_file>