Files
Penetration_Testing_POC/iot/腾达AC1200路由器漏洞分析.md
CopilotandMr-xn 2b0f5a5e19 Move newly added IoT docs into /iot and update README links (#96)
* Move IoT docs into root iot directory

Co-authored-by: Mr-xn <[email protected]>

* Append missing IoT README entries

Co-authored-by: Mr-xn <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: Mr-xn <[email protected]>
2026-10-15 09:25:15 -04:00

4.2 KiB

腾达AC1200路由器漏洞分析

0431物联卫士实验室 来源:https://www.iotsec-zone.com/article/101

测试环境:Ubuntu 18.04

固件版本:V15.03.06.51_multi

固件下载地址:https://www.tendacn.com/en/download/detail-3801.html

厂商地址:https://www.tendacn.com/

0x01

首先我们将官网上面的固件下载到本地使用binwalk对固件进行解包

binwalk -Me US_AC6V2.0RTL_V15.03.06.51_multi_TDE01.bin 

看来固件没有加密,成功拿到文件系统

0.png 接下来我们对固件升级包解压后的文件进行分析

通过对其前端的登录页面可以发现,路由器使用的登录方式是POST请求传参,密码使用的MD5加密

1.png

2.png 对系统服务httpd文件分析,可以得知改路由器没有对登录进行次数限制,换句话说已知用户名admin未知密码,我们就可以使用密码爆破的手法进行登录

3.png 身份验证则采用的是cookie方式,换句话说cookie等于密码的MD5+随机8位字符串

4.png 路由器的管理员密码我设置的是12345678,验证其cookie的值是否是MD5+随机8位字符串

5.png

0x02 CVE-2020-28093

我们在进行login逻辑分析的时候,看到一行这样的代码

6.png

可以看出如果请求的url不是/goform/telnet或者/goform/ate,那么就会return 0。他没有写else也就是说当url是/goform/telnet的时候就会触发开启telnet,后面还加了g_Pass[0]也就是说这是一个在登录状态下才会启动成功,我们直接浏览器访问

7.png 返回状态没有报错,使用工具nmap扫描一下端口,可以看到telnet端口已经开启

8.png 直接登录telnet,通过百度查询可知账号root密码Fireitup

9.png 尝试写一个txt文件验证一下

10.png 发现这是一个只读文件系统,最后发现webroot目录是具有写入权限的但是重启之后会被重置

11.png

12.png 我们可以使用tar命令将整个文件系统进行打包带webroot目录下面,在通过授权的访问下载出来整个文件系统

0x03.CVE-2020-28095

根据wireless_ssid.js可以看到提交的数据接口为goform/WifiBasicSet

13.png 根据IDA的函数名进行搜索WifiBasicSet,可以看到获取传递的值,默认的值为12345678

14.png 当wrlPwd的长度超过一定范围时,触发溢出漏洞,从而导致设备进入DOS状态。经测试可知,一旦设备进入到DOS状态只有重置路由器才可以恢复到正常使用状态。

**视频链接:http://mpvideo.qpic.cn/0bc33uacaaaakaaotqqexjrfbxodedoqaiaa.f10002.mp4?dis_k=9af10781f34c9b2e6403d6e004e30adf&dis_t=1644488534&vid=wxv_2263055816461385730&format_id=10002&support_redirect=0&mmversion=false**