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
detux — Le sandbox Linux multiplateforme | Kitploit
Outils/GitHubGitHub/detuxsandbox/detux
Analyse Dynamique (Sandboxing)Criminalistique RéseauAnalyse ForensiqueAnalyse de Malware
GitHubdetuxsandbox/detux

detux

Le sandbox Linux multiplateforme

Voir le dépôt
26659il y a 8 ansVérifié par Kitploit

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

Detux : Le bac à sable Linux multiplateforme

Introduction :

Detux est un bac à sable développé pour analyser le trafic des logiciels malveillants Linux et capturer les IOCs ce faisant. L'hyperviseur QEMU est utilisé pour émuler Linux (Debian) pour diverses architectures CPU.

Les CPU suivants sont actuellement pris en charge :

  • x86
  • x86-64
  • ARM
  • MIPS
  • MIPSEL

Utilisez la version live maintenant : http://detux.org

Quoi de neuf dans cette version ?

Cette version de Detux contient le script pour exécuter un binaire/script Linux dans une architecture CPU spécifiée. Ne vous inquiétez pas si vous ne connaissez pas la plateforme, c'est dans le script, le package Magic aide à choisir l'architecture CPU de manière automatisée. x86 est la version CPU par défaut, elle peut être modifiée vers une autre dans le fichier de configuration.

Cette version fournit le rapport d'analyse au format DICT, qui peut être facilement personnalisé pour être inséré dans des bases NOSQL.

Un exemple de script a été fourni qui démontre l'utilisation de la bibliothèque du bac à sable.

Que contient le rapport ?

root@kitploit:~
- Analyse statique
    -- Chaînes de base extraites du binaire
    -- Informations ELF générées par les commandes readelf
    -- report.py peut être modifié pour ajouter plus de commandes tierces pour analyser le binaire et ajouter le résultat au DICT.

- Analyse dynamique
    -- Les pcaps capturés sont analysés avec DPKT pour extraire les IOC et les informations lisibles des paquets.

Prérequis

  • Paquets système

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Bibliothèques Python (de préférence utiliser un environnement virtuel)

    • pexpect
    • paramiko
    • python-magic

Veuillez vous assurer que les prérequis ci-dessus sont satisfaits avant d'utiliser Detux. Quelques dépendances peuvent varier d'un OS à l'autre.

Architecture

  • Hôte (L'hôte lui-même peut être une VM ou une machine physique)
    • QEMU
    • dumpcap
    • Scripts DETUX

Architecture réseau

root@kitploit:~
- NIC1 : Cette interface est pour accéder à l'hôte
- NIC2 : Interface pontée avec les VM du bac à sable QEMU. On peut rediriger le trafic de l'interface vers WHONIX ou REMNUX ou une passerelle personnalisée pour filtrer/autoriser l'accès Internet pour les VM sandboxées.

Configuration des VM :

Téléchargement des images VM Linux

Un grand merci à aurel qui a téléchargé des images VM Debian QEMU préconstruites pour toutes les architectures CPU possibles. Les images VM se trouvent à : https://people.debian.org/~aurel32/qemu/, le même lien contient des exemples de commandes pour invoquer les images VM.

Vous pouvez utiliser le script suivant pour télécharger automatiquement les images VM dans le dossier "qemu" de Detux.

root@kitploit:~
#x86
wget https://people.debian.org/~aurel32/qemu/i386/debian_wheezy_i386_standard.qcow2 -P qemu/x86/1/


#x86-64
wget https://people.debian.org/~aurel32/qemu/amd64/debian_wheezy_amd64_standard.qcow2 -P qemu/x86-64/1/

#arm
wget https://people.debian.org/~aurel32/qemu/armel/debian_wheezy_armel_standard.qcow2 -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-3.2.0-4-versatile -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-3.2.0-4-versatile -P qemu/arm/1/

#mips
wget https://people.debian.org/~aurel32/qemu/mips/vmlinux-3.2.0-4-4kc-malta -P qemu/mips/1/
wget https://people.debian.org/~aurel32/qemu/mips/debian_wheezy_mips_standard.qcow2 -P qemu/mips/1/

#mipsel
wget https://people.debian.org/~aurel32/qemu/mipsel/vmlinux-3.2.0-4-4kc-malta -P qemu/mipsel/1/
wget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2 -P qemu/mipsel/1/
Configuration de sudoers pour l'exécution de qemu

Detux utilise SSH pour communiquer avec les VM, donc ceci est actuellement nécessaire pour que les VM aient une capacité réseau. En considérant que les binaires listés sont dans le même chemin, vous pouvez ajouter les lignes suivantes à /etc/sudoers (uniquement si vous êtes un utilisateur non root) :

root@kitploit:~
Cmnd_Alias  QEMU_CMD    =   /usr/bin/qemu-*, /sbin/ip, /sbin/ifconfig, /sbin/brctl
<your detux username here> ALL = (ALL) NOPASSWD: QEMU_CMD

Changez les chemins vers les binaires s'ils diffèrent pour vous.

Configuration réseau

Ajoutez la configuration suivante à /etc/qemu-ifup, sauvegardez l'original si vous en avez déjà un :

root@kitploit:~
#! /bin/sh
# Script to bring a network (tap) device for qemu up.
# The idea is to add the tap device to the same bridge
# as we have default routing to.

# in order to be able to find brctl
PATH=$PATH:/sbin:/usr/sbin
ip=$(which ip)
ifconfig=$(which ifconfig)

echo "Starting"  $1
if [ -n "$ip" ]; then
   ip link set "$1" up
else
   brctl=$(which brctl)
   if [ ! "$ip" -o ! "$brctl" ]; then
     echo "W: $0: not doing any bridge processing: neither ip nor brctl utility not found" >&2
     exit 0
   fi
   ifconfig "$1" 0.0.0.0 up
fi

switch=$(ip route ls | \
    awk '/^default / {
          for(i=0;i<NF;i++) { if ($i == "dev") { print $(i+1); next; } }
         }'
        )
    if [ -d /sys/class/net/br0/bridge/. ]; then
        if [ -n "$ip" ]; then
          ip link set "$1" master br0
        else
          brctl addif br0 "$1"
        fi
        exit    # exit with status of the previous command
    fi

