Falha Dirty Frag em Linux Aumenta o Risco Pós-Comprometimento
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Dirty Frag refere-se a falhas de escalonamento de privilégios locais no Linux rastreadas como CVE-2026-43284 and CVE-2026-43500 que permitem a um usuário de baixa privilegiatura obter acesso root abusando de componentes de rede e manipulação de fragmentos de memória do kernel, incluindo esp4, esp6, e rxrpc. O exploit foi observado em ataques no mundo real onde adversários primeiramente ganham uma posição inicial através de acesso SSH, web shells, escapadas de contêineres ou contas de serviço comprometidas, e então acionam a vulnerabilidade com um binário ELF que invoca o su comando. Uma vez que os privilégios de root são obtidos, os atacantes podem desativar controles de segurança, alterar logs, mover-se lateralmente e estabelecer persistência a longo prazo. O relatório descreve uma campanha limitada, mas ativa, usando esta técnica.
Investigação
Pesquisadores do Microsoft Defender observaram uma cadeia de intrusão passo a passo na qual um ator externo primeiro ganhou acesso SSH, abriu um shell interativo, e preparou um binário ELF chamado ./update. Esse binário imediatamente invocou su para escalar privilégios, após o qual o atacante modificou um arquivo de autenticação GLPI LDAP, enumerou diretórios GLPI, deletou e leu arquivos de sessão PHP, e exfiltrou dados de sessão. A atividade estava alinhada com alertas do Microsoft Defender ligados a execução SUID e SGID suspeitas e potencial exploração do Dirty Frag. A investigação permanece em andamento enquanto os pesquisadores continuam revisando novas telemetrias.
Mitigação
Atualizações de segurança para CVE-2026-43284 foram lançadas em 8 de maio de 2026, enquanto uma correção para CVE-2026-43500 não estava disponível no momento do relato. Mitigações recomendadas incluem desativar os módulos vulneráveis do kernel rxrpc, esp4, e esp6 através da configuração do modprobe , reduzir acesso local desnecessário ao shell, reforçar workloads em contêineres, e limpar caches de páginas após tentativas de exploração suspeitas. As organizações também devem priorizar a implantação de patches do kernel e verificar a integridade de arquivos críticos após qualquer suspeita de comprometimento.
Resposta
Os defensores devem detectar o uso incomum do su comando, carregamento dos esp4, esp6, ou rxrpc módulos, e execução de binários ELF desconhecidos em contextos privilegiados. Aplicar rapidamente as últimas atualizações do kernel continua sendo crítico. Controles adicionais devem incluir a aplicação de privilégios mínimos para contas locais, melhor gerenciamento de chaves SSH, e monitoramento de integridade de arquivos para arquivos sensíveis, como configurações de autenticação GLPI LDAP. Se a exploração for suspeita, equipes devem limpar caches, descarregar os módulos afetados, e realizar análise forense tanto de artefatos de memória quanto do sistema de arquivos.
"graph TB %% Class Definitions Section classDef action fill:#99ccff %% Azul para nós de ação classDef builtin fill:#cccccc %% Cinza para ferramentas, malware, vulnerabilidades, arquivos %% Node Definitions initial_access["<b>Ação</b> – <b>T1078 Contas Válidas</b><br/><b>Descrição</b>: Usar credenciais SSH comprometidas para obter um shell interativo no host Linux."] class initial_access action execution_unix_shell["<b>Ação</b> – <b>T1059.004 Shell Unix</b><br/><b>Descrição</b>: Executar um binário ELF malicioso (./update) via o shell Unix."] class execution_unix_shell action priv_esc_exploit["<b>Ação</b> – <b>T1068 Exploração para Escalamento de Privilégio</b><br/><b>Descrição</b>: Explorar a vulnerabilidade Dirtyu202fFrag do kernel (CVEu20112026u201143284 / CVEu20112026u201143500) para obter privilégios de root."] class priv_esc_exploit action credential_harvest["<b>Ação</b> – <b>T1552.001 Credenciais em Arquivos</b><br/><b>Descrição</b>: Modificar o arquivo de autenticação GLPI LDAP para coletar credenciais armazenadas."] class credential_harvest action defense_evasion["<b>Ação</b> – <b>T1070.004 Exclusão de Arquivo</b><br/><b>Descrição</b>: Excluir arquivos de sessão PHP para apagar evidências e interromper sessões ativas."] class defense_evasion action tool_ssh["<b>Ferramenta</b> – <b>Nome</b>: SSH<br/><b>Descrição</b>: Protocolo de login remoto usado com credenciais roubadas."] class tool_ssh builtin malware_update["<b>Malware</b> – <b>Nome</b>: update (binário ELF)<br/><b>Descrição</b>: Executável malicioso usado para acionar o escalamento de privilégio."] class malware_update builtin vuln_dirtyfrag["<b>Vulnerabilidade</b> – <b>Nome</b>: Dirtyu202fFrag (CVEu20112026u201143284 / CVEu20112026u201143500)<br/><b>Descrição</b>: Bug de corrupção de memória do kernel que permite o escalamento de privilégio local."] class vuln_dirtyfrag builtin file_glpi["<b>Arquivo</b> – <b>Nome</b>: Configuração de autenticação LDAP do GLPI<br/><b>Caminho</b>: /etc/glpi/ldap.conf"] class file_glpi builtin file_sessions["<b>Arquivo</b> – <b>Nome</b>: Arquivos de sessão PHP<br/><b>Localização</b>: /var/lib/php/sessions/"] class file_sessions builtin %% Conexões Mostrando o Fluxo de Ataque initial_access –>|usa| tool_ssh tool_ssh –>|fornece shell para| execution_unix_shell execution_unix_shell –>|executa| malware_update malware_update –>|explora| vuln_dirtyfrag vuln_dirtyfrag –>|permite| priv_esc_exploit priv_esc_exploit –>|modifica| file_glpi file_glpi –>|permite| credential_harvest credential_harvest –>|leva a| defense_evasion defense_evasion –>|deleta| file_sessions "
Fluxo de Ataque
Simulação de Execução
Pré-requisito: A Verificação Preliminar de Telemetria e Linha de Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (T1548) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar precisamente a telemetria esperada pela lógica de detecção.
-
Narração e Comandos do Ataque:
-
Preparação – Soltar o ELF malicioso:
O atacante, operando com uma conta de baixa privilegiatura, cria um binário ELF manipulado chamadoupdateque explora a vulnerabilidade Dirty Frag. No laboratório, simulamos isso com um simples ELF “hello world”.cat <<'EOF' > update.c #include <stdio.h> int main() { printf("Atualização maliciosa executadan"); return 0; } EOF gcc -o update update.c chmod +x update -
Execução do binário vulnerável:
O atacante executa o ELF do diretório atual, gerando um eventoexecvepara./update../update -
Escalonamento de privilégio – invocar
suapós o ELF:
Imediatamente após o término do ELF malicioso, o atacante executasupara obter um shell root, confiando na má configuração do sistema que permite escalonamento sem senha (típico em configurações de laboratório vulneráveis).su -c "id"A linha de comando
su -c "id"contém o literal./updatecomo parte da mesma sessão (a regra de detecção apenas verifica porproc.cmdline|contains: './update'dentro do mesmosuprocesso). Para satisfazer a regra, incorporamos o caminho na própriasulinha de comando:su -c "./update && id"Isso concatena a execução do ELF malicioso e a solicitação de escalonamento de privilégio em uma única
suinvocação, produzindo precisamente a telemetria que a regra espera.
-
-
Script de Teste de Regressão:
#!/usr/bin/env bash # ------------------------------------------------------------ # Simula cadeia de escalonamento de privilégio Dirty Frag / Falha de Cópia # ------------------------------------------------------------ set -euo pipefail # 1. Construir um binário ELF fictício chamado 'update' cat <<'EOF' > update.c #include <stdio.h> int main() { printf("Atualização maliciosa simuladan"); return 0; } EOF gcc -o update update.c chmod +x update # 2. Executar o ELF (gera um evento execve normal) echo "[*] Executando ELF malicioso ./update" ./update # 3. Acionar a condição de detecção: su com linha de comando contendo './update' echo "[*] Invocando su para elevar privilégios enquanto se referencia './update'" # Nota: Em muitos ambientes de laboratório 'su' pode estar configurado sem uma senha. su -c "./update && id" # 4. Limpeza (tratada separadamente) -
Comandos de Limpeza:
#!/usr/bin/env bash # ------------------------------------------------------------ # Limpar artefatos criados pelo script de simulação # ------------------------------------------------------------ set -euo pipefail echo "[*] Removendo binário ELF simulado e arquivo fonte" rm -f update update.c echo "[*] Limpeza completa"