
Introspección, rastreo y depuración de máquinas virtuales
Icebox es una solución de Introspección de Máquinas Virtuales que permite rastrear y depurar sigilosamente cualquier proceso (kernel o usuario).
Está basado en el proyecto Winbagility.
Archivos que pueden ser útiles:
Se escribió una guía completa de inicio aquí.
De lo contrario, revisa nuestra carpeta de ejemplos. Puedes compilar estos ejemplos con estas instrucciones después de haber instalado los requisitos.
Si estás usando un invitado Windows, puede que quieras establecer la variable de entorno _NT_SYMBOL_PATH a una carpeta que contenga los pdb de tu invitado. Ten en cuenta que la configuración de icebox fallará si no encuentra el pdb del kernel de tu invitado.
vm_resume:
vm_resume simplemente pausa y luego reanuda tu VM.
cd icebox/bin/$ARCH/
./vm_resume <vm_name>
nt_writefile:
nt_writefile se interrumpe cuando un proceso llama a ntdll!NtWriteFile, y vuelca lo escrito en un archivo en tu host en el directorio actual.
cd icebox/bin/$ARCH/
./nt_writefile <vm_name> <process_name>
heapsan:
heapsan interrumpe las asignaciones de memoria ntdll de un proceso y añade relleno antes y después de cada puntero. Todavía está incompleto y no realiza ninguna comprobación.
cd icebox/bin/$ARCH/
./heapsan <vm_name> <process_name>
wireshark:
wireshark se interrumpe cuando el controlador ndis lee o envía paquetes de red y crea un trace de wireshark (.pcapng). Cada paquete enviado se asocia a un callstack desde el espacio del kernel al de usuario si es necesario.
cd icebox/bin/$ARCH/
./wireshark <name> <path_to_capture_file>