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
CVE-2019-17147_Practice_Material — Dieses Repo enthält ausgelesene Flash-Partitionen mit einer Firmware-Version, die anfällig für CVE-2019-17147 ist, sowie einige nützliche Binaries zum Downgrade und Debuggen Ihres WR841N-Routers. | Kitploit
Tools/GitHubGitHub/drmnsamoliu/cve-2019-17147_practice_material
Embedded-System-SicherheitSchwachstellenanalyseExploitationDebuggerHardware-HackingBinäranalyseLernen & BildungFirmware-AnalyseLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubdrmnsamoliu/cve-2019-17147_practice_material

CVE-2019-17147_Practice_Material

Dieses Repo enthält ausgelesene Flash-Partitionen mit einer Firmware-Version, die anfällig für CVE-2019-17147 ist, sowie einige nützliche Binaries zum Downgrade und Debuggen Ihres WR841N-Routers.

Repository anzeigen
414vor 4 JahrenNoch nicht geprüft

CVE-2019-17147_Practice_Material

Dieses Repo enthält ausgelesene Flash-Partitionen mit einer Firmware-Version, die für CVE-2019-17147 verwundbar ist, sowie einige nützliche Binärdateien, um deinen WR841N(V14)-Router zu downgraden und zu debuggen.

Hardware-Modifikationen wie das Überschreiben von Flash-Chip-Partitionen sind mit Risiken verbunden. Bewerte die Risiken und entscheide selbst, ob du es tun möchtest.

Warum?

Der Beitrag von ZDI: https://www.zerodayinitiative.com/blog/2019/12/2/mindshare-hardware-reversing-with-the-tp-link-tl-wr841n-router-part-2 demonstrierte eine sehr interessante Schwachstelle, die ich wirklich gerne ausprobieren und etwas daraus lernen möchte.
Leider wurde die Firmware-Version (US) 0.9.1 4.16 v007c.0 Build 180613 Rel.42415n bereits von der US-Website entfernt und kann nicht mehr heruntergeladen werden.
Ich habe jedoch einige WR841N, die die Firmware-Version (TW) 0.9.1 4.16 v009e.0 Build 180516 Rel.81030n ausführen, die älter ist als die von ZDI ausgenutzte, und dieselbe Schwachstelle besteht weiterhin.

Ich schätze, viele weitere Leute wären daran interessiert, diesen Exploit nachzuvollziehen, stehen aber vor demselben Problem: Sie können keinen funktionierenden WR841N finden, der eine verwundbare Version der Firmware ausführt.
Wenn du Hardware der Version TW, EU oder JP verwendest, ist es weiterhin möglich, eine ältere Firmware-Version als 180613 (das heißt, sie wurde am 2018/06/13 erstellt) herunterzuladen und deinen Router einfach herunterzustufen, indem du ihn mit alter Firmware von der offiziellen Website „upgradest“.

Obwohl ein Firmware-Downgrade möglich ist, prüft der WR841N die Firmware tatsächlich und akzeptiert keine Firmware, die für Hardware gedacht ist, die in anderen Ländern verkauft wird. Für Menschen, die in Ländern leben, in denen TP-Link keine verwundbare Firmware-Version auf ihrer Website bereitstellt (z. B. USA), ist es daher notwendig, die Prüfung im HTTP-Server zu umgehen und die verwundbare Firmware direkt in den Flash-Chip ihres Geräts zu schreiben. Genau dafür ist dieses Repo in erster Linie gedacht.

Ich habe außerdem statisches busybox und gdbserver cross-kompiliert, die auf dem WR841N funktionieren, für alle, die versuchen möchten, den Exploit zu debuggen und nachzubauen.

Sichere deine Flash-Partitionen

Bevor du versuchst, deine Flash-Partitionen zu überschreiben, solltest du die aktuellen sichern, damit du deinen Router wiederherstellen kannst, wenn du mit dieser verwundbaren Version fertig bist.

Ich gehe davon aus, dass du bereits mit der Verwendung der seriellen Konsole vertraut bist, daher überspringe ich den Hardware-Teil.

  1. Richte auf dem Rechner deiner Wahl einen TFTP-Server ein.

  2. In der WR841N-Konsole:
    (Ersetze die IP-Adresse durch die deines TFTP-Servers)

root@kitploit:~
~ # cat /dev/mtd0 > /var/WR841N_backup_mtd0_boot.bin
~ # tftp -p -r /var/WR841N_backup_mtd0_boot.bin 192.168.0.100
~ # rm /var/WR841N_backup_mtd0_boot.bin
~ #
~ # cat /dev/mtd1 > /var/WR841N_backup_mtd1_kernel.bin
~ # tftp -p -r /var/WR841N_backup_mtd1_kernel.bin 192.168.0.100
~ # rm /var/WR841N_backup_mtd1_kernel.bin
~ #
~ # cat /dev/mtd2 > /var/WR841N_backup_mtd2_rootfs.bin
~ # tftp -p -r /var/WR841N_backup_mtd2_rootfs.bin 192.168.0.100
~ # rm /var/WR841N_backup_mtd2_rootfs.bin=
  1. Überprüfe die .bin-Dateien mit binwalk, um sicherzustellen, dass du deine Flash-Partitionen erfolgreich gesichert hast.


