首页
社区
课程
招聘
[翻译] TP-Link C2 和 C20i 的多个漏洞
发表于: 2017-3-2 17:16 7906

[翻译] TP-Link C2 和 C20i 的多个漏洞

2017-3-2 17:16
7906


TP-Link的C2和C20i型号易受命令注入(经过验证的root权限的RCE),DoS,不正确的防火墙规则的攻击。


产品描述

TP-Link是中国的计算机网络产品制造商,生产诸如路由器和IOT设备。


漏洞摘要

直到TP-Link C2和C20i的最新固件版本为止(0.9.1 4.2 v0032.0 Build 160706 Rel.37961n),HTTP管理接口中都存在命令注入,经过身份验证的攻击者可获取具有root权限的远程shell。

攻击者可以通过Dos来攻击HTTP服务器,而且默认情况下,WAN接口上的防火墙规则过于宽松。


详述 - 具有单个HTTP请求的RCE

使用所谓的“Diagnostic”页面,攻击者可以在使用ping工具的远程主机上运行包括telnetd在内的任何命令:


在验证时(参考base64格式的credentials),直接发送这个HTTP请求就可以启动路由器25 / tcp端口上的telnetd服务,而不需要许可:


攻击者也可以使用backsticks来执行命令:


结果:


用这个RCE,攻击者就可以编辑 /dev/mtd3 来转存、修改配置。 配置是XML格式,位于MTD(64K)的起始位置(从偏移0x10开始)。

如果攻击者在u-boot分区的头部随机写字符,发送这个字符串,会使路由器无法完成引导,被阻塞掉:


详述 - DoSing HTTP服务器

在验证(请参阅base64格式的凭据)时,直接发送此HTTP请求将导致远程HTTP服务器崩溃:


详述 - Iptables的许可规则

通过在/var/tmp/dconf/rc.router中编写命令并在此文件上使用system(),可以在/lib/libcmm.so中生成缺省iptables规则。

/var/tmp/dconf/rc.router:

默认情况下,每个接口上的SNMP端口都是打开的:

可以使用iptables在路由器上验证:

你也可以查看/var/tmp/dconf/rc.router来检测。

庆幸的是,尽管SNMP配置可以通过隐藏的main/snmp.html网页来修改,但有迹象显示,snmpd已经从防火墙的镜像中移除了。


详述 - 杂谈

这些二进制文件(/usr/bin/cos, /usr/bin/tmpd, /lib/libcmm.so)都是设计的很糟糕的程序,大量的system()函数都是以root权限运行。

/usr/bin/cos 是一个在 /etc/init.d/rcS (cos &)结尾运行的拥有root权限的守护进程: 它使用系统函数启动所有的守护进程 (httpd ntpc dnsProxy dhcpd dhcpc snmpd upnpd diagTool voip_server voip_client pjsua cwmp wlNetlinkTool pppd dyndns igmpd zebra ushare smbd vsftpd telnetd, noipdns hostapd ipsecVpn radvd mldProxy racoon wscd...)

/usr/bin/tmpd是一个root权限的守护进程,它监听了 127.0.0.1:20002端口.

/lib/libcmm.so是包含所有主系统函数的二进制文件 ,比如(system reinitialisation [admin:$1$$iC.dUsGpxNNJGeOm1dFio/:0:0:root:/:/bin/sh], wifi configuration, debugging with TFTP[hi dutserver!], VPN configuration, ifconfig interfaces, insmod /lib/modules/pptp.ko, ...)

`Vsftpd` 的部分默认密码是弱口令:



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 6112
活跃值: (1212)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
2
不错哦~
2017-3-2 18:30
0
游客
登录 | 注册 方可回帖
返回
//