Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
detux — Die Multiplattform-Linux-Sandbox | Kitploit
Tools/GitHubGitHub/detuxsandbox/detux
Dynamische Analyse (Sandboxing)NetzwerkforensikForensikMalware-Analyse
GitHubdetuxsandbox/detux

detux

Die Multiplattform-Linux-Sandbox

Repository anzeigen
26659vor 8 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Detux: Die Multiplattform-Linux-Sandbox

Einleitung:

Detux ist eine Sandbox, die entwickelt wurde, um den Datenverkehr von Linux-Schadsoftware zu analysieren und dabei die IOCs zu erfassen. Der QEMU-Hypervisor wird verwendet, um Linux (Debian) für verschiedene CPU-Architekturen zu emulieren.

Die folgenden CPUs werden derzeit unterstützt:

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

Nutzen Sie die Live-Version jetzt: http://detux.org

Was ist in dieser Version enthalten?

Diese Version von Detux enthält das Skript zum Ausführen eines Linux-Binärprogramms/-Skripts in einer bestimmten CPU-Architektur. Keine Sorge, falls Sie die Plattform nicht kennen – sie ist im Skript enthalten. Das Magic-Paket hilft dabei, die CPU-Architektur automatisch zu erkennen. x86 ist die Standard-CPU-Version, die in der Konfigurationsdatei auf eine andere umgestellt werden kann.

Diese Version gibt den Analysebericht im DICT-Format aus, der leicht angepasst werden kann, um in NOSQL-Datenbanken eingefügt zu werden.

Ein Beispielskript wird bereitgestellt, das die Verwendung der Sandbox-Bibliothek demonstriert.

Was ist im Bericht enthalten?

root@kitploit:~
- Statische Analyse
    -- Aus dem Binärprogramm extrahierte Basis-Strings
    -- ELF-Informationen, die durch readelf-Befehle generiert wurden
    -- report.py kann modifiziert werden, um weitere Drittanbieter-Befehle zur Analyse des Binärprogramms hinzuzufügen und das Ergebnis zum DICT hinzuzufügen.

- Dynamische Analyse
    -- Die erfassten PCAPs werden mit DPKT geparst, um die IOCs und lesbare Informationen aus den Paketen zu extrahieren.

Anforderungen

  • Systempakete

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Python-Bibliotheken (vorzugsweise virtuelle Umgebung verwenden)

    • pexpect
    • paramiko
    • python-magic

Bitte stellen Sie sicher, dass die oben genannten Anforderungen vor der Verwendung von Detux erfüllt sind. Einige Abhängigkeiten können je nach Betriebssystem variieren.

Architektur

  • Host (Der Host selbst kann eine VM oder eine Bare-Metal-Maschine sein)
    • QEMU
    • dumpcap
    • DETUX Scripts

Netzwerkarchitektur

root@kitploit:~
- NIC1 : Dieses Interface dient dem Zugriff auf den Host
- NIC2 : Mit den QEMU-Sandbox-VMs gebrücktes Interface. Man kann den Verkehr vom Interface zu WHONIX oder REMNUX oder einem benutzerdefinierten Gateway umleiten, um den Internetzugriff für die sandboxierten VMs zu filtern/zu erlauben.

VM-Einrichtung:

Herunterladen von Linux-VM-Images

Besonderer Dank gilt aurel, der vorgefertigte QEMU-Debian-VM-Images für alle möglichen CPU-Architekturen hochgeladen hat. Die VM-Images befinden sich unter: https://people.debian.org/~aurel32/qemu/, derselbe Link enthält die Befehlsbeispiele zum Starten der VM-Images.

Sie können das folgende Skript verwenden, um die VM-Images automatisch in den Ordner "qemu" von Detux herunterzuladen.

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/
Konfiguration von sudoers für die QEMU-Ausführung

Detux verwendet SSH zur Kommunikation mit den VMs, daher wird dies derzeit benötigt, damit die VMs Netzwerkfähigkeit haben. Angenommen, die aufgeführten Binärprogramme befinden sich im selben Pfad, können Sie die folgenden Zeilen zu /etc/sudoers hinzufügen (nur wenn Sie kein Root-Benutzer sind):

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

Ändern Sie die Pfade zu den Binärprogrammen, falls diese bei Ihnen abweichen.

Netzwerkeinrichtung

