找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 68|回复: 0

【转】D-Link多款路由器存在cli命令注入

[复制链接]

2万

主题

128

回帖

10万

积分

管理员

积分
105670
发表于 2022-9-29 14:58:20 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
D-Link多款路由器存在cli命令注入


漏洞详情

CVE-2022-1262,多款D-Link 路由器固件映像上的 /bin/protest二进制文件容易受到命令注入的攻击。这允许经过身份验证的攻击者以 root 身份执行任意 shell 命令,并且可以很容易地用于在设备上获取 root shell。

固件解密

dlink的dir系列解密方法很相似,大多都是在上一版本中存在固件解密文件,一般是以qemu用户态运行解密程序就可以完成,如果找不到未加密的版本或者中间版本的固件时,可找型号相近的固件,实际测试中,某些型号的固件解密程序确实是通用的,大致操作如下,根据架构切换执行根目录,运行相应二进制解密文件

漏洞复现

在路由器文件系统根目录下,chroot切换根路径

启动cli,以进入router终端。

(在实际运行的设备中,这里是一个后门,使用telnet连接,账户为admin,web口令+硬编码@twsz2018,如passwd@twsz2018,即可进入)


直接运行系统命令会出错,加上分号截断,可以成功执行系统命令

漏洞分析

IDA分析/bin/protest,已知存在命令注入漏洞,首先查看system调用,有一处会将输入的client_secret值拼接到字符串使用system()去执行,复现时第一条回显信息和伪代码片段上方的printf信息吻合,说明程序确实执行到system()上方,也就没有再去调试看

漏洞复现总结

1、设备cli命令注入、溢出漏洞多见于交换机或者防火墙中,因其cli一般为受限制,是用户态接口,多为一些系统、运维的配置命令,若想直接执行系统命令getshell,就需要“逃逸”。

2、此漏洞的重点在于,通过硬编码口令,使用telnet进入router cli(是一个低权限的cli),查看所有功能接口,找到对应二进制文件或者关键字符串,在文件系统中检索,随后思路就与分析常规web管理程序或cgi程序步骤相同,找输入点路径,找危险函数,分析逻辑等等。

3、如直接在固件包中分析protest(或者使用一些自动化分析脚本,污点分析脚本),由于存在漏洞的函数是被外部调用,这里是cli程序调用,再向上回溯调用流程,比较麻烦,如果没耐心的话也可能就会放弃这条链(说我自己),所以直接定位到可疑输入点/程序,无疑是提升信心和效率的一个好方法,属个人挖洞习惯的思路,各位大佬勿喷。

应用拓展

当复现完漏洞,在想protest其他参数是否也存在漏洞,看到protest —help有led参数,所以直接试了一下,结果是成功执行了ls命令

我去按照字符串检索了一下,根据我传的参数,protest程序走到了如下路径,因为确实成功创建了ban_led文件

但是并没有看到命令注入漏洞,怎么还会执行ls命令?查看了一些可能命令注入的敏感函数,路径也对应不上,想是不是cli程序存在命令注入,未分析前,先大胆试一下cli的其他功能接口,就ated(cli help)

尝试直接在ated命令后加分号截断,执行了ip命令

拖cli程序进ida分析,检索字符串ated,注册的皆为help看到的接口命令

点进去函数看一下,a2被拼接到v11中,最终被systemCMD()执行,后者为封装后的popen()

其他的cli注册接口命令也是大同小异,存在与ated接口同样的漏洞。要是逐个接口再去分析,说不定还会找到更多的“逃逸”方法,像protest程序那样,不过我看其他的都是ipconfig之类的,八成厂商也不会自己改,意义不大,就没在看了。

以上只是笔者偶然复现中的发现和一些拙见,没有深入分析,如有哪里不正确,还希望各位大佬一定指正,感谢!!!


转自:iotsec-zone


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|IOTsec-Zone|在线工具|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-5-4 12:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表