Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/detuxsandbox/detux
Análisis Dinámico (Sandboxing)Forensia de RedAnálisis ForenseAnálisis de Malware
GitHubdetuxsandbox/detux

detux

El Sandbox Linux Multiplataforma

Ver Repositorio
266596hace 8 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Detux: El Sandbox Multiplataforma para Linux

Introducción:

Detux es un sandbox desarrollado para realizar análisis de tráfico de malware Linux y capturar los IOCs mediante dicho análisis. Se utiliza el hipervisor QEMU para emular Linux (Debian) para varias arquitecturas de CPU.

Actualmente se soportan las siguientes CPUs:

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

Use la versión en vivo ahora: http://detux.org

¿Qué hay en esta versión?

Esta versión de Detux contiene el script para ejecutar un binario/script de Linux en una arquitectura de CPU específica. No se preocupe si no sabe qué plataforma es, está en el script, el paquete Magic ayuda a detectar la arquitectura de la CPU de forma automatizada. x86 es la versión de CPU por defecto, esto se puede ajustar a una diferente en el archivo de configuración.

Esta versión proporciona el informe de análisis en un formato DICT, que se puede personalizar fácilmente para insertarlo en bases de datos NOSQL.

Se ha proporcionado un script de ejemplo que demuestra el uso de la librería del sandbox.

¿Qué contiene el informe?

root@kitploit:~
- Análisis Estático
    -- Cadenas básicas extraídas del binario
    -- Información ELF generada por los comandos readelf
    -- report.py se puede modificar para añadir más comandos de terceros para analizar el binario y añadir el resultado al DICT.

- Análisis Dinámico
    -- Los pcaps capturados se analizan con DPKT para extraer los IOCs e información legible de los paquetes.

Requisitos

  • Paquetes del sistema

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Librerías Python (Preferible usar un entorno virtual)

    • pexpect
    • paramiko
    • python-magic

Asegúrese de cumplir con los requisitos anteriores antes de usar Detux. Algunas dependencias pueden variar de un sistema operativo a otro.

Arquitectura

  • Anfitrión (El anfitrión puede ser una VM o una máquina física)
    • QEMU
    • dumpcap
    • Scripts de DETUX

Arquitectura de Red

root@kitploit:~
- NIC1 : Esta interfaz es para acceder al Anfitrión
- NIC2 : Interfaz puenteada con las VMs del Sandbox QEMU. Se puede redirigir el tráfico de la interfaz a WHONIX, REMNUX o una Puerta de Enlace personalizada para filtrar/permitir el acceso a Internet para las VMs del Sandbox.

Configuración de las VMs:

Descarga de Imágenes de VM Linux

Agradecimientos especiales a aurel quien ha subido imágenes preconstruidas de VM QEMU Debian para todas las arquitecturas de CPU posibles. Las imágenes de VM se encuentran en: https://people.debian.org/~aurel32/qemu/, el mismo enlace contiene ejemplos de comandos para invocar las imágenes de VM.

Puede usar el siguiente script para descargar automáticamente las imágenes de VM a la carpeta "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/
Configuración de sudoers para la ejecución de qemu

Detux usa SSH para comunicarse con las VMs, por lo tanto, esto es necesario actualmente para que las VMs tengan capacidad de red. Considerando que los binarios listados están en la misma ruta, puede añadir las siguientes líneas a /etc/sudoers (solo si es un usuario no root):

root@kitploit:~
Cmnd_Alias  QEMU_CMD    =   /usr/bin/qemu-*, /sbin/ip, /sbin/ifconfig, /sbin/brctl
<nombre de usuario de detux aquí> ALL = (ALL) NOPASSWD: QEMU_CMD

Cambie las rutas a los binarios si difieren para usted.

Configuración de red

Añada la siguiente configuración a /etc/qemu-ifup, haga una copia de seguridad del original si ya tiene 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

Considerando que eth0 es la interfaz con la que desea puentear sus VMs, puede eliminar las configuraciones para eth0 y usar las siguientes configuraciones en /etc/network/interfaces:

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

También puede especificar una dirección estática que usaba para eth0.

Configuración de sus VMs

Navegue hasta la carpeta donde se encuentran las imágenes de su VM para cada Imagen QEMU, por ejemplo, para ARM es:

root@kitploit:~
<su carpeta detux>/qemu/arm/1/

Para cada imagen, siga las instrucciones de arranque de VM dadas en "https://people.debian.org/~aurel32/", para iniciar la VM. Sin embargo, si es un usuario no root, deberá usar sudo.

Comandos para Arrancar las VMs (Reemplace con la MAC que desee):

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 requiere una instantánea de VM preconfigurada con direcciones IP y configuración SSH.

Pasos para configurar su instantánea:
  • Elija una imagen de VM no configurada e iníciela usando el comando listado anteriormente en una Terminal.
  • Conecte el monitor de la VM. Conecte un cliente VNC a 127.0.0.1:5901 y espere a que la VM arranque completamente.
  • Inicie sesión con las credenciales root por defecto (root/root).
  • Configure la interfaz de red de la VM para que sea alcanzable/accesible desde el anfitrión.
  • Configure el servidor SSH en la VM y cualquier otra configuración si es necesaria para usted.
  • Una vez configurada, arranque a un estado de ejecución que acepte conexiones de red.
  • Vuelva a la terminal con la consola qemu activa, que debería verse así:
root@kitploit:~
(qemu)
  • Guarde el estado de la VM escribiendo los siguientes comandos qemu en la consola qemu:
root@kitploit:~
(qemu) savevm init
  • Salga de la consola QEMU:
root@kitploit:~
(qemu) q
  • Repita desde el paso 1 para todas las VMs
Configuración de permisos de captura

Para que un usuario no root pueda capturar paquetes, Dumpcap necesita privilegios de captura. (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

El siguiente comando puede habilitar esto para usted:

root@kitploit:~
sudo groupadd -g wireshark
sudo usermod -a -G wireshark <su nombre de usuario>
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Tenga en cuenta que es posible que tenga que cerrar sesión y volver a iniciarla o reiniciar el anfitrión para aplicar los permisos. Si no puede capturar paquetes o recibe errores relacionados con dumpcap, debe verificar que los permisos para sus usuarios estén configurados correctamente y que la ruta de dumpcap sea la correcta.

Configuración de Detux

El archivo detux.cfg en el directorio principal debe configurarse. Cada sección de VM debe configurarse con los Parámetros de Red y las credenciales SSH correctos. Puede elegir usuario root/no root según su necesidad.

Ejecución de Detux

La librería Detux ubicada en el directorio "core" se puede utilizar para adaptarse a su necesidad de análisis. El repositorio contiene "detux.py" que analiza el binario dado, guarda el pcap en la carpeta pcap y escribe la salida JSON en una ruta de archivo especificada.

Uso

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)

Ejemplo:

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

Contribuyentes:

  • Vikas Iyengar - El cerebro ( dudeintheshell , email: [email protected] )
  • Muslim Koser - Trabajo técnico ([email protected])
  • Rahul Binjve - Ayuda en el análisis de pcap (@c0dist, twitter)
  • Amey Gat - Ayuda en el análisis de pcap (ameygat, [email protected] )

Agradecimientos

Gracias a Aurélien Jarno (@aurel32) (https://www.aurel32.net/) por las imágenes de VM preconstruidas.

Descargar herramienta