Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sagemcom-fast-3890-exploit — Exploit für das Kabelmodem Sagemcom F@ST 3890, der die Cable-Haunt-Schwachstelle implementiert, um über einen WebSocket-basierten Pufferüberlauf und eine ROP-Kette eine Remote-Code-Ausführung zu erreichen. | Kitploit
Tools/GitHubGitHub/lyrebirds/sagemcom-fast-3890-exploit
Embedded-System-SicherheitExploitationReverse EngineeringWebanwendungs-ExploitationHardware- & IoT-SicherheitPayload-EntwicklungBinary-Exploitation
GitHublyrebirds/sagemcom-fast-3890-exploit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

sagemcom-fast-3890-exploit

Exploit für das Kabelmodem Sagemcom F@ST 3890, der die Cable-Haunt-Schwachstelle implementiert, um über einen WebSocket-basierten Pufferüberlauf und eine ROP-Kette eine Remote-Code-Ausführung zu erreichen.

Repository anzeigen
22348vor 6 JahrenVon Kitploit geprüft

Sagemcom Fast 3890 Exploit

Dieser Exploit nutzt die Cable-Haunt-Sicherheitslücke, um über den lokalen Netzwerkzugriff eine Shell auf dem Kabelmodem Sagemcom F@ST 3890 (50.10.19*) zu öffnen. Firmware-Version 50.10.21 oder neuer sollte gegen Cable Haunt sicher sein. Dieses Proof of Concept wurde speziell so entwickelt, dass es nur lokal funktioniert, um das Potenzial für böswillige Zwecke einzuschränken. Ein weiterer POC, der eine Reverse Shell zu einer externen Verbindung für die Technicolor TC7230 erstellt, ist hier verfügbar.

Eine Liste bekannter verwundbarer Modems finden Sie auf https://cablehaunt.com/#faq-am-i-affected.

So funktioniert es

Die Datei exploit.py stellt eine Website bereit, die beim Besuch eine bösartige WebSocket-Anfrage an das Kabelmodem sendet. Diese Anfrage lässt die Rücksprungadresse und die zugehörigen Register im Spektrumanalysator des Kabelmodems überlaufen und nutzt eine ROP-Kette, um auf Port 1337 auf eine TCP-Verbindung zu lauschen. Die ROP-Kette wird in static/exploitSagemcom.js aufgebaut und kommentiert. Der exploit.py-Server sendet dann die Datei exploit.raw über diese TCP-Verbindung, die anschließend vom Modem ausgeführt wird. Bei der Datei exploit.raw handelt es sich um reverseshell.c, kompiliert für die MIPS-Architektur (siehe unten wie). reverseshell.c ist eine Shell, die speziell für dieses Modem geschrieben wurde. Die Shell wartet auf Befehle, die in der eCos-Shell auf dem Kabelmodem ausgeführt werden sollen, und leitet STDOUT an die TCP-Verbindung um.

Ein Video, das den Exploit erklärt, finden Sie hier: https://www.youtube.com/watch?v=5FM9mS5ck3Y

Den Exploit ausführen

Hinweis: Windows 10 wird derzeit nicht unterstützt; Sie müssen ein Linux-basiertes Betriebssystem verwenden.

Installieren Sie pwntools und flask für Python3 und führen Sie python exploit.py aus. Gehen Sie nun in Ihrem Browser zu http://127.0.0.1:8080, um das Modem auszunutzen. Firefox funktioniert hierfür nicht, da die verwendete WebSocket-Version nicht kompatibel ist.

Jetzt sollte in Ihrem Terminal, das das Python-Skript ausführt, eine interaktive Shell erscheinen. Wenn Sie die Shell beenden, muss das Modem neu gestartet werden, um eine neue Shell zu starten.

Erstellen eines eigenen Payloads

Wenn Sie Ihren eigenen Payload kompilieren möchten, können Sie die Toolchain von aeolus holen und den folgenden Befehl ausführen:

