
Demonstração educacional do CVE-2022-46169: execução remota de código não autenticada no Cacti ≤1.2.22 por meio de bypass de autorização e injeção de comandos. Inclui configuração de laboratório, reprodução da exploração e análise de impacto.
Aqui está o documento de explicação reformatado:
Este projeto é uma tarefa de cibersegurança que demonstra a CVE‑2022‑46169: uma vulnerabilidade crítica na plataforma de monitoramento de redes de código aberto Cacti (versões ≤ 1.2.22). A vulnerabilidade permite que um atacante não autenticado execute comandos arbitrários do SO no servidor — sem qualquer login.
O objetivo deste projeto é compreender a vulnerabilidade, reproduzi-la em um ambiente de laboratório controlado e demonstrar o seu impacto.
A CVE‑2022‑46169 é uma combinação de duas falhas no Cacti:
O arquivo remote_agent.php normalmente só pode ser acessado pelo próprio servidor Cacti. No entanto, a verificação de autenticação confia cegamente no cabeçalho HTTP X-Forwarded-For, que pode ser definido pelo próprio atacante. Assim, qualquer pessoa pode se passar pelo servidor — sem senha.
O parâmetro poller_id da URL é inserido diretamente em um comando shell, sem validação, por meio do proc_open() do PHP. Isso permite que um atacante faça o servidor web executar os próprios comandos.
Resultado combinado: um atacante totalmente não autenticado pode executar comandos arbitrários no servidor — também conhecido como Execução Remota de Código (RCE).
| Propriedade | Detalhes |
|---|---|
| Pontuação CVSS | 9.8 – Crítica |
| Autenticação necessária | ❌ Não |
| Interação do usuário | ❌ Não |
| Impacto | Controle total sobre o servidor |
| Versões afetadas | Cacti ≤ 1.2.22 |
| Corrigido em | Cacti 1.2.23 |
Um atacante só precisa saber o endereço IP de uma instalação Cacti vulnerável. Não é necessária nenhuma conta nem engenharia social.
O atacante envia uma única requisição HTTP para remote_agent.php com:
X-Forwarded-For forjado → bypass da autenticaçãopoller_id com um comando shell embutido via ; → injeção de comandosO servidor executa esse comando como o usuário www-data (o usuário do servidor web Apache). Na prática, um atacante pode, por exemplo, abrir uma reverse shell e obter acesso total ao servidor.
docs/ — Relatório, capturas de tela e anotações para o trabalho.isos/ — Imagens de VM ou ativos de contêiner com a instalação vulnerável do Cacti.Este projeto faz parte de um exercício de cibersegurança com foco em:
⚠️ Aviso legal: Este projeto destina-se exclusivamente a fins educacionais em um ambiente de laboratório controlado e isolado. Nunca use exploits em sistemas sem autorização explícita.