# BPFDoor > [!critical] Backdoor Linux Passivo com 5 Anos de Invisibilidade - Telecomúnicações e Governo > BPFDoor é um backdoor Linux de longa duração usado pelo grupo chinês Red Menshen, que permaneceu indetectado em dezenas de organizações por até **5 anos** antes de ser exposto em 2022. Sua característica mais perigosa: **não abre portas de escuta** - usa filtros Berkeley Packet Filter para monitorar passivamente todo o tráfego de rede e ativar apenas ao receber "magic packets" específicos. Impossível detectar via portscans convencionais. ## Visão Geral BPFDoor (MITRE S1161, também conhecido como JustForFun) é um backdoor passivo para Linux e Solaris atribuído ao grupo de espionagem chinês [[red-menshen|Red Menshen]] (também rastreado como Earth Longzhi pela Trend Micro). O malware foi descoberto e exposto públicamente em maio de 2022 pela PwC e pelo pesquisador Kevin Beaumont - mas análise forense revelou amostras em atividade desde pelo menos 2016, representando até 6 anos de operação encoberta em infraestruturas de telecomúnicações, governos e empresas de tecnologia na Ásia, Oriente Médio e África. A inovação técnica central do BPFDoor é o uso de filtros Berkeley Packet Filter (BPF) - o mesmo mecanismo usado por ferramentas legítimas como `tcpdump` - para monitorar passivamente todo o tráfego de rede de um sistema Linux sem abrir uma única porta de escuta. Enquanto scanners de rede, soluções de firewall e ferramentas de detecção de intrusão baseadas em varredura de portas não encontram nada incomum, o BPFDoor monitora silenciosamente todo pacote que atravéssa o sistema. Ao receber um "magic packet" com payload específico em qualquer protocolo (TCP, UDP ou ICMP) e qualquer porta, o malware ativa e estabelece um canal de comunicação - seja um shell local ou uma conexão reversa. O BPFDoor empilha múltiplas técnicas de evasão simultaneamente para permanecer indetectado: sobrescreve seus próprios argumentos de processo em `/proc/PID/cmdline` para mascarar sua presença em listagens `ps`, desabilita o histórico de comandos do shell, apaga artefatos do disco com timestamps manipulados, e usa MUTEX para evitar instâncias duplicadas. O malware é compilado em C com ofuscação de strings e implementa sua própria criptografia RC4 para proteger as comúnicações com o operador. A escala das operações revelada em 2022 foi alarmante: organizações comprometidas incluíam operadoras de telecomúnicações no Oriente Médio, fornecedores de tecnologia na Índia e empresas governamentais na Ásia. O grupo [[red-menshen|Red Menshen]] usou o BPFDoor específicamente para coletar tráfego de SMS e dados de roaming de operadoras de telecomúnicações - informações com alto valor de inteligência para espionagem de Estado. | Campo | Detalhe | |-------|---------| | **Tipo** | Backdoor passivo APT (Linux/Solaris) | | **Linguagem** | C (compilado estático) | | **Primeira versão** | 2016 (estimada por amostras forenses) | | **Status** | Ativo - variantes pós-exposição documentadas em 2023-2024 | | **MITRE ID** | S1161 | | **Plataformas** | Linux, Solaris | | **Alvo principal** | Telecomúnicações, governo, tecnologia - Ásia e Oriente Médio | ## Como Funciona **Implantação em sistemas Linux de produção:** O BPFDoor é colocado em diretórios como `/dev/shm/` ou `/var/run/` com nomes mascarados como processos legítimos (`kdmtmpflush`, `kauditd`, `dbus-srv`). O vetor inicial de comprometimento varia - exploração de serviços públicos e credenciais fracas são os mais prováveis com base nos alvos observados. **Registro de filtro BPF passivo:** Ao iniciar, o malware registra um filtro BPF usando a syscall `bpf()` que inspeciona todos os pacotes TCP, UDP e ICMP que passam pelas interfaces de rede - sem abrir sockets de escuta convencionais visíveis em `netstat` ou `ss`. **Ativação por magic packet:** O operador envia um pacote com payload específico (contendo um número mágico e senha RC4) para qualquer porta do host comprometido. O filtro BPF captura este pacote, o malware válida a assinatura e ativa o canal de comunicação com o operador. **Shell local ou reverso sob demanda:** Dependendo do comando recebido, o BPFDoor pode: iniciar um shell local acessível via bind TCP (com regra iptables temporária adicionada e depois removida), ou estabelecer uma conexão reversa para um IP controlado pelo operador. Ambos os modos permitem execução de comandos arbitrários no host comprometido. **Evasão em camadas:** Sobrescreve `/proc/PID/cmdline` com nome legítimo; sinaliza `SIGTERM` e `SIGHUP` como ignorados (T1564.011) para sobreviver a tentativas de encerramento; apaga arquivos criados com timestomping (T1070.006); usa `prctl(PR_SET_DUMPABLE, 0)` para impedir geração de core dumps que facilitariam análise. **Persistência sem persistência óbvia:** O BPFDoor foi frequentemente instalado em sistemas sem mecanismo tradicional de persistência (cron, systemd) - a implantação era feita em memória ou em sistemas com alta disponibilidade que raramente reinicializavam, com re-implantação manual pelo operador se necessário. ## Attack Flow ```mermaid graph TB A["Comprometimento inicial<br/>RCE ou credenciais fracas<br/>Serviço público exposto"] --> B["Implantação BPFDoor<br/>Binario em /dev/shm<br/>Nome mascarado como processo legit"] B --> C["Filtro BPF registrado<br/>Monitora todo trafego passivamente<br/>T1205.002 Socket Filters"] C --> D["Magic packet recebido<br/>TCP UDP ou ICMP qualquer porta<br/>Indetectavel por portscans"] D --> E["Evasão em camadas<br/>Overwrite cmdline T1036.011<br/>Disable history T1562.003"] E --> F["Shell ativado sob demanda<br/>Regra iptables temporaria<br/>T1562.004 Firewall Modification"] F --> G["Espionagem de longo prazo<br/>Coleta SMS roaming dados<br/>Telecom governo tecnologia"] classDef initial fill:#c0392b,color:#fff classDef implant fill:#8e44ad,color:#fff classDef passive fill:#2980b9,color:#fff classDef evade fill:#7f8c8d,color:#fff classDef shell fill:#e67e22,color:#fff classDef persist fill:#27ae60,color:#fff class A initial class B implant class C,D passive class E evade class F shell class G persist ``` ## Timeline ```mermaid timeline title BPFDoor - Cinco Anos Invisivel 2016 : Primeiras amostras estimadas : BPFDoor implantado em alvos iniciais 2018 : Expansão de operações Red Menshen : Telecomúnicacoes Oriente Medio e Asia 2021 : Pico de atividade documentada : Dezenas de organizacoes comprometidas 2022-05 : Kevin Beaumont e PwC publicam : Exposicao publica das operacoes 2022-06 : Trend Micro atribui ao Earth Longzhi : Análise técnica completa publicada 2022-07 : Variante atualizada com mais ofuscacao : Resposta rapida pos-exposicao 2023 : Novas variantes com criptografia aprimorada : Red Menshen continua operacoes 2024 : Novas amostras detectadas em APAC : Alvos em telecom e governo ``` ## TTPs Mapeados | Tática | Técnica | Uso Específico | |--------|---------|----------------| | Evasão | [[t1205-002-socket-filters\|T1205.002]] | Filtro BPF monitora passivamente todo tráfego sem abrir portas de escuta | | Evasão | [[t1036-011-overwrite-process-arguments\|T1036.011]] | Sobrescreve `/proc/PID/cmdline` para mascarar processo em listagens ps | | Evasão | [[t1036-009-break-process-trees\|T1036.009]] | Manipula árvore de processos para dificultar correlação com processo pai | | Evasão | [[t1562-003-impair-command-history-logging\|T1562.003]] | Desabilita histórico shell (`HISTFILE=/dev/null`) para anti-forense | | Evasão | [[t1564-011-ignore-process-interrupts\|T1564.011]] | Ignora SIGTERM e SIGHUP para resistir a encerramento | | Evasão | [[t1070-006-timestomp\|T1070.006]] | Manipulação de timestamps de arquivos criados pelo malware | | Evasão | [[t1070-004-file-deletion\|T1070.004]] | Deleção de artefatos temporários após uso | | Evasão | [[t1070-indicator-removal\|T1070]] | Remoção geral de indicadores de comprometimento | | Evasão | [[t1480-002-mutual-exclusion\|T1480.002]] | MUTEX para garantir instância única e detectar análise | | Evasão | [[t1480-execution-guardrails\|T1480]] | Guardrails de execução para evitar análise em sandbox | | Evasão | [[t1027-obfuscated-files-or-information\|T1027]] | Ofuscação de strings e binário com criptografia RC4 interna | | Evasão | [[t1562-004-disable-or-modify-system-firewall\|T1562.004]] | Adiciona e remove regras iptables temporárias para shell reverso | | Execução | [[t1059-004-unix-shell\|T1059.004]] | Shell Unix executado sob demanda via ativação por magic packet | ## Grupos que Usam - [[red-menshen|Red Menshen]] (Earth Longzhi) - grupo APT chinês com foco em espionagem de telecomúnicações, governo e tecnologia na Ásia e Oriente Médio ## Relevância LATAM/Brasil O BPFDoor representa uma ameaça direta ao Brasil por múltiplas razões. O Brasil possui uma das maiores infraestruturas de telecomúnicações da América Latina, com operadoras como Claro, Vivo, TIM e Oi operando extensas infraestruturas Linux de produção que correspondem exatamente ao perfil de alvos documentados do [[red-menshen|Red Menshen]]. A característica mais preocupante para o contexto brasileiro é a capacidade do BPFDoor de coletar dados de SMS e roaming de sistemas de telecomúnicações - precisamente os dados que permitem rastrear comúnicações de indivíduos de interesse estratégico. Com o Brasil ocupando papel central em negociações multilaterais (G20, OMC, BRICS) e possuindo relevância geopolítica crescente, representações de governos e executivos de grandes corporações brasileiras são alvos potenciais de espionagem via comprometimento de operadoras. Adicionalmente, o modelo de implantação do BPFDoor em servidores Linux de alta disponibilidade (servidores de banco de dados, servidores web, sistemas de mensageria) é diretamente aplicável à infraestrutura tecnológica do setor financeiro brasileiro (FEBRABAN, BTG Pactual, Itaú, XP Inc.) e de empresas de tecnologia que hospedam dados de alto valor. A natureza passiva do BPFDoor - invisível a portscans e logs de conexão convencionais - exige threat hunting proativo para detecção efetiva. ## Detecção **Fontes de dados recomendadas:** - **Linux Auditd:** Monitorar syscalls `bpf()` por processos não-privilegiados - o uso de filtros BPF por processos que não são ferramentas de rede legítimas (`tcpdump`, `Wireshark`) é anomalia significativa. Regra: `auditctl -a always,exit -F arch=b64 -S bpf -k bpf_filter` - **Telemetria de rede:** Monitorar hosts Linux que recebem pacotes ICMP ou UDP com payloads de tamanho fixo incomum seguidos de conexões de saída imediatas - padrão característico de ativação por magic packet - **Process monitoring:** Alertar para processos que sobrescrevem seus próprios argumentos após inicialização (`/proc/PID/cmdline` modificado) - indicador de T1036.011 - **iptables audit:** Monitorar modificações de regras iptables fora de janelas de manutenção aprovadas - BPFDoor adiciona e remove regras temporariamente (T1562.004) **Regras de detecção:** - Sigma: `lnx_auditd_bpf_filter.yml` - monitoramento de uso de filtros BPF por processos não-kernel - YARA: `BPFDoor.yar` - strings RC4 internas, estruturas de "magic packet" e padrões de syscall (PWC e Trend Micro IoC repositories) - Hunting: verificar processos em `/dev/shm/` ou `/var/run/` com nomes similares a daemons de sistema mas sem link para packages instalados via `dpkg -S` ou `rpm -q` ## Referências - [1](https://attack.mitre.org/software/S1161/) MITRE ATT&CK - S1161 BPFDoor - [2](https://www.pwc.com/gx/en/issues/cybersecurity/cyber-threat-intelligence/red-menshen.html) PwC - Red Menshen BPFDoor Analysis (2022) - [3](https://doublepulsar.com/bpfdoor-an-active-chinese-global-surveillance-tool-54b078f1a896) Kevin Beaumont - BPFDoor: Active Chinese Global Surveillance Tool (2022) - [4](https://www.trendmicro.com/en_us/research/22/f/how-we-uncovered-a-five-year-old-apt-linux-backdoor.html) Trend Micro - Earth Longzhi Five-Year Backdoor (2022) - [5](https://malpedia.caad.fkie.fraunhofer.de/details/elf.bpfdoor) Malpedia - BPFDoor malware family analysis