前言
我曾发现了D-Link路由器不同型号的多个漏洞,今天我要分享的是我最近发现的D-Link路由器的三个漏洞,综合利用这三个漏洞,可以获取D-Link路由器管理权限,实现对其成功接管。
目录遍历漏洞 – CVE-2018-10822
CVSS v3评分:8.6
漏洞描述:D-Link路由器Web界面中存在的目录遍历漏洞
漏洞危害: 允许攻击者利用HTTP请求,在“GET /uir” 后添加 /.. 或 //读取任意文件,漏洞存在原因在于D-Link路由器未完全修复的CVE-2017-6190
影响产品:
DWR-116型号中固件版本低于 1.06
DIR-140L型号中固件版本低于 1.02
DIR-640L型号中固件版本低于 1.02
DWR-512型号中固件版本低于 2.02
DWR-712型号中固件版本低于 2.02
DWR-912型号中固件版本低于 2.02
DWR-921型号中固件版本低于 2.02
DWR-111型号中固件版本低于 1.01
漏洞验证:
$ curl http://routerip/uir//etc/passwd
安全研究者Patryk Bogdan早前曾上报过该漏洞(CVE-2017-6190),但D-Link官方只在某些版本产品中进行了修复,一些新版产品中却未完全修复。
明文密码储存漏洞 – CVE-2018-10824
漏洞描述:D-Link路由器存有用户设置的明文密码
漏洞危害:攻击者可以读取存在于/tmp/目录下的用户明文密码
影响产品:
DWR-116型号中固件版本低于 1.06
DIR-140L型号中固件版本低于 1.02
DIR-640L型号中固件版本低于 1.02
DWR-512型号中固件版本低于 2.02
DWR-712型号中固件版本低于 2.02
DWR-912型号中固件版本低于 2.02
DWR-921型号中固件版本低于 2.02
DWR-111型号中固件版本低于 1.01
漏洞验证:由于目前D-Link存在大量未修复的该漏洞相关产品,为了避免对用户造成安全损害,我把具体的明文密码储存目录用XXX作了隐藏代替,明文密码具体储存位置为/tmp/XXX/0 文件中,具备上述目录遍历漏洞的攻击者可以轻松获取得到,从而实现提权。
$ curl http://routerip/uir//tmp/XXX/0
这条命令无需验证,即可获得一个二进制的config配置文件,其中包含了管理员的用户名密码和其它敏感配置信息,从而获取对D-Link路由器的控制权。
命令注入漏洞 – CVE-2018-10823
CVSS v3评分: 9.1
漏洞描述:获得身份验证的攻击者可以通过在chkisg.htm页面中注入shell命令以执行任意代码,实现设备的深入控制。
影响产品:
DWR-116型号中固件版本低于1.06
DWR-512型号中固件版本低于2.02
DWR-712型号中固件版本低于2.02
DWR-912型号中固件版本低于2.02
DWR-921型号中固件版本低于2.02
DWR-111型号中固件版本低于1.01
漏洞验证:
1、登录路由器
2、请求以下链接:
$ curl http://routerip/chkisg.htm%3FSip%3D1.1.1.1%20%7C%20cat%20%2Fetc%2Fpasswd
3、查看响应的passwd文件内容。
综合利用
综合利用以上三个漏洞,可以轻松获得对D-Link路由器的代码执行和完全控制权。
CVSS v3综合利用评分: 10.0
*参考来源: sploit