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 — Umfassende Reverse-Engineering- und Exploitation-Analyse von CVE-2019-17147, einem Stack-Pufferüberlauf in TP-Link TL-WR841N-Routern. Beinhaltet Firmware-Analyse, Hardware-Debugging und einen gestaffelten Shellcode-Injection-Exploit für nicht authentifizierte RCE. | Kitploit
Tools/GitHubGitHub/imnot-ye/cve-2019-17147
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationReverse EngineeringShellcodeHardware-HackingHardware-SicherheitPapers & ForschungLernen & BildungFirmware-AnalyseBinary-Exploitation
4vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubimnot-ye/cve-2019-17147

CVE-2019-17147

Umfassende Reverse-Engineering- und Exploitation-Analyse von CVE-2019-17147, einem Stack-Pufferüberlauf in TP-Link TL-WR841N-Routern. Beinhaltet Firmware-Analyse, Hardware-Debugging und einen gestaffelten Shellcode-Injection-Exploit für nicht authentifizierte RCE.

Repository anzeigen

CVE-2019-17147: TP-Link TL-WR841N Exploitation

Banner

Übersicht

Dieses Repository dokumentiert das umfassende Reverse Engineering und die Ausnutzung von CVE-2019-17147, einer kritischen Remote-Code-Ausführungs-Sicherheitslücke (RCE) im TP-Link TL-WR841N Router (MIPSEL-Architektur). Die Schwachstelle befindet sich im httpd-Webserver-Daemon, wo eine unsachgemäße Eingabevalidierung einen Stack Buffer Overflow über eine benutzerdefinierte cstr_strncpy-Funktion ermöglicht, was zu einer beliebigen Codeausführung ohne Authentifizierung führt.

SchwachstelleCVE-2019-17147
CVSS v3.18.8 (Hoch)
VektorAV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
TypStack-basierter Pufferüberlauf
Komponente/usr/bin/httpd

Infrastruktur & Werkzeuge

Die Analyseumgebung wurde mit den folgenden Komponenten aufgebaut:

  • Hardware: TP-Link TL-WR841N Router.
  • Hardware-Werkzeuge: CH341A Programmer (SPI-Flash-Dump), USB-TTL-Konverter (UART-Konsole), SOIC8-Clip.
  • Software-Werkzeuge: flashrom (Speicher-Dumping), binwalk (Firmware-Extraktion), IDA Pro (Statische Analyse), GDB-Multiarch (Remote-Debugging), QEMU (MIPSEL-Emulation).
  • Firmware-Version: TL-WR841N(US)_V14_180319.

Technische Analyse

1. Statische Analyse

Die Schwachstelle wurde in der Binärdatei /usr/bin/httpd identifiziert. Die statische Analyse mit IDA Pro zeigte eine benutzerdefinierte String-Kopierfunktion, cstr_strncpy, die beim Parsen von HTTP-Headern (insbesondere des Host-Headers) verwendet wird.

IDA-Graph

Die Funktion cstr_strncpy akzeptiert einen Parameter copy_len, der von der Länge des Quell-Strings abgeleitet wird, nicht von der Größe des Ziel-Puffers. Dies ermöglicht einen klassischen Stack-Pufferüberlauf, wenn ein übermäßig langer Header geliefert wird. Darüber hinaus ist die Funktion http_parser_argStrToList, die eine verknüpfte Listenstruktur manipuliert, von diesem Überlauf betroffen, wodurch die Kontrolle über next- und prev-Zeiger erlangt wird.

2. Dynamische Analyse

Das Laufzeit-Debugging mit gdbserver bestätigte den Absturz und die Kontrolle über den Ausführungsfluss. Die Analyse der Speicherkarte (vmmap) ergab einen kritischen Mangel an Absicherung:

  • Heap: RWX (Lesen, Schreiben, Ausführen) Berechtigungen.
  • ASLR: Eingeschränkt/Unwirksam für diese Binärdatei.
  • NX: Deaktiviert.

VMMap

Diese Konfiguration erlaubt die direkte Ausführung von Shellcode, der auf dem Heap platziert wird, und umgeht so die Notwendigkeit komplexer ROP-Ketten.

Ausnutzungsstrategie

Die Ausnutzungskette verwendet ein Write-What-Where-Primitiv, das aus den korrupten Zeigern der verknüpften Liste abgeleitet wird, um RCE zu erreichen.

  1. Heap Spraying: Der Shellcode wird in den Heap injiziert. Aufgrund der Persistenz des Heaps über mehrere Anfragen hinweg kann dies in Stufen erfolgen.
  2. Gestaffelte Injektion: Um Nullbyte-Beschränkungen in strcpy zu umgehen, wird die Nutzlast in mehreren Anfragen gesendet:
    • Stufe 1: Schreibe die Shellcode-Adresse in einen Zwischenspeicher.
    • Stufe 2: Schreibe die Ziel-GOT-Adresse in den Zwischenspeicher.
  3. GOT-Überschreibung: Der Eintrag der Funktion atol in der Global Offset Table (GOT) wird mit der Adresse des Shellcodes überschrieben.
  4. Auslösung der Ausführung: Der Exploit erzwingt einen Aufruf von atol (über einen Content-Length-Header), wodurch die Ausführung zum injizierten Shellcode umgeleitet wird.

Exploit-Diagramm

Exploit-Verifikation

Das endgültige Python-Skript automatisiert den Angriff erfolgreich und öffnet eine Root-Shell auf Port 31337.

Root-Shell

Gegenmaßnahmen

Die Schwachstelle resultiert aus unsicheren Programmierpraktiken bei der Pufferverwaltung.

  • Quellcode-Korrektur: Ersetzen Sie die Verwendung von cstr_strncpy durch sichere Alternativen, die die Begrenzung des Zielpuffers strikt erzwingen (z. B. strncpy mit expliziter Grenzprüfung basierend auf sizeof(dest)).
  • Binärhärtung: Aktivieren Sie NX (No-Execute), um Codeausführung auf dem Stack und Heap zu verhindern. Aktivieren Sie vollständiges ASLR und PIE (Position Independent Executable), um die Speicheranordnung zu randomisieren.

Vollständige Dokumentation

Eine detaillierte Schritt-für-Schritt-Anleitung des gesamten Prozesses, einschließlich Code-Analyse und Einrichtung der Umgebung, finden Sie in den vollständigen Leitfäden in diesem Repository:

  • 🇮🇹 Guida Completa (Italienisch)
  • 🇬🇧 Full Guide (Englisch)

Autoren

  • Angelo Zullo
  • Simone Vitto
  • Vincenzo Cantatore

Haftungsausschluss

Dieses Projekt dient ausschließlich zu Bildungs- und Forschungszwecken. Die bereitgestellten Informationen dienen der Verbesserung der Sicherheit von IoT-Geräten. Die Autoren übernehmen keine Verantwortung für Missbrauch der hierin enthaltenen Informationen oder des Codes.


Basierend auf ursprünglicher Forschung und Analyse.

Tool herunterladen