
Introspection de machines virtuelles, traçage et débogage
Icebox est une solution d'Inspection de Machine Virtuelle qui vous permet de tracer et déboguer furtivement tout processus (noyau ou utilisateur). Elle est basée sur le projet Winbagility.
Fichiers pouvant être utiles :
Un guide complet de démarrage a été rédigé ici.
Sinon, consultez notre dossier d'exemples. Vous pouvez compiler ces exemples avec ces instructions après avoir installé les prérequis.
Si vous utilisez un invité Windows, vous voudrez peut-être définir la variable d'environnement _NT_SYMBOL_PATH vers un dossier contenant les pdb de votre invité. Veuillez noter que la configuration d'icebox échouera s'il ne trouve pas le pdb du noyau de votre invité.
vm_resume:
vm_resume met en pause puis reprend votre VM.
cd icebox/bin/$ARCH/
./vm_resume <nom_vm>
nt_writefile:
nt_writefile s'arrête lorsqu'un processus appelle ntdll!NtWriteFile, et écrit ce qui est écrit dans un fichier sur votre hôte dans le répertoire courant.
cd icebox/bin/$ARCH/
./nt_writefile <nom_vm> <nom_processus>
heapsan:
heapsan intercepte les allocations mémoire ntdll d'un processus et ajoute du remplissage avant et après chaque pointeur. Il est encore incomplet et n'effectue pas encore de vérifications.
cd icebox/bin/$ARCH/
./heapsan <nom_vm> <nom_processus>
wireshark:
wireshark s'arrête lorsque le pilote ndis lit ou envoie des paquets réseau et crée une trace wireshark (.pcapng). Chaque paquet envoyé est associé à une pile d'appels du noyau vers l'espace utilisateur si nécessaire.
cd icebox/bin/$ARCH/
./wireshark <nom> <chemin_vers_fichier_capture>