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
tplink-smartplug — TP-Link WiFi SmartPlug-Client und Wireshark-Dissector | Kitploit
Tools/GitHubGitHub/softscheck/tplink-smartplug
Paket-Sniffing & AnalyseVerschlüsselungs-/EntschlüsselungstoolsIoT-SicherheitSchwachstellenanalyseReverse EngineeringNetzwerksicherheitDrahtlose SicherheitHardware- & IoT-SicherheitFirmware-Analyse
GitHubsoftscheck/tplink-smartplug

tplink-smartplug

TP-Link WiFi SmartPlug-Client und Wireshark-Dissector

1.2k292vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

TP-Link WLAN-SmartPlug-Client und Wireshark-Dissector

Die vollständige Geschichte finden Sie unter Reverse Engineering der TP-Link HS110

tplink_smartplug.py

Ein Python-Client für das proprietäre TP-Link-Smart-Home-Protokoll zur Steuerung der TP-Link-WLAN-Smartplugs HS100, HS110 und KP115. Das SmartHome-Protokoll läuft über TCP-Port 9999 und verwendet eine triviale XOR-Autokey-Verschlüsselung, die keine Sicherheit bietet.

Es gibt keinen Authentifizierungsmechanismus, und Befehle werden unabhängig vom Gerätezustand (konfiguriert/nicht konfiguriert) akzeptiert.

Befehle werden im JSON-Format übergeben, zum Beispiel:

{"system":{"get_sysinfo":null}}

Statt null können wir auch {} schreiben. Befehle können verschachtelt sein, zum Beispiel:

{"system":{"get_sysinfo":null},"time":{"get_time":null}}

Eine vollständige Liste der Befehle finden Sie in tplink-smarthome-commands.txt.

Verwendung

./tplink_smartplug.py -t <ip> [-c <cmd> || -j <json>]

Geben Sie die Ziel-IP mit -t und einen zu sendenden Befehl entweder mit -c oder -j an. Befehle für das Flag -c:

Erweiterte Befehle wie das Erstellen oder Bearbeiten von Regeln können über das Flag -j ausgegeben werden, indem die vollständige JSON-Zeichenfolge für den Befehl angegeben wird. Bitte konsultieren Sie tplink-smarthome-commands.txt für eine umfassende Liste der Befehle.

[!TIP] Verwenden Sie für eine hübsch formatierte Ausgabe den Parameter -q und leiten Sie die Ausgabe durch jq weiter. Zum Beispiel: ./tplink_smartplug.py -t 192.168.178.49 -c info -q | jq

Wireshark-Dissector

Wireshark-Dissector zum Entschlüsseln von TP-Link-Smart-Home-Protokollpaketen (TCP-Port 9999).

ScreenShot

[!NOTE]
Wenn Sie Wireshark > 3.5.0 haben, können Sie den integrierten Dissector verwenden.

Installation

Kopieren Sie tplink-smarthome.lua nach:

BetriebssystemInstallationspfad
Windows%APPDATA%\Wireshark\plugins
Linux/MacOS$HOME/.local/lib/wireshark/plugins

tddp-client.py

Ein Proof-of-Concept-Python-Client zur Kommunikation mit einem TP-Link-Gerät über das TP-Link Device Debug Protocol (TDDP).

TDDP ist über eine ganze Reihe von TP-Link-Geräten implementiert, darunter Router, Zugangspunkte, Kameras und Smartplugs. TDDP kann die Konfiguration eines Geräts lesen und schreiben sowie spezielle Befehle ausgeben. Zum Senden von Befehlen wird UDP-Port 1040 verwendet; Antworten kommen über UDP-Port 61000 zurück. Dieser Client wurde mit einem TP-Link-Archer-C9-WLAN-Router und einem TP-Link-HS-110-WLAN-Smartplug getestet.

TDDP ist ein binäres Protokoll, das im Patent CN102096654A dokumentiert ist.

Befehle werden ausgegeben, indem die entsprechenden Werte in den Kopfzeilenfeldern Type und SubType gesetzt werden. Die Daten werden DES-verschlüsselt zurückgegeben und erfordern den Benutzernamen und das Passwort des Geräts zum Entschlüsseln. Ebenso müssen Konfigurationsdaten, die auf das Gerät geschrieben werden sollen, verschlüsselt gesendet werden. Der DES-Schlüssel wird konstruiert, indem der MD5-Hash aus aneinandergereihtem Benutzernamen und Passwort berechnet und dann die ersten 8 Bytes des MD5-Hashs verwendet werden.

Verwendung

./tddp-client.py -t <ip> -u username -p password -c 0A

Geben Sie die Ziel-IP mit -t an. Sie können einen Benutzernamen und ein Passwort angeben, andernfalls wird standardmäßig admin/admin verwendet. Diese sind erforderlich, um die zurückgegebenen Daten zu entschlüsseln.

Geben Sie den Befehl als zweistelligen Hex-String an, z. B. -c 0A. Welche Art von Daten ein Befehl auslesen kann, ist je nach TP-Link-Gerät unterschiedlich.

Beispiel

Das Auslesen des WAN-Verbindungsstatus auf einem Archer C9 in der Standardkonfiguration zeigt, dass die Verbindung getrennt ist (0):

root@kitploit:~
./tddp-client.py -t 192.168.0.1 -c 0E
Request Data: Version 02 Type 03 Status 00 Length 00000000 ID 0001 Subtype 0e
Reply Data:   Version 02 Type 03 Status 00 Length 00000018 ID 0001 Subtype 0e
Decrypted:    wan_ph_link 1 0
Tool herunterladen
BefehlBeschreibung
antitheftListet konfigurierte Antitheftregeln auf
cloudinfoGibt Informationen zur Cloud-Verbindung zurück
countdownListet konfigurierte Countdownregeln auf
energyGibt Echtzeit-Spannung/Strom/Leistung zurück
energy_resetSetzt die Energiemesswerte zurück
infoGibt Geräteinformationen zurück
ledoffSchaltet die LED-Anzeige aus
ledonSchaltet die LED-Anzeige ein
offSchaltet die Steckdose aus
onSchaltet die Steckdose ein
rebootStartet das Gerät neu
resetSetzt das Gerät auf die Werkseinstellungen zurück
runtime_resetLöscht die Laufzeitstatistiken
scheduleListet konfigurierte Zeitplanregeln auf
timeGibt die Systemzeit zurück
wlanscanSucht nach nahegelegenen Zugangspunkten