echo "W: $0: no bridge for guest interface found" >&2

En considérant que eth0 est l'interface avec laquelle vous voulez que vos VM soient pontées, vous pouvez supprimer les configurations pour eth0 et utiliser les configurations suivantes dans /etc/network/interfaces :

root@kitploit:~
auto br0
iface br0 inet dhcp
  bridge_ports eth0
  bridge_maxwait 0

Vous pouvez aussi spécifier une adresse statique que vous utilisiez pour eth0.

Configuration de vos VM

Naviguez jusqu'au dossier dans lequel se trouvent vos images VM pour chaque image QEMU, par exemple pour ARM :

root@kitploit:~
<your detux folder>/qemu/arm/1/

Pour chaque image, suivez les instructions de démarrage de la VM données à "https://people.debian.org/~aurel32/", pour lancer la VM. Cependant, si vous êtes un utilisateur non root, vous devrez utiliser sudo.

Commandes pour démarrer les VM (Remplacez par l'adresse MAC que vous souhaitez) :

root@kitploit:~
#x86
sudo qemu-system-i386 -hda qemu/x86/1/debian_wheezy_i386_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio


#x86-64
sudo qemu-system-x86_64 -hda qemu/x86-64/1/debian_wheezy_amd64_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#arm
sudo qemu-system-arm -M versatilepb -kernel qemu/arm/1/vmlinuz-3.2.0-4-versatile -initrd qemu/arm/1/initrd.img-3.2.0-4-versatile -hda qemu/arm/1/debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mips
sudo qemu-system-mips -M malta -kernel qemu/mips/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mips/1/debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mipsel
sudo qemu-system-mipsel -M malta -kernel qemu/mipsel/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mipsel/1/debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

Detux nécessite un snapshot de VM préconfiguré avec des adresses IP et une configuration SSH.

Étapes pour configurer votre snapshot :
  • Choisissez une image VM non configurée et démarrez-la en utilisant la commande listée ci-dessus dans un terminal.
  • Connectez le moniteur VM. Connectez un client VNC à 127.0.0.1:5901 et attendez que la VM démarre complètement.
  • Connectez-vous avec les identifiants root par défaut (root/root).
  • Configurez l'interface réseau de la VM pour qu'elle soit accessible/atteignable depuis l'hôte.
  • Installez le serveur SSH sur la VM et toute autre configuration si nécessaire.
  • Une fois configurée, démarrez dans un état en cours d'exécution qui accepte les connexions réseau.
  • Revenez au terminal avec la console qemu active, qui devrait ressembler à :
root@kitploit:~
(qemu)
  • Sauvegardez l'état de la VM en tapant les commandes qemu suivantes dans la console qemu :
root@kitploit:~
(qemu) savevm init
  • Quittez la console QEMU :
root@kitploit:~
(qemu) q

-- Répétez depuis l'étape 1 pour toutes les VM

Configuration des permissions de capture

Pour qu'un utilisateur non root puisse capturer des paquets, Dumpcap a besoin de privilèges de capture. (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

La commande suivante peut activer cela pour vous :

root@kitploit:~
sudo groupadd -g wireshark
sudo usermod -a -G wireshark <your user name>
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Gardez à l'esprit que vous pourriez avoir à vous déconnecter et vous reconnecter ou redémarrer l'hôte pour appliquer les permissions. Si vous ne parvenez pas à capturer des paquets ou si vous obtenez des erreurs liées à dumpcap, vous devez vérifier que les permissions pour vos utilisateurs sont correctement définies et que le chemin de dumpcap est correct.

Configuration de Detux

Les fichiers detux.cfg dans le répertoire principal doivent être configurés. Chaque section VM doit être configurée avec les bons paramètres réseau et les identifiants SSH. Vous pouvez choisir l'utilisateur root/non-root selon vos besoins.

Exécution de Detux

La bibliothèque Detux située dans le répertoire "core" peut être utilisée selon vos besoins d'analyse. Le dépôt contient "detux.py" qui analyse le binaire donné, sauvegarde la pcap dans le dossier pcap et écrit la sortie JSON dans un chemin de fichier spécifié.

Utilisation

root@kitploit:~
usage: detux.py [-h] --sample SAMPLE [--cpu {x86,x86-64,arm,mips,mipsel}]
                [--int {python,perl,sh,bash}] --report REPORT

optional arguments:
  -h, --help            show this help message and exit
  --sample SAMPLE       Sample path (default: None)
  --cpu {x86,x86-64,arm,mips,mipsel}
                        CPU type (default: auto)
  --int {python,perl,sh,bash}
                        Architecture type (default: None)
  --report REPORT       JSON report output path (default: None)

Exemple :

root@kitploit:~
python detux.py --sample test_script/example_binary1 --report reports/example_report1.json

Contributeurs :

  • Vikas Iyengar - Le cerveau ( dudeintheshell , email: [email protected] )
  • Muslim Koser - Réflexions techniques ([email protected])
  • Rahul Binjve - Aide à l'analyse des pcap (@c0dist, twitter)
  • Amey Gat - Aide à l'analyse des pcap (ameygat, [email protected] )

Remerciements

Merci à Aurélien Jarno (@aurel32) (https://www.aurel32.net/) pour les images VM préconstruites.

Télécharger l’outil