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
dinkleberry — Patchen Sie Ihr von CVE-2024-3272 betroffenes D-Link-Gerät. | Kitploit
Tools/GitHubGitHub/aliask/dinkleberry
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationPenetrationstestsHardware- & IoT-SicherheitBinäranalyse
GitHubaliask/dinkleberry

dinkleberry

Patchen Sie Ihr von CVE-2024-3272 betroffenes D-Link-Gerät.

Repository anzeigen
31vor 1 JahrNoch 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

Dinkleberry 🫐

Bist du einer der über 92.000 Personen1, die mit einem D-Link NAS festsitzen, das anfällig für CVE-2024-3272 ist, und kein Patch in Sicht?

Dieses Tool verwendet den Exploit selbst, um ein anfälliges Gerät zu patchen.

1: Siehe ursprüngliche Offenlegung in den Referenzen

Was es macht

Dinkleberry führt einen Befehl aus, um die anfällige Datei nas_sharing.cgi durch eine gepatchte Version zu ersetzen – dabei wird der system()-Aufruf mit NOPs überschrieben.

Der Ordner /usr/local/modules (in dem die Datei liegt) ist schreibgeschützt, daher wird stattdessen eine Kopie in /usr/local/config erstellt und der Symlink in /var/www/cgi-bin wird aktualisiert, um auf die sicherere Version zu verweisen.

Ich habe mich dafür entschieden, nur den system-Aufruf zu NOP-en, damit der Befehl wie gewohnt antwortet, nur ohne tatsächlich etwas auszuführen.

[!NOTE] Das Dateisystem wird beim Booten aus dem Flash neu geladen. Das Anwenden dieses Patches funktioniert nur, bis das Gerät neu gestartet wird. Wenn Sie eine dauerhaftere Lösung wünschen, müssen Sie die Firmware neu flashen – vielleicht mit Debian

Verwendung

root@kitploit:~
aliask:~/git/dinkleberry$ python3 ./src/main.py -h                                                                                                                   10:01:02
usage: dinkleberry [-h] [--telnet] [--kill-telnet] [--test] [--verbose] target

positional arguments:
  target         Target NAS to patch

options:
  -h, --help     show this help message and exit
  --telnet       Start telnet server
  --kill-telnet  Stop telnet server
  --test         Test if device is vulnerable
  --verbose, -v  Set this to print debug messages

Wenn keine optionalen Flags angegeben werden, führt das Skript das Patchen durch.

Telnet

Wenn Sie einfach nur auf dem Gerät herumstöbern möchten, verwenden Sie den Befehl --telnet, der eine Telnet-Sitzung auf Port 23 startet.

Das ist haarsträubend unsicher, aber Ihr Gerät ist bereits haarsträubend unsicher, also können Sie genauso gut die bequeme Shell nehmen.

Haftungsausschluss

[!CAUTION] Verwenden Sie dieses Tool auf eigene Gefahr. Es verändert die eigentliche Gerätesoftware.

Ich bin nicht verantwortlich für:

  • dass Ihr Gerät nicht mehr funktioniert
  • Datenverlust auf dem NAS
  • einen Brand auslösen
  • dass der TA, der Ihr Gerät fröhlich ausgenutzt hat, verärgert ist

Schlussworte

Während der Analyse der Binärdateien nas_sharing.cgi und libsmbif.so wurde schnell klar, dass die Software auf diesem Gerät extrem anfällig ist. Anfällig im Sinne von 'nicht wartbar, komplett neu schreiben'.

Es gibt allein in nas_sharing.cgi etwa 80 Aufrufe von system() – viele davon haben einen Weg für Benutzereingaben. Ich habe mich nicht darum gekümmert, sie alle zu analysieren, um weitere Löcher zum Patchen zu finden, aber hier ist ein erstklassiges Beispiel:

root@kitploit:~
/*  Why use system() instead of libc fopen/fwrite?
    What if you want to write a long string or your filename is long?
    Painfully obvious command injection playground 🤦 */
void append_to_file(const char* string, const char* file) {
  char s_cmd[1024];
  sprintf(s_cmd, "echo %s >> %s", string, file);
  system(s_cmd);
  return;
}

Abgesehen von all diesen wahnsinnigen system-Aufrufen gibt es mehr Pufferüberläufe, als man mit einem Stock hervorkitzeln kann – und ich kann eine Menge Stöcke hervorkitzeln.

Dieses CVE steht auf CISA's KEV-Liste – Wenn Sie so ein Gerät im Internet haben, nehmen Sie es offline. Sofort.

Vielleicht sogar den Rat von D-Link befolgen und das EOL-Gerät ersetzen. Aber ich würde sicherlich kein D-Link-Produkt kaufen.

Referenzen

  • Original disclosure: https://github.com/netsecfish/dlink
  • NVD page: https://nvd.nist.gov/vuln/detail/CVE-2024-3272
Tool herunterladen