快捷搜索:  汽车  科技

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)当我们调查引发脆弱情况的原因时,我们可以看到,只需发送正确的请求即可获得对设备的访问权限。请参阅图1,以直观地看到我们用来举例说明此触发器的HTTP请求。触发路由器漏洞密码溢出问题在深入研究如何发现此问题之前,描述此缺陷的简短方法是使用户密码无效的易受攻击的HTTP请求。在各种各样的溢出问题中,当将比预期的字符串长度短的字符串作为用户密码发送时,密码值会失真为一些非ASCII字节。但是,如果字符串太长,密码将完全无效,由空值代替。此TP-Link设备仅具有一种用户类型(具有root特权的admin),并且所有进程均由用户在此访问级别下运行,这可以使攻击者以admin的身份操作并接管设备。

Internet路由器是连接我们工作,服务和休闲的无所不在的设备,已经成为每个家庭,企业和公共场所不可或缺的一部分。尽管它们对于我们与世界的连接至关重要,但它们却是我们每天使用的最不安全的设备之一。

本文将分析TP-Link Archer C5(v4)路由器中发现的固件漏洞。这是一个零日漏洞,以前没有报告过,并且可能影响家庭和企业环境。如果利用此路由器漏洞,则远程攻击者可以通过局域网(LAN)上的Telnet来控制路由器的配置,并通过LAN或广域网(WAN)连接到文件传输协议(FTP)服务器。

远程攻击者可以通过局域网(LAN)上的Telnet来控制路由器的配置,并通过LAN或广域网(WAN)连接到文件传输协议(FTP)服务器。该缺陷可以授予未经授权的第三方使用管理员特权访问路由器,而这是所有用户在该设备上的默认设置,而无需进行适当的身份验证。在使用此类路由器启用访客Wi-Fi的商业网络上,风险更大。如果将其放置在企业网络上,则受损的路由器可能成为攻击者的切入点,并且成为侦察和横向移动策略中枢转的场所。

密码溢出问题

在深入研究如何发现此问题之前,描述此缺陷的简短方法是使用户密码无效的易受攻击的HTTP请求。在各种各样的溢出问题中,当将比预期的字符串长度短的字符串作为用户密码发送时,密码值会失真为一些非ASCII字节。

但是,如果字符串太长,密码将完全无效,由空值代替。此TP-Link设备仅具有一种用户类型(具有root特权的admin),并且所有进程均由用户在此访问级别下运行,这可以使攻击者以admin的身份操作并接管设备。

触发路由器漏洞

当我们调查引发脆弱情况的原因时,我们可以看到,只需发送正确的请求即可获得对设备的访问权限。请参阅图1,以直观地看到我们用来举例说明此触发器的HTTP请求。

我们这里有两种类型的请求:可以说是安全的和易受攻击的。对于对HTML内容的安全请求,必须验证两个参数:TokenID和JSESSIONID。但是,此处的通用网关接口(CGI)验证仅基于引用者的HTTP标头。如果它与IP地址或与tplinkwifi.net关联的域匹配,则路由器的主要服务HTTPD会将其识别为有效。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(1)

图1:易受攻击的HTTP POST请求未验证所需的参数

如果该引荐来源网址已从标头中删除,则请求将返回"禁止访问"响应。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(2)

图2:从请求中移除Reffer头— HTTP响应返回" 403 Forbidden"

此问题以相同的方式影响HTTP POST和GET请求,当字符串长度超过允许的字节数时,将取消管理员密码。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(3)

图3:HTTP GET请求同样会使密码无效

分析固件

此时,看到这些请求使密码无效后,我们想分析一下设备的固件。由于固件并不总是在供应商的网站上可用,因此我们不得不从设备的闪存芯片中提取固件。

有了存储芯片的版本号,可以更轻松地在线查找有关它的更多信息,并且我们能够使用芯片夹和二进制文件分析工具BinWalk直接从芯片中提取固件。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(4)

