SOC Prime Bias: Crítico

09 Apr 2026 15:14 UTC

Novo Whitepaper: Variantes do BPFDoor Se Escondem à Vista Desarmada

Author Photo
SOC Prime Team linkedin icon Seguir
Novo Whitepaper: Variantes do BPFDoor Se Escondem à Vista Desarmada
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Os laboratórios Rapid7 identificaram sete novas variantes do BPFDoor que abusam dos Filtros de Pacotes Berkeley em nível de kernel para manter acesso furtivo de backdoor em ambientes de telecomunicações. As novas famílias, httpShell e icmpShell, usam tunneling stateless ICMP e HTTP com formatos de pacote “mágicos” e campos de IP ocultos para estabelecer um comando e controle com uma pegada minimamente observável. O relatório explica como os implantes visam permanecer quase invisíveis através de mascaramento de processo, limpeza de descritores de arquivos, manipulação de timestamps e comunicações ICMP criptografadas.

Investigação

Pesquisadores analisaram quase 300 amostras e extraíram novos traços de bytecode BPF, novos marcadores de “magic byte” e nomes de processos específicos de variantes, como hpasmlited e cmathreshd. A validação em laboratório no Docker reproduziu o tunneling PTY dirigido por ICMP, troca de payload criptografada com RC4 e um comportamento de roteamento onde uma bandeira -1 retorna o tráfego de volta ao endereço de origem do pacote. A equipe também descobriu infraestrutura de suporte, incluindo domínios disfarçados como serviços NTP-sobre-SSL usados para mesclar tráfego de estágio e controle.

Mitigação

Priorize telometria que expõe abuso adjacente ao kernel: monitore a criação de sockets AF_PACKET, detecte anexação de filtro BPF e procure anomalias de protocolo vinculadas a essas variantes, incluindo sequência ICMP 1234 e um código ICMP inválido 1. Alerte sobre daemons suspeitos com caminhos de executáveis ausentes, nomes de serviços falsificados ou características de runtime inconsistentes com processos do sistema legítimos. A Rapid7 recomenda executar o script de triagem rapid7_bpfdoor_check.sh e atualizar as detecções YARA/Suricata com as novas assinaturas de magic-byte documentadas.

Resposta

Se indicadores forem encontrados, isole o sistema, interrompa o processo de implante suspeito e bloqueie os domínios e faixas de IP associados. Capture artefatos de memória e disco para preservar o estado BPF e evidências de runtime, depois use o rapid7_bpfdoor_check.sh para identificar filtros BPF ativos e artefatos de mutex de zero byte relacionados. Finalmente, atualize as detecções com as assinaturas publicadas e continue monitorando para o reaparecimento dos mesmos marcadores de pacotes, nomes de processos e comportamentos de anexação de filtro.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telometria & Baseline deve ter passado.

Narrativa do Ataque & Comandos

  1. Crie um script Bash malicioso no caminho raramente monitorado /var/run/user/0.
  2. Torne o script executável e então delete o arquivo enquanto mantém aberto, resultando em um inode deletado que o kernel registra como parte da linha de comando quando o processo continua a ser executado.
  3. Execute o descritor de arquivo pendente, fazendo com que o processo execute a partir de um inode deletado e gerando a telometria exata que a regra Sigma procura.
  4. Verifique que a linha de comando do processo nos logs de auditoria contenha a string “inode deletado”, satisfazendo seleção3.
  5. Evite as strings de disfarce excluídas (hpasmlited, cmathreshd) para garantir que a regra seja acionada.

Script de Teste de Regressão

#!/usr/bin/env bash
# -------------------------------------------------
# Teste de execução de inode-deletado ao estilo BPFDoor
# -------------------------------------------------
# 1. Prepare um payload malicioso (inofensivo)
PAYLOAD="/var/run/user/0/malicious.sh"
echo -e "#!/usr/bin/env bashnsleep 60" > "$PAYLOAD"
chmod +x "$PAYLOAD"
# 2. Abra o descritor de arquivo (mantenha o arquivo aberto)
exec 3<"$PAYLOAD"
# 3. Delete o arquivo do sistema de arquivos – o inode permanece aberto via FD 3
rm -f "$PAYLOAD"
# 4. Execute o script via seu descritor de arquivo pendente.
#    O link simbólico /proc/self/fd/3 aponta para o inode agora deletado.
bash /proc/self/fd/3 &
# 5. Dê um momento para o processo iniciar e ser registrado
sleep 5
# 6. Limpeza: feche o descritor de arquivo
exec 3<&-
echo "Simulação completada – verifique SIEM para alertas."

Comandos de Limpeza

#!/usr/bin/env bash
# -------------------------------------------------
# Limpeza após simulação BPFDoor
# -------------------------------------------------
# Mate qualquer processo de sono restante iniciado pelo script
pkill -f "sleep 60"
# Certifique-se de que não há arquivos sobrando no diretório de destino
rm -f /var/run/user/0/malicious.sh
echo "Limpeza finalizada."

Fim do Relatório