
Bildungsexploit für CVE-2019-1663, der einen stack-basierten Pufferüberlauf in Cisco-RV-Routern angreift. Enthält ein Python-Exploit-Skript, einen Reverse-Shell-Listener und eine Firmware-Analyse-Methodik für ARM-basierte eingebettete Systeme.
Dieses Repository dokumentiert die Ausnutzung von CVE-2019-1663, einer kritischen Schwachstelle zur Remotecodeausführung (RCE) in den Cisco-Routern RV110W, RV130W und RV215W (Wireless-N VPN).
Aufgrund unzureichender Eingabevalidierung in der Weboberfläche kann ein nicht authentifizierter Angreifer beliebige Befehle mit erhöhten Rechten auf dem Gerät ausführen.
Dieses Projekt wurde im Rahmen eines Cybersecurity-Lernprogramms durchgeführt, um praktische offensive Sicherheitsfähigkeiten auf eingebetteten Systemen zu stärken.
Die zugrunde liegende Ursache der Schwachstelle verstehen.
Einen funktionierenden Exploit entwickeln, der zuverlässig Codeausführung erreicht.
Debugging und Analyse eingebetteter ARM-Systeme durchführen.
Die realen Risiken unsicherer Firmware-Entwicklung aufzeigen.
Schwachstellentyp: Stack-basierter Pufferüberlauf.
Auslöser: Präparierte HTTP-POST-Anfragen an die Weboberfläche des Routers.
Überlaufgröße: Codeausführung nach 446 Bytes erreicht (ermittelt durch Fuzzing).
Architektur: ARM → Exploitation mittels ROP-Gadgets.
Auswirkung: Vollständige Systemkompromittierung ohne Authentifizierung.
Debugging und Exploit-Entwicklung wurden in einer emulierten Umgebung mit emux durchgeführt, was vollen Zugriff auf die Firmware und Prozesse des Routers ermöglichte:
Starten der Firmware in einer virtualisierten Umgebung.
Anhängen des anfälligen httpd-Prozesses an gdb für Live-Debugging.
Senden kontrollierter Payloads und Beobachten der Speicherkorruption in Echtzeit.
Identifizieren von Offsets und ROP-Gadgets durch Firmware-Extraktion und -Analyse.
Dieser Ansatz ermöglichte sicheres, flexibles und wiederholbares Testen – ohne physische Hardware.
Path : : Purpose
exploit-cve-2019-1663.py : : Python-Skript zum Auslösen des Überlaufs und Erlangen von Codeausführung
rev_shell.py : : Reverse-Shell-Listener zur Verarbeitung von Eingabe-/Ausgabeströmen
📌 Dokumentation und Verbesserungen sind in Arbeit – Anregungen willkommen!
Wenn Sie über Sicherheitsforschung oder Verbesserungen an diesem Projekt diskutieren möchten, können Sie sich gerne melden oder ein Issue eröffnen. Happy Hacking! 😄