Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/detuxsandbox/detux
Analisi Dinamica (Sandboxing)Network ForensicsInformatica ForenseAnalisi Malware
GitHubdetuxsandbox/detux

detux

La sandbox Linux multipiattaforma

Vedi Repository
266598 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Detux: La Sandbox Linux Multipiattaforma

Introduzione:

Detux è una sandbox sviluppata per l'analisi del traffico dei malware Linux e la cattura degli IOC tramite tale analisi. L'hypervisor QEMU viene utilizzato per emulare Linux (Debian) per varie architetture CPU.

Attualmente sono supportate le seguenti CPU:

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

Usa ora la versione Live: http://detux.org

Cosa c'è in questa versione?

Questa versione di Detux contiene lo script per eseguire un binario/script Linux in una specifica architettura CPU. Non preoccuparti se non conosci la piattaforma, è nello script; il pacchetto Magic aiuta a rilevare l'architettura CPU in modo automatico. x86 è la versione CPU predefinita, ma può essere modificata in una diversa nel file di configurazione.

Questa versione fornisce il report di analisi in formato DICT, facilmente personalizzabile per essere inserito in database NOSQL.

È stato fornito uno script di esempio che dimostra l'uso della libreria della sandbox.

Cosa c'è nel report?

root@kitploit:~
- Analisi Statica
    -- Stringhe di base estratte dal binario
    -- Informazioni ELF generate dai comandi readelf
    -- report.py può essere modificato per aggiungere ulteriori comandi di terze parti per analizzare il binario e aggiungere il risultato al DICT.

- Analisi Dinamica
    -- I pcap catturati vengono analizzati con DPKT per estrarre gli IOC e informazioni leggibili dai pacchetti.

Requisiti

  • Pacchetti di sistema

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Librerie Python (preferibile usare un ambiente virtuale)

    • pexpect
    • paramiko
    • python-magic

Assicurati che i requisiti sopra elencati siano soddisfatti prima di usare Detux. Alcune dipendenze possono variare da sistema operativo a sistema operativo.

Architettura

  • Host (l'host stesso può essere una VM o una macchina bare metal)
    • QEMU
    • dumpcap
    • Script DETUX

Architettura di Rete

root@kitploit:~
- NIC1: Questa interfaccia è per l'accesso all'Host
- NIC2: Interfaccia bridge con le VM sandbox QEMU. È possibile reindirizzare il traffico dall'interfaccia verso WHONIX o REMNUX o un Gateway personalizzato per filtrare/consentire l'accesso a Internet per le VM sandbox.

Configurazione delle VM:

Download delle immagini VM Linux

Un ringraziamento speciale ad aurel che ha caricato immagini VM QEMU Debian pre-costruite per tutte le possibili architetture CPU. Le immagini VM si trovano su: https://people.debian.org/~aurel32/qemu/, lo stesso link contiene esempi di comandi per avviare le immagini VM.

Puoi usare il seguente script per scaricare automaticamente le immagini VM nella cartella "qemu" di 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/
Impostazione dei sudoers per l'esecuzione di qemu

Detux usa SSH per comunicare con le VM, quindi è attualmente necessario che le VM abbiano capacità di rete. Considerando che i binari elencati si trovano nello stesso percorso, puoi aggiungere le seguenti righe a /etc/sudoers (solo se sei un utente non root):

root@kitploit:~
Cmnd_Alias  QEMU_CMD    =   /usr/bin/qemu-*, /sbin/ip, /sbin/ifconfig, /sbin/brctl
<il tuo nome utente detux qui> ALL = (ALL) NOPASSWD: QEMU_CMD

Modifica i percorsi dei binari se differiscono per te.

Configurazione di rete

Aggiungi la seguente configurazione a /etc/qemu-ifup, fai un backup dell'originale se ne hai già uno:

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

Supponendo che eth0 sia l'interfaccia a cui vuoi collegare le tue VM in bridge, puoi rimuovere le configurazioni per eth0 e usare le seguenti in /etc/network/interfaces:

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

Puoi anche specificare un indirizzo statico che usavi per eth0.

Configurazione delle tue VM

Spostati nella cartella in cui si trovano le immagini VM per ciascuna immagine QEMU, ad esempio per ARM:

root@kitploit:~
<la tua cartella detux>/qemu/arm/1/

Per ogni immagine, segui le istruzioni di avvio della VM fornite su "https://people.debian.org/~aurel32/", per avviare la VM. Tuttavia, se sei un utente non root, dovrai usare sudo.

Comandi per l'avvio delle VM (Sostituisci con il MAC desiderato):

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 richiede uno snapshot VM preconfigurato con indirizzi IP e configurazione SSH.

Passaggi per configurare il tuo snapshot:
  • Scegli un'immagine VM non configurata e avvia usando il comando sopra elencato in un Terminale.
  • Connetti il monitor della VM. Collega un client VNC a 127.0.0.1:5901 e attendi che la VM si avvii completamente.
  • Accedi con le credenziali di root predefinite (root/root).
  • Configura l'interfaccia di rete della VM in modo che sia raggiungibile/accessibile all'host.
  • Imposta il server SSH sulla VM e qualsiasi altra configurazione se necessario.
  • Una volta configurato, avvia la VM in uno stato operativo che accetti connessioni di rete.
  • Torna al terminale con la console qemu attiva, che dovrebbe apparire come:
root@kitploit:~
(qemu)
  • Salva lo stato della VM digitando i seguenti comandi qemu nella console qemu:
root@kitploit:~
(qemu) savevm init
  • Esci dalla console QEMU:
root@kitploit:~
(qemu) q

-- Ripeti dal passo 1 per tutte le VM

Impostazione dei permessi di cattura

Affinché un utente non root possa catturare pacchetti, Dumpcap necessita di privilegi di cattura. (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

Il seguente comando potrebbe abilitare la stessa cosa per te:

root@kitploit:~
sudo groupadd -g wireshark
sudo usermod -a -G wireshark <il tuo nome utente>
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Tieni presente che potresti dover effettuare il logout e il login di nuovo o riavviare l'host per applicare i permessi. Se non riesci a catturare pacchetti o ottieni errori relativi a dumpcap, devi verificare che i permessi per i tuoi utenti siano impostati correttamente e che il percorso di dumpcap sia giusto.

Configurazione di Detux

Il file detux.cfg nella directory principale deve essere configurato. Ogni sezione VM deve essere configurata con i corretti parametri di rete e credenziali SSH. Puoi scegliere un utente root/non-root a seconda delle tue esigenze.

Esecuzione di Detux

La libreria Detux situata nella directory "core" può essere utilizzata per adattarla alle tue esigenze di analisi. Il repository contiene "detux.py" che analizza il binario fornito e salva il pcap nella cartella pcap e scrive l'output JSON in un percorso file specificato.

Utilizzo

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            mostra questo messaggio di aiuto ed esce
  --sample SAMPLE       Percorso del campione (default: None)
  --cpu {x86,x86-64,arm,mips,mipsel}
                        Tipo di CPU (default: auto)
  --int {python,perl,sh,bash}
                        Tipo di architettura (default: None)
  --report REPORT       Percorso di output del report JSON (default: None)

Esempio:

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

Collaboratori:

  • Vikas Iyengar – Il cervello ( dudeintheshell , email: [email protected] )
  • Muslim Koser – Pensiero tecnico ([email protected])
  • Rahul Binjve – Aiuto nel parsing dei pcap (@c0dist, twitter)
  • Amey Gat – Aiuto nel parsing dei pcap (ameygat, [email protected] )

Ringraziamenti

Grazie ad Aurélien Jarno (@aurel32) (https://www.aurel32.net/) per le immagini VM pre-costruite.

Scarica lo strumento