Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
detux — O Sandbox Linux Multiplataforma | Kitploit
Ferramentas/GitHubGitHub/detuxsandbox/detux
Análise Dinâmica (Sandboxing)Forensia de RedeAnálise ForenseAnálise de Malware
GitHubdetuxsandbox/detux

detux

O Sandbox Linux Multiplataforma

Ver Repositório
266596há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Detux: O Sandbox Linux Multiplataforma

Introdução:

Detux é um sandbox desenvolvido para realizar análise de tráfego de malwares Linux e capturar os IOCs através disso. O hipervisor QEMU é usado para emular Linux (Debian) para várias arquiteturas de CPU.

As seguintes CPUs são atualmente suportadas:

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

Use a versão Live agora: http://detux.org

O que há nesta versão?

Esta versão do Detux contém o script para executar um binário/script Linux em uma arquitetura de CPU especificada. Não se preocupe se você não souber qual a plataforma, está no script, o pacote Magic ajuda a escolher a arquitetura da CPU de forma automatizada. x86 é a versão padrão da CPU, isso pode ser ajustado para uma diferente no arquivo de configuração.

Esta versão fornece o relatório de análise em formato DICT, que pode ser facilmente personalizado para ser inserido em bancos NOSQL.

Um script de exemplo foi fornecido que demonstra o uso da biblioteca do sandbox.

O que há no relatório?

root@kitploit:~
- Análise Estática
    -- Strings básicas extraídas do binário
    -- Informações ELF geradas pelos comandos readelf
    -- o report.py pode ser modificado para adicionar mais comandos de terceiros para analisar o binário e adicionar o resultado ao DICT.

- Análise Dinâmica
    -- Os pcaps capturados são analisados com DPKT para extrair os IOCs e informações legíveis dos pacotes. 

Requisitos

  • Pacotes do sistema

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Bibliotecas Python (Preferível usar ambiente virtual)

    • pexpect
    • paramiko
    • python-magic

Por favor, certifique-se de que os requisitos acima sejam atendidos antes de usar o Detux. Algumas dependências podem variar de SO para SO.

Arquitetura

  • Host (O próprio host pode ser uma VM ou uma máquina bare metal)
    • QEMU
    • dumpcap
    • Scripts DETUX

Arquitetura de Rede

root@kitploit:~
- NIC1 : Esta interface é para acessar o Host
- NIC2 : Interface em ponte com as VMs do Sandbox QEMU. Pode-se redirecionar o tráfego da interface para WHONIX ou REMNUX ou um Gateway personalizado para filtrar/permitir acesso à internet para as VMs em sandbox.

Configuração da VM:

Baixando Imagens de VM Linux

Agradecimentos especiais a aurel que enviou imagens pré-construídas de VM QEMU Debian para todas as arquiteturas de CPU possíveis. As imagens da VM estão localizadas em: https://people.debian.org/~aurel32/qemu/, o mesmo link contém exemplos de comandos para iniciar as imagens da VM.

Você pode usar o seguinte script para baixar automaticamente as imagens da VM para a pasta "qemu" do 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/
Configurando sudoers para execução do qemu

O Detux usa SSH para se comunicar com as VMs e, portanto, isso é atualmente necessário para que as VMs tenham capacidade de rede. Considerando que os binários listados estão no mesmo caminho, você pode adicionar as seguintes linhas ao /etc/sudoers (apenas se você for um usuário não 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

Altere os caminhos para os binários se eles diferirem para você.

Configuração de rede

Adicione a seguinte configuração ao /etc/qemu-ifup, faça backup do original se você já tiver um:

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 é a interface com a qual você deseja que suas VMs estejam em ponte, você pode remover as configurações para eth0 e usar as seguintes configurações em /etc/network/interfaces:

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

Você também pode especificar um endereço estático que você usou para eth0.

Configurando suas VMs

Navegue até a pasta onde as imagens da sua VM estão localizadas para cada imagem QEMU, por exemplo, para ARM é:

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

Para cada imagem, siga as instruções de inicialização da VM fornecidas em "https://people.debian.org/~aurel32/", para iniciar a VM. No entanto, se você for um usuário não root, terá que usar sudo.

Comandos para inicializar as VMs (Substitua pelo MAC desejado):

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

O Detux requer um snapshot de VM pré-configurado com endereços IP e configuração SSH.

Passos para configurar seu snapshot:
  • Escolha uma imagem de VM não configurada e inicie-a usando o comando listado acima em um Terminal.
  • Conecte o monitor da VM. Conecte um cliente VNC a 127.0.0.1:5901 e aguarde a VM inicializar completamente.
  • Faça login com as credenciais padrão de root (root/root).
  • Configure a interface de rede da VM para que ela seja acessível ao host.
  • Configure o servidor SSH na VM e qualquer outra configuração se necessário para você.
  • Uma vez configurada, inicialize para um estado em execução que aceite conexão de rede.
  • Volte ao terminal com o console qemu ativo, que deve se parecer com:
root@kitploit:~
(qemu)
  • Salve o estado da VM digitando os seguintes comandos qemu no console qemu:
root@kitploit:~
(qemu) savevm init
  • Saia do console QEMU:
root@kitploit:~
(qemu) q

-- Repita a partir do passo 1 para todas as VMs

Configurando permissões de captura

Para que um usuário não root possa capturar pacotes, o Dumpcap precisa de privilégios de captura. (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

O seguinte comando pode ativar isso para você:

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

Lembre-se de que você pode ter que sair e entrar novamente ou reiniciar o host para aplicar as permissões. Se você não conseguir capturar pacotes ou receber erros relacionados ao dumpcap, você precisa verificar se as permissões para seus usuários estão definidas corretamente e se o caminho do dumpcap está correto.

Configuração do Detux

O arquivo detux.cfg no diretório principal precisa ser configurado. Cada seção de VM deve ser configurada com os Parâmetros de Rede e credenciais SSH corretos. Você pode escolher usuário root/não root dependendo da sua necessidade.

Executando o Detux

A biblioteca Detux localizada no diretório "core" pode ser usada para atender à sua necessidade de análise. O repositório contém "detux.py" que analisa o binário fornecido e salva o pcap na pasta pcap e escreve a saída JSON em um caminho de arquivo especificado.

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)

Exemplo:

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

Contribuidores:

  • Vikas Iyengar - O cérebro ( dudeintheshell , email: [email protected] )
  • Muslim Koser - Trabalhos de pensamento técnico ([email protected])
  • Rahul Binjve - Ajuda na análise de pcap (@c0dist, twitter)
  • Amey Gat - Ajuda na análise de pcap (ameygat, [email protected] )

Agradecimentos

Agradecimentos a Aurélien Jarno (@aurel32) (https://www.aurel32.net/) pelas imagens de VM pré-construídas.

Baixar ferramenta