So überschreibst du die Flash-Partition mit verwundbaren Partitionen

Die Flash-Partitionen des WR841N sind wie folgt:

root@kitploit:~
dev:    size   erasesize  name
mtd0: 00010000 00010000 "boot"
mtd1: 000f0000 00010000 "kernel"
mtd2: 002e0000 00010000 "rootfs"
mtd3: 00010000 00010000 "config"
mtd4: 00010000 00010000 "radio"

Die Hauptpartition, die du überschreiben musst, ist rootfs (mtd2), aber der Stabilität halber überschreiben wir auch boot und kernel.
Ich habe keine config- und radio-Partition bereitgestellt, da sie die Schwachstelle nicht beeinflussen und du sicherlich nicht mit den RF-Einstellungen herumspielen willst, um mögliche rechtliche Probleme zu vermeiden.


  1. Übertrage flashcp per TFTP auf den WR841N.

In der WR841-Shell:

root@kitploit:~
~ # cd /var
/var # tftp -g -r flashcp 192.168.0.100
/var # chmod +x flashcp

(Ersetze die IP-Adresse natürlich durch die deines Rechners, auf dem der TFTP-Server läuft.)


  1. Übertrage TW_wr841N_mtd0_boot_180516.bin auf den WR841N und überschreibe mit flashcp:
root@kitploit:~
/var # tftp -g -r TW_wr841N_mtd0_boot_180516.bin 192.168.0.100
/var # ./flashcp TW_wr841N_mtd0_boot_180516.bin /dev/mtd0
/var # rm TW_wr841N_mtd0_boot_180516.bin

Hinweis: Die Reihenfolge, in der du die Partitionen überträgst und überschreibst, spielt keine Rolle, aber stelle sicher, dass du sie **EINE NACH DER ANDEREN** durchführst und nicht alle .bin-Dateien auf einmal auf den WR841N überträgst.
Entferne die .bin-Datei, die du bereits geflasht hast, bevor du die nächste überträgst. Der Router hat nur sehr begrenzten Speicher und stürzt ab, wenn du zu viel auf sein ramfs überträgst!

  1. Übertrage TW_wr841N_mtd1_kernel_180516.bin auf den WR841N und überschreibe mit flashcp:
root@kitploit:~
/var # tftp -g -r TW_wr841N_mtd1_kernel_180516.bin 192.168.0.100
/var # ./flashcp TW_wr841N_mtd1_kernel_180516.bin /dev/mtd1
/var # rm TW_wr841N_mtd1_kernel_180516.bin

  1. Übertrage TW_wr841N_mtd2_rootfs_180516.bin auf den WR841N und überschreibe mit flashcp (Dies ist die größte Partition, daher wird flashcp einige Zeit brauchen, bis es fertig ist):
root@kitploit:~
/var # tftp -g -r TW_wr841N_mtd2_rootfs_180516.bin 192.168.0.100
/var # ./flashcp TW_wr841N_mtd2_rootfs_180516.bin /dev/mtd2
/var # rm TW_wr841N_mtd2_rootfs_180516.bin

  1. Starte den Router neu. Du solltest sehen, dass seine Webverwaltungsseite komplett auf traditionellem Chinesisch erscheint und die Firmware-Version 0.9.1 4.16 v009e.0 Build 180516 Rel.81030n ist.



FW

Hinweise

  1. Der von ZDI bereitgestellte PoC funktioniert mit der hier bereitgestellten Firmware-Version nicht ohne Weiteres, da die Speicheradressen unterschiedlich sind. Du solltest versuchen, ZDIs PoC anzupassen oder deinen eigenen Exploit zu erstellen :)

  2. Alle Binärdateien wurden von mir selbst mit buildroot-2021.02.6 cross-kompiliert.

  3. Die Sprache der Firmware sollte nicht viel ausmachen, da der Großteil der Arbeit zum Debuggen und Entwickeln des Exploits in der Konsole erledigt wird. Ich könnte jedoch versuchen, flasbare Partitionen aus einer verwundbaren EU- oder JP-Version zu erstellen, wenn jemand sie wirklich braucht und eine Anfrage stellt.

  4. Unnötig zu erwähnen, dass Hardware-Modifikationen wie das Überschreiben von Flash-Chip-Partitionen mit Risiken verbunden sind. Bewerte die Risiken und entscheide selbst, ob du es tun möchtest.
Tool herunterladen