图4:使用BinWalk提取的路由器固件

请注意,在提取期间,有一个RSA私钥存储在内存中。访问Web服务时,此密钥用于加密和解密用户密码。

解压缩固件后,我们发现登录数据存储在rootfs / etc文件夹中。默认的用户名和密码非常弱。保留默认组合可以允许访问FTP服务器并授予控制台访问权限。如此弱的密码有很多访问权限,几乎任何人都可以猜到,而且不幸的是,它也是传播诸如Mirai的僵尸网络恶意软件的自动攻击的源头。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(5)

图5:对路由器的根访问

通过root级访问,我们现在可以获得对二进制文件的一些控制。我们也有TFTP,因此我们下载了MIPS gdbServer,这是一个用于Unix系统的控制程序,允许操作员从另一个系统远程调试其他程序。这样,调试器不需要驻留在同一设备上,只需要我们要调试的可执行文件驻留在目标系统上即可。

我们将此工具与IDA(一种多处理器反汇编程序和调试器)结合使用,以进行静态和动态分析,因此我们可以找到路由器漏洞的来源,并通过此过程来说明如何在没有漏洞的情况下找到该漏洞。实际触发它。

下图显示了在IDA上查看的已解析HTTP标头的相关部分:

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(6)

图6:已解析的HTTP标头显示了引荐来源网址设置

请注意,此处使用函数strncmp来验证带有字符串tplinkwifi.net的Referrer标头。前面的分支还验证了IP地址。附加调试器以查看这些详细信息,确认此确实是可利用的路由器漏洞。

漏洞请求

我们的下一步是检查当我们使用不同的字符串长度发送易受攻击的请求时,密码文件会如何处理。首先,我们尝试发送一个较短的字符串,只有几个字节。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(7)

图7:使用较短的密码字符串发送HTTP GET请求

该短字符串通过并损坏了密码文件。结果是用户将无法登录,攻击者也将无法登录。此问题影响Telnet,FTP和Web服务。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(8)

图8:密码文件被用户提交的较短字节串破坏

接下来,我们尝试通过密码发送超过允许的字符数的密码。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(9)

图9:通过发送长密码

这次,密码完全无效,并且该值现在为空。从那时起,我们仅使用" admin"作为用户名即可访问TELNET和FTP,而无需输入任何密码,默认情况下,该用户名是设备上唯一可用的用户。

路由器管理密码输入错误被锁定(路由器漏洞导致Admin账户密码保护失效)(10)

图10:管理员密码已失效

其他问题

在无需真正身份验证即可获得管理员访问权限后,我们发现该特定设备还允许在WAN上配置FTP。此外,我们可以通过安全的HTTPS连接远程管理路由器,这也容易受到CGI攻击。如果被恶意第三方利用,此路由器漏洞的影响可能是有害的。

攻击者不仅可以获得特权访问,而且合法用户也可以被锁定,并且不再能够通过用户界面登录Web服务,因为该页面将不再接受任何密码(用户不知道)。在这种情况下,受害者可能无法访问控制台,甚至无法访问外壳程序,从而无法重新建立新密码。即使有办法设置新密码,下一个易受攻击的LAN / WAN / CGI请求也将再次使密码无效。因此,唯一的访问将是通过USB端口连接的FTP文件。

潜在影响的另一个方面是RSA加密密钥可能会失败,因为它不是设计用于空密码值的。

最重要的是,受害者的设备FTP(如果配置为在WAN上使用)和Telnet(仅LAN)可以完全暴露给攻击者。

安界贯彻人才培养理念,结合专业研发团队,打造课程内容体系,推进实训平台发展,通过一站式成长计划、推荐就业以及陪护指导的师带徒服务,为学员的继续学习和职业发展保驾护航,真正实现和完善网络安全精英的教练场平台;即使低学历也可实现职业发展中的第一个“弯道超车”!安界就是你唯一选择,赶紧私信我!等你来!

猜您喜欢: