最新漏洞

TP-Link路由器命令注入漏洞分析

0x01 背景

TP-Link TL-WVR等都是中国普联(TP-LINK)公司的无线路由器产品。

多款TP-Link系列产品存在命令注入漏洞,攻击者在登录后可发送恶意字段,经拼接后导致任意命令执行。

该漏洞由coincoin7发现,漏洞编号CVE-2017-16957

0x02 受影响产品

TP-LINK TL-WVR系列
TP-LINK TL-WAR系列
TP-LINK TL-ER系列
TP-LINK TL-R系列

0x03 漏洞分析

根据原文提供的链接,下载了TL-WVR450L的固件,使用binwalk解包,拿到squashfs系统文件,再用squashfs-tools将文件提取出来。

下面是原作者提供的漏洞信息
受影响组件:uhttpd
漏洞文件:/usr/lib/lua/luci/controller/admin/diagnostic.lua
漏洞函数:zone_get_effect_devices(t)

89行将传递的参数没有经过任何检查过滤,直接拼接到cmd,通过io.popen进行命令执行。
找到当前文件调用zone_get_effect_devices的ping_action函数

这里将传递的http_form进行json解析,将json参数params.iface传入函数zone_get_effect_devices。
继续往上找到调用ping_action的start_action函数

继续往上找调用start_action

根据上面需要填写的信息,POST请求 [省略]/admin/diagnostic?form=diag,构造json编码的data数据

在Web认证登录后,发送构造好的恶意Payload,执行命令telnetd -p 24 -l /bin/sh,就会打开路由器的telnet功能。

漏洞利用脚本exp.py:

exp需要下载RSA_Encryption_For_Tplink.js才能使用

0x04 参考链接

https://github.com/coincoin7/Wireless-Router-Vulnerability/blob/master/TplinkDiagnosticAuthenticatedRCE.txt

0x05 后语

通过挖掘发现,存在命令注入的不止diagnostic.lua一处,全局搜索io.popen,你们懂的。感兴趣的同学可以去找下。

投稿者:Wfox

(9)

本文由 安全周 作者:SecJack 发表,转载请注明来源!

关键词:,

热评文章

发表评论