Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
XenoboxX — Kit de bac à sable matériel | Kitploit
Outils/GitHubGitHub/cecio/xenoboxx
Gestion des Indicateurs de Compromission (IOC)Analyse Dynamique (Sandboxing)Criminalistique MémoireShellcodeAnalyse ForensiqueAnalyse de MalwareSécurité Matérielle
GitHubcecio/xenoboxx

XenoboxX

Kit de bac à sable matériel

Voir le dépôt
648il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

logo, paysage, texte foncé, fond transparent

Kit de bac à sable matériel

Les malwares utilisent fréquemment des techniques anti-VM, qui peuvent varier dans leur difficulté à détecter et contrecarrer. Bien que l'intégration de mesures anti-détection dans nos laboratoires soit une option fréquemment utilisée, nous devrions également envisager l'utilisation d'un véritable bac à sable matériel, même si cela peut paraître étrange. En exploitant l'impressionnant projet PCILeech et l'accès matériel DMA, XenoboxX fournit une suite d'outils pour les tâches d'analyse, telles que le vidage de la mémoire allouée dynamiquement et la recherche d'IoC. Ces outils nous permettent d'injecter du code au niveau du noyau via DMA, rendant la détection beaucoup plus difficile et offrant une nouvelle perspective à l'analyse.

XenoboxX se concentre actuellement sur Windows 64 bits, mais à l'avenir il pourrait être étendu à d'autres plateformes également.

L'outil a été présenté aux DEFCON 32 Demo Labs : ici

Ce dont vous avez besoin