Fügen Sie die folgende Konfiguration zu /etc/qemu-ifup hinzu, sichern Sie das Original, falls Sie bereits eines haben:

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

Angenommen, eth0 ist das Interface, mit dem Ihre VMs gebrückt werden sollen, können Sie die Konfigurationen für eth0 entfernen und die folgenden Konfigurationen in /etc/network/interfaces verwenden:

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

Sie können auch eine statische Adresse angeben, die Sie für eth0 verwendet haben.

Einrichten Ihrer VMs

Navigieren Sie zu dem Ordner, in dem sich Ihre VM-Images für jedes QEMU-Image befinden, z.B. für ARM:

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

Folgen Sie für jedes Image den VM-Startanweisungen unter "https://people.debian.org/~aurel32/", um die VM zu starten. Wenn Sie jedoch kein Root-Benutzer sind, müssen Sie sudo verwenden.

Befehle zum Starten der VMs (Ersetzen Sie durch die gewünschte MAC-Adresse):

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 erfordert einen vorkonfigurierten VM-Snapshot mit IP-Adressen und SSH-Einrichtung.

Schritte zum Einrichten Ihres Snapshots:
  • Wählen Sie ein nicht konfiguriertes VM-Image aus und starten Sie es mit dem oben aufgeführten Befehl in einem Terminal.
  • Verbinden Sie den VM-Monitor. Verbinden Sie einen VNC-Client mit 127.0.0.1:5901 und warten Sie, bis die VM vollständig hochgefahren ist.
  • Melden Sie sich mit den Standard-Root-Anmeldedaten an (root/root).
  • Konfigurieren Sie das Netzwerk-Interface der VM so, dass es für den Host erreichbar/zugänglich ist.
  • Richten Sie den SSH-Server auf der VM und ggf. weitere Konfigurationen ein.
  • Starten Sie die VM nach der Konfiguration in einen laufenden Zustand, der Netzwerkverbindungen akzeptiert.
  • Wechseln Sie zurück zum Terminal mit der eingeschalteten QEMU-Konsole, die wie folgt aussehen sollte:
root@kitploit:~
(qemu)
  • Speichern Sie den VM-Zustand, indem Sie die folgenden QEMU-Befehle in der QEMU-Konsole eingeben:
root@kitploit:~
(qemu) savevm init
  • Beenden Sie die QEMU-Konsole:
root@kitploit:~
(qemu) q

-- Wiederholen Sie ab Schritt 1 für alle VMs

Festlegen der Aufnahmeberechtigungen

Damit ein Nicht-Root-Benutzer Pakete erfassen kann, benötigt Dumpcap Aufnahmeberechtigungen. (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

Der folgende Befehl kann dies für Sie ermöglichen:

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

Beachten Sie, dass Sie sich möglicherweise ab- und wieder anmelden oder den Host neu starten müssen, um die Berechtigungen anzuwenden. Wenn Sie keine Pakete erfassen können oder Fehler im Zusammenhang mit dumpcap erhalten, müssen Sie prüfen, ob die Berechtigungen für Ihre Benutzer korrekt gesetzt sind und der dumpcap-Pfad stimmt.

Detux-Konfiguration

Die Datei detux.cfg im Hauptverzeichnis muss konfiguriert werden. Jeder VM-Abschnitt muss mit den korrekten Netzwerkparametern und SSH-Anmeldedaten konfiguriert werden. Sie können je nach Bedarf einen Root- oder Nicht-Root-Benutzer wählen.

Ausführen von Detux

Die Detux-Bibliothek im Verzeichnis "core" kann je nach Analysebedarf verwendet werden. Das Repository enthält "detux.py", das das angegebene Binärprogramm analysiert, die PCAP im pcap-Ordner speichert und die JSON-Ausgabe an einen angegebenen Dateipfad schreibt.

Verwendung

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)

Beispiel:

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

Mitwirkende:

  • Vikas Iyengar - Der Kopf ( dudeintheshell , E-Mail: [email protected] )
  • Muslim Koser - Technische Gedankenarbeit ([email protected])
  • Rahul Binjve - Hilfe beim PCAP-Parsing (@c0dist, Twitter)
  • Amey Gat - Hilfe beim PCAP-Parsing (ameygat, [email protected] )

Danksagung

Dank an Aurélien Jarno (@aurel32) (https://www.aurel32.net/) für die vorgebauten VM-Images.

Tool herunterladen