TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_02

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具_03

该漏洞被认为是至关重要的,因为它可以授予未经授权的第三方使用管理员特权访问路由器,而这是所有用户在该设备上的默认设置,而无需进行适当的身份验证。在使用此类路由器启用访客Wi-Fi的商业网络上,风险更大。如果将其放置在企业网络上,则受损的路由器可能成为攻击者的切入点,并且成为侦察和横向移动策略的前哨站。

此漏洞的发布遵循TP-Link负责任的披露流程,旨在帮助用户和防御者采取措施来缓解这些设备的风险。

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

密码溢出漏洞

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具_05

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

触发路由器漏洞

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_07

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_08

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

如果该引用从标头中删除,请求将返回一个“禁止访问”响应。

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_09

从请求中删除的引用——HTTP响应返回“403禁止”

此漏洞以相同的方式影响HTTP POST和GET请求,当字符串长度超过允许的字节数时,管理密码无效。

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具_10

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

看看固件

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

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_12

使用BinWalk提取的路由器固件

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_13

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具_14

对路由器的root访问

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

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

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_15

已解析的HTTP标头显示了引用程序的设置

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

攻击请求

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_17

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

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_18

被用户提交的短字节字符串损坏的密码文件

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_tftp路由器刷机修复工具_19

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

发送一个很长的密码

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_21

管理员密码已失效

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

其他漏洞

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_23

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

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

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

易受攻击的路由器比比皆是:如何保护你的数据

最近在TP-Link路由器上的这一关键漏洞只是物联网(IoT)安全领域的冰山一角。如今,几乎每个家庭都使用路由器,但根据美国消费者协会(American Consumer Institute)的一项研究,六分之五的路由器因安全漏洞没有得到充分更新。当这些漏洞出现时,数百万家庭和企业用户将面临数据泄露的风险。不仅仅是文本信息会丢失,想想网络摄像头、婴儿监视器和其他家用连接设备使用同一路由器连接互联网的画面。

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_25

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_HTTP_04

TP-Link修补程序

TP-Link已发布以下修补程序,以解决TP-Link Archer C5 v4版本和可能公开的其他版本上的此漏洞,我们建议尽快修补设备。

补丁地址:

Firmware for Archer C5 V4:

https://static.tp-link.com/2019/201909/20190917/Archer_C5v4190815.rar

Archer MR200v4:

https://static.tp-link.com/2019/201909/20190903/Archer%20MR200(EU)_V4_20190730.zip

Archer MR6400v4:

https://static.tp-link.com/2019/201908/20190826/Archer%20MR6400(EU)_V4_20190730.zip

Archer MR400v3:

https://static.tp-link.com/2019/201908/20190826/Archer%20MR400(EU)_V3_20190730.zip

本文翻译自:https://securityintelligence.com/posts/tp-link-archer-router-vulnerability-voids-admin-password-can-allow-remote-takeover/

TPLINK 摄像头 python opencv tplink 摄像头 请将手机连接到wifi_openwrt允许wan访问_27