Évidemment, nous parlons d'environnements physiques, donc :

  • cible PC avec interface PCI. Puisque vous allez déployer des malwares dessus, vous voudrez probablement un système de test avec la possibilité de revenir à un état propre. Vous pouvez utiliser votre méthode préférée : logiciels kiosk, utilitaires de restauration, ou un système d'imagerie avec logiciel de clonage (voire même matériel).
  • Carte DMA compatible avec PCILeech (voir page d'accueil)
  • PCILeech installé sur un hôte PC avec un accès à la Carte DMA (généralement connexion USB)

Configuration rapide

  • installer la Carte DMA sur le cible PC. Connectez la carte à votre hôte PC

  • installer PCILeech sur votre hôte PC : si vous n'allez pas développer ou apporter des modifications, vous pouvez simplement installer les binaires (je pense que c'est l'option la plus courante) disponibles dans la page de releases

  • installer XenoboxX sur votre hôte PC : comme pour le point précédent, vous pouvez simplement prendre les binaires pré-compilés (dans le dossier pcileech)

  • injecter le module PCILeech :

    root@kitploit:~
    ./pcileech kmdload -kmd WIN10_X64_3
    

    cela retournera une adresse mémoire que vous utiliserez pour exécuter les shellcodes (ex 0x7ffff000)

  • exécuter les shellcodes XenoboxX :

    root@kitploit:~
    ./pcileech wx64_dumpalloc -0 0xbac -s "\\??\C:\temp\test" -kmd 0x7ffff000
    

Plus d'informations

Actuellement XenoboxX dispose de 3 shellcodes wx64 :

  • wx64_dumpalloc : s'attache à un PID spécifique et vide toutes les allocations mémoire effectuées par le processus. Si les indicateurs de protection d'une mémoire existante sont modifiés, la région est vidée à nouveau (parfois les malwares changent de protections pour éviter les inspections)
  • wx64_memgrep : recherche des chaînes définies par l'utilisateur dans la mémoire allouée par un PID. Il peut être attaché au processus pendant une durée spécifique.
  • wx64_strings : recherche toutes les chaînes dans la mémoire allouée par un PID. Il peut être attaché au processus pendant une durée spécifique.

Note : en tant qu'approche expérimentale, Xenobox évite actuellement tout hooking, et toutes les détections sont effectuées par sondage (polling). Évidemment, cela présente quelques inconvénients, mais c'est un choix de conception pour le moment, afin d'être aussi furtif que possible.

wx64_dumpalloc

Exemple :

root@kitploit:~
./pcileech wx64_dumpalloc -0 0xbac -s "\\??\C:\temp\test" -kmd 0x7ffff000

Options

  • -0 PID auquel s'attacher au format hexadécimal (obligatoire)
  • -1 temps de surveillance du processus. Par défaut réglé à 0x20
  • -s dossier de sortie, où les vidages mémoire et le journal seront sauvegardés

wx64_memgrep

Exemple :

root@kitploit:~
./pcileech wx64_memgrep -0 0x564 -1 0x80 -s "Hello, 123" -2 1 -kmd 0x7ffff000

Options

  • -0 PID auquel s'attacher au format hexadécimal (obligatoire)
  • -1 temps de surveillance du processus. Par défaut réglé à 0x20
  • -2 recherche de chaîne ASCII (0x0) ou WIDE (0x1). Par défaut réglé à 0x0
  • -3 recherche sensible à la casse (0x1) ou insensible (0x0). La recherche sensible à la casse est plus rapide. Par défaut réglé à 0x0
  • -4 rechercher uniquement les pages mémoire accessibles en écriture (0x0) ou toutes (0x01). Par défaut réglé à 0x0
  • -s chaîne de recherche (entre guillemets)

wx64_strings

Exemple :

root@kitploit:~
./pcileech wx64_strings -0 0x19e0 -1 0x100 -3 0x15 -kmd 0x7ffff000

Options

  • -0 PID auquel s'attacher au format hexadécimal (obligatoire)
  • -1 temps de surveillance du processus. Par défaut réglé à 0x20
  • -2 recherche de chaîne ASCII (0x0) ou WIDE (0x1). Par défaut réglé à 0x0
  • -3 longueur minimale de la chaîne. Par défaut réglé à 0xA
  • -4 rechercher uniquement les pages mémoire accessibles en écriture (0x0) ou toutes (0x01). Par défaut réglé à 0x0

Développement

Si vous souhaitez modifier ou reconstruire les scripts XenoboxX, n'oubliez pas que vous avez besoin de certains fichiers du dépôt PCILeech, et en particulier :

  • wx64_common.h
  • wx64_common.c
  • shellcode64.exe

Dans les commentaires de chaque fichier .c, vous trouverez des instructions de compilation. Par exemple :

root@kitploit:~
cl.exe /O1 /Os /Oy /FD /MT /GS- /J /GR- /FAcs /W4 /Zl /c /TC /kernel wx64_common.c

cl.exe /O1 /Os /Oy /FD /MT /GS- /J /GR- /FAcs /W4 /Zl /c /TC /kernel wx64_dumpalloc.c

ml64.exe wx64_common_a.asm /Fewx64_dumpalloc.exe /link /NODEFAULTLIB /RELEASE /MACHINE:X64 /entry:main wx64_dumpalloc.obj wx64_common.obj

shellcode64.exe -o wx64_dumpalloc.exe "DUMP ALLOCATED MEMORY                                \n===============================================================\nREQUIRED OPTIONS:                                              \n  -0   : Process PID to open. Example '-0 0x0fe0'.        \nOPTIONAL OPTIONS:                                              \n  -1   : Process monitoring timeout Default: 0x20. Example:  '-1 0x100'. \n  -s   : Specify output folder/file for dumps. Example: \"\\??\C:\temp\test\"\n===== RESULT OF DUMPALLOC OPERATION ======================%s\nNTSTATUS  : 0x%08X                                             \n===============================================================\n"

Notes finales

XenoboxX n'est pas l'outil d'analyse définitif : il s'agit d'une approche très spécifique que je trouve utile pour des analyses très spécifiques : je ne pense pas que cet outil remplacera votre flux de travail actuel, mais peut-être le trouverez-vous utile pour ce sale malware spécifique.

Contribuer

Les contributions et suggestions sont les bienvenues. N'hésitez pas à ouvrir un ticket si vous avez des questions ou une demande d'ajout (pull request) si vous souhaitez contribuer. Merci !

Télécharger l’outil