一边听风险商业ep。642年,我了解到一个僵尸网络多年来一直在利用TP-Link路由器中的漏洞提供短信服务。利用该漏洞,僵尸网络运营商可以通过他人的账单发送短信,运营商将此功能卖给其他人,包括其他罪犯。毫无疑问,当你收到虚假信息,通知你海关有虚假包裹时,也会使用类似的服务。目前尚不清楚这家特定的僵尸网络运营商能赚多少钱,但肯定有需求。
我专门为我的wardialing项目购买的相对便宜的GoIP-1 GSM网关设备具有发送短信和在PSTN网络上拨打电话的功能。因此,破坏它将使黑客不仅有可能发送虚假信息,还可以拨打(诈骗)电话。默认情况下,该设备也不会太安全,因此黑客攻击的时间投入可能很小。功能强大且易于黑客攻击的设备将是短信服务运营商的理想目标。
出于对商业前景的兴趣,我们选择在“黑客周末”与我的好朋友兼同事拉西·科霍宁一起调查该设备。经过一个周末坐在一个黑暗的公寓里进行黑客攻击,偶尔步行到最近的快餐店,我们发现了该设备上的多个漏洞,其中一些漏洞使我们能够为了发送短信或免费拨打电话而破坏这些设备。
黑客周末是我们在安全领域工作了一段时间后开始与拉西一起度过的。我们的想法是,我们选择一些我们双方都感兴趣的目标,在一个周末,在披萨和寿司的推动下,在同一个屋檐下工作。
在这些周末,我们在享受黑客攻击乐趣的同时,了解生活,相互学习。不过,这不一定是黑客攻击,我们也可以专注于开发某种东西的概念证明(PoC)。有时我们发现了一些东西,有时我们没有,但我们总是学习新的东西。我热情地向那些有幸与朋友分享书呆子兴趣的人推荐这种娱乐形式。
2017年初,Trustwave发现了一个秘密的后门telnet帐户“dbladm”,该帐户授予设备上的root shell权限。该帐户受到自定义质询响应算法的保护,该算法反过来又依赖于隐蔽性来确保安全性。这样任何人都可以登录。在我们的测试中,该帐户似乎仍然存在,但挑战-响应算法已经更改。Trustwave从一个升级包中对算法进行了反向工程,但根据我们的研究,它不再是更新的升级包的一部分。也许它可以用特殊工具从设备中提取出来?然而,我们缺乏工具。
2017年末,作者SecurityTeam向漏洞数据库提交了一名独立安全研究人员报告的影响GoIP设备上web面板的多个漏洞。这些漏洞允许下载设备的配置以及所有凭据,并在设备上执行命令。因此,它们允许完全接管设备。这些漏洞已经修复,对我们的GoIP-1设备没有任何用处。
除了具体的漏洞外,GoIP设备还存在薄弱的默认凭据,用户不必被迫更改这些凭据。与过去的漏洞(以及本博文中披露的新漏洞)一样,弱凭据很可能被用于未经授权访问相同数量的GoIP设备。
GoIP-1设备的固件版本为GHSFVT-1.1-67-5 M26FBR03A02 RSIM。在测试之前,设备被重置为默认配置,LAN接口设置了静态IP。
“PC”端口上的设备IP地址为192.168.8.1,“LAN”端口上的设备IP地址为192.168.9.1。因此,POC指向这些IP地址。根据我们的分析,所有漏洞都存在于设备的两个接口中。
可能对攻击者有用的信息会从设备泄露给未经身份验证的用户。
在浏览器中打开以下URL会显示未经身份验证用户的ping日志。仅当重新启动设备后已使用ping功能时,才会显示此文件。
设备上的TCP端口2096是一个调试端口,允许窃听许多事件。没有身份验证,因此任何人都可以简单地连接到端口并开始秘密收集信息。也没有加密。
管理员在web面板中浏览到该视图时收到的所有SMS消息的内容
下面的屏幕截图显示了从端口接收到的消息。在这些信息中,可以看到一条内容为“Hello world!”的短信发送到修改过的电话号码,并对修改过的电话号码进行5秒钟的测试通话。
web面板中存在两个本地文件包含(LFI)漏洞,允许在无需身份验证的情况下获取对攻击者有用的数据。在浏览器中打开以下URL将显示设备的passwd文件。
可以利用这些漏洞通过获取文件/dev/mtdblock/5获取序列号、固件版本和模块版本。
攻击者可以请求的最敏感文件是配置文件。dat,它以明文形式存储设备的整个配置。例如,它包括设备的所有凭证,包括SIP、H.323和web面板。可以从/tmp/config请求此文件。dat如果已使用配置备份功能。根据SecurityTeam的报告,以前的/dev/mtdblock/5中也提供了相同的信息。根据我们的测试,数据不再存在于这个版本的固件中。
在浏览器中打开以下URL将获取配置。自上次重新启动以来使用配置备份功能的设备的dat文件:
web面板中存在系统性的跨站点脚本(XSS)漏洞。攻击者利用这些漏洞并不是访问设备短信发送或呼叫功能的最直接方式,因此我只报告易受攻击的路径和相应参数。
以下路径包含易受跨站点脚本影响的参数。可以提供无需净化即可反映的输入,从而使Javascript在应用程序的上下文中执行。然而,输入只反映一次,并且不会保存在任何地方。每个路径中的易受攻击参数如下表所示。
以下路径包含易受存储的跨站点脚本攻击的参数。可以提供无需净化就能反射回来的输入,从而使Javascript在应用程序的上下文中执行。输入由web面板存储,并在用户每次访问某个视图时反映给用户,直到用户删除或覆盖恶意输入。每个路径中的易受攻击参数如下表所示。
信息披露小节中使用的相同LFI漏洞可用于完全拒绝web面板的服务。请求文件/etc/ipin将导致web面板变得非常慢,无法再使用。任何其他用户也将无法使用web面板。利用此漏洞不需要身份验证。重新启动设备将修复该问题。
攻击者如何利用这些发现发送免费短信或拨打免费电话?
攻击者简介我们认为是一个人谁可以连接到GOIP-1设备从互联网上只有公开的可用信息,没有任何更高级别的访问设备。我们的攻击者计划使用GoIP-1设备以服务的形式启动短信或诈骗呼叫,因此他们的访问级别已经达到了允许的级别。
基于我们的分析,这个博客帖子中披露的漏洞为我们考虑的攻击者创建了两个攻击的新途径。攻击者可以使用LFI漏洞获取设备的凭据,然后使用这些凭据继续使用设备。他们还可以尝试利用XSS漏洞获得相同的凭据。
要利用LFI漏洞从设备获取提取凭据,必须在上次重新启动后保存GoIP配置。很难估计保存配置的频率,从而缩小了利用窗口。利用XSS漏洞需要与受害者互动,这使得利用漏洞变得更加困难。
如果这些攻击失败,攻击者可能会诉诸凭证暴力攻击。有三个知名用户的默认密码较弱,web面板使用基本身份验证,不受暴力攻击的保护。这使得它可能是一个非常简单有效的攻击向量。
目前尚不清楚这些发现是否也适用于其他GoIP设备。同一家制造商提供最多32个信道的GSM网关。在此设置中,频道数表示可以插入设备的SIM卡数量、可以同时拨打的电话数量,以及可以发送SMS消息的不同电话号码的数量。因此,通道越多,设备对黑客就越有用。测试中使用的设备只有一个通道,因此是最不有用的。
我们强烈建议不要允许从公共互联网或任何不受信任的设备传输到此设备上的任何端口。鉴于漏洞记录和我们调查的时间有限,该设备保证包含更多漏洞。鉴于黑客攻击其中一台设备的明显价值,他们很可能会成为攻击目标。
这些漏洞在2021年11月7日被报告给设备制造商DBLTEK,结果得到了确认。Dbltek有超过90天的时间来修复这些发现,以及对修复的支持。
报告发布后,Dbltek尚未发布新版本的GoIP-1固件。然而,看看固件发布页面,我们发现我们测试的那个并不是最新、最棒的。我们没有验证最新固件中是否存在漏洞
该设备没有自动更新,更新过程也不是完全直接的。因此,可能仍在销售易受攻击的设备,并且不会更新所有设备。尽管如此,我们还是选择披露这些细节,以敦促实施自动更新,或至少简化更新过程。我们最具影响力的发现也有一个有限的开发窗口,因此不太可能将大量设备置于即时危险之中。通过披露信息,我们还希望教育潜在的设备购买者有关设备的危险。