root@kitploit:~
/<toolchain Path>/gnutools/mipsisa32-elf/bin/mipsisa32-elf-gcc -O3 -c ./reverseshell.c -o ./reverseshell.o && /<toolchain Path>/toolchains/gnutools/mipsisa32-elf/bin/mipsisa32-elf-objcopy -O binary reverseshell.o exploit.raw

Andere Modems ausnutzen

Mit dieser Technik können Sie jedes Modem, das verwundbar gegenüber Cable Haunt ist, bauen und ausnutzen. Wir empfehlen, den technischen Bericht zu lesen, bevor Sie versuchen, Ihre eigene ROP-Kette zu schreiben. Auf Cable Haunt finden Sie eine Liste bekannter verwundbarer Kabelmodems.

Erstellen der ROP-Kette

Zunächst benötigen Sie die Firmware für das Kabelmodem, das Sie ausnutzen möchten. Dann reverse-engineeren Sie die Firmware, um die Adressen der relevanten Funktionen für den Aufbau des Exploits zu finden, wie socket(), bind(), accept(), listen(), recv() und connect() für eine Shell. Dann kann Ropper verwendet werden, um mit dem folgenden Befehl Gadgets zu finden:

root@kitploit:~
python Ropper.py --type all --all --badbytes 00c0c1f5f6f7f8f9fafbfcfdfeff2c -r -a MIPSBE -I 0x80004000 --console -f <firmware path>

Unerreichbare Gadgets

Nicht alle Gadgets sind erreichbar, da Gadgets nur Adressen sind, die als rohe Bytes gesendet werden, und nicht alle Bytes in einer WebSocket-Anfrage mit Text-Frames gesendet werden können. Zum Beispiel kann die Adresse 0x8080a864 nicht direkt in einen WebSocket-Text-Frame eingefügt werden, da es sich nicht um ein gültiges UTF-8-Zeichen handelt. Die Adresse 0xf28080a864 kann jedoch eingefügt werden, da 0xf2 bedeutet, ein neues UTF-8-Symbol mit 0x8080a864 als nachfolgenden Bytes zu beginnen. Die folgenden Bytes dürfen aufgrund der UTF-8-Spezifikation in keiner verwendeten Adresse vorkommen: 0x00, 0xc0, 0xc1, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x2c. Es gibt auch weitere Einschränkungen, die in unserem Bericht bald näher erläutert werden. Für den Moment können Sie utf8TestScript.py lesen und verwenden, um zu testen, ob eine Adresse erreichbar ist.

Benutzerdefinierter Payload

Sie können den oben beschriebenen Prozess verwenden, um Ihren eigenen Payload für ein neues Kabelmodem zu kompilieren, aber denken Sie daran, dass der Payload nicht zurückkehren darf! Wenn er zurückkehrt, sucht der Prozess auf dem zerstörten Stack nach einer Rücksprungadresse und stürzt ab.

Firmware aus Kabelmodems extrahieren

Für die meisten Modems benötigen Sie eine Möglichkeit, auf die eCos-Shell zuzugreifen, um die Firmware zu extrahieren, oder Sie extrahieren sie direkt von dem Flash-Chip. Diese Firmwares sind normalerweise in einem Format namens ProgramStore verpackt. Wenn die serielle Konsole nicht funktioniert, versuchen Sie Folgendes auszuführen: (funktioniert möglicherweise nur, wenn das Koaxialkabel getrennt oder nicht provisioniert ist)

root@kitploit:~
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.4413.2.2.2.1.9.1.2.1.0 i 2
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.4413.2.2.2.1.9.1.2.1.0 i 0
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.4413.2.2.2.1.9.1.2.1.0 i 2

Dann sollte die Shell zugänglich sein, und bcm2-utils kann es einfach machen, sie mit dieser Shell zu extrahieren. Beim Reverse-Engineering der extrahierten Firmware ist die Lade-/Basisadresse (soweit wir gesehen haben) immer 0x80004000.

Tool herunterladen