D-Link路由器 HNAP协议系列漏洞披露
奇安信技术研究院
摘要
当前在“万物互联 ”的背景下, IoT设备应用日益流行,也频繁爆出高危安全漏洞。从致瘫北美大半个网
络DNS服务的 Mirai僵尸网络 [1]到动辄导致数十万摄像头暴露的安全漏洞 [2][3],可见以 Wi-Fi路由器、摄
像头、智能家居为代表的 IoT设备已经俨然成为 DDOS攻击、隐私泄漏的重要源头,对互联网安全构成严
重威胁。近期, “奇安信技术研究院 ”团队在 IoT安全方面开展了持续研究,选取主流 IoT品牌 D-Link的多
款在用路由器进行漏洞挖掘,开发了自动化测试工具集,在短时间内,高效地发掘了 14个高危漏洞,可
造成越权访问、 DNS劫持、远程命令执行等严重危害。在此基础上,研究人员结合 DNS Rebinding 技术,
实现了穿透攻击处于内网的路由器,更进一步对此类漏洞在常见应用场景下的攻击效果进行评估,结果显
示此类安全威胁广泛存在,目前所有漏洞均得到 CVE确认,并在第一时间通知相关 厂商。
1. 背景
HNAP协议(Home Network Administration Protocol )是思科公司提出的基于 SOAP实现的网络管理
协议,用户通过访问该协议的接口可以远程识别、配置、管理网络设备,普遍应用于智能家居、 SOHO办
公等中小型网络中 [4]。HNAP协议在路由器上应用广泛,同时也带来了不少安全问题,早在 2014年就爆
发了针对 Linksys路由器上 HNAP协议攻击的 “The Moon” 蠕虫,影响数十个型号 [5];D-Link设备也广泛使
用了 HNAP协议,历史上也曾爆过认证绕过 、远程命令执行等高危安全问题 [6][7]。近期,奇安信技术研
究院的研究人员选取市场上常见的 DIR-823G、DIR-878等D-Link路由器作为分析对象,发现多个新的安
全问题。所研究设备对应的固件为最新版本( FW1.02B03 、FW1.12B01 ),其官网的产品和固件最新信息
如下所示:
(更新于 2019 -06-05)
2. 漏洞挖掘与安全披露
挖掘过程: 研究人员首先通过逆向分析和动态调试澄清路由器对 HNAP协议的实现架构和处理流程,
其中 DIR-823G在goahead 完整实现了全部功能, DIR-878在lighttpd中通过调用 librcm.so 、rc模块实现。
下图所示为 DIR-823G处理 HNAP的入口函数 sub_42383C 及功能函数表 off_58C560 :
LOAD:0058C560 off_58C560: .word aSetmultipleact # DATA XREF: sub_42383C+150↑o
LOAD:0058C560 # "SetMultipleActions "
LOAD:0058C564 .word sub_433768
LOAD:0058C568 .word aGetdevicesetti_4 # "GetDeviceSettings"
LOAD:0058C56C .word sub_432D28
LOAD:0058C570 .word aGetoperationmo # "GetOperationMode"
LOAD: 0058C574 .word sub_433F70
LOAD:0058C578 .word aGetsmartconnec_4 # "GetSmartconnectSettings"
LOAD:0058C57C .word sub_464DD4
LOAD:0058C580 .word aGetuplinkinter # "GetUplinkInterface"
LOAD:0058C584 .word sub_433F48
LOAD:0058C588 .word aLogin_4 # "Login"
LOAD:0058C58C .word sub_42ACB0
---------------- SNIP--------------------------------------------------------
LOAD:0058C880 .word aGetaccessctlli_1 # "GetAccessCtlList"
LOAD:0058C884 .word sub_46F988
总共包含 101个HNAP接口的 API函数
在此基础上,综合使用二进制静态分析和动态 Fuzzing技术,发现了 DIR-823G、DIR-878存在多个命
令注入、越权访问、缓存区溢出漏洞,目前总计申请获得了 14个CVE编号。其中 DIR-823G没有开启对
HNAP API 的访问认证,导致大量敏感 API暴露,越权问题普遍存在,更严重的是数个 API函数使用中存
在命令注入,导致攻击者只需内网用户权限即可攻击网关路由器,获取路由器的 root shell ,攻击门槛低,
结合钓鱼式植入攻击即可实现大范围传播的蠕虫病毒; DIR-878虽然开启了 HNAP API 访问认证,但是 API
函数普遍存在命令注入问题,进一步的 Fuzzing过程中还发现了多处缓存区溢出、拒绝服务等安全问题。
安全披露流程: 研究人员在发现漏洞的第一时间通过厂商官网、安全服务邮箱报告了相关漏洞情况,
并积极沟通修复方法。目前 DIR-823G的漏洞披露已经收到厂商的明确 回复,具体的更新固件尚未发布。
基于此,出于安全考虑, 研究人员在 披露过程中 并未公布完整利用代码,技术讨论与申报 CVE的截图中也
均掩盖高危漏洞利用时的敏感路径和参数信息,希望厂商及时修复并更新发布固件。
3. 结合 DNS Rebinding 的漏洞危害效果评估(附视频链接)
由于路由器通常应用在局域网中,在以往的攻防对抗中,其安全漏洞的攻击面很难直接暴露在公网上,
因此,攻击者越来越多的通过钓鱼植入等方式诱导内网用户下载执行攻击代码,从而从内部控制路由器,
反向连接到 公网上的攻击者服务器,实现穿透攻击。其中 DNS Rebinding 技术即可以很好的达到这种打入
局域网内部的攻击效果,近年越来越受到攻击者的青睐,接下来我们结合这项技术展示上述路由器漏洞可
能带来的安全危害。
第一步, 选取上述漏洞中的 DIR-823G漏洞( CVE-2019 -7297),结合 DNS Rebinding 技术演示漏洞
利用过程:
该命令注入漏洞的攻击门槛低,只需要利用代码在 WLAN中运行即可。攻击者可通过发送内嵌恶意代
码的网页 URL链接给 WLAN网内用户,网页中恶意代码将多次请求攻击者的远程 DNS服务器解析主机名,
触发 DNS Rebinding ,重定向攻击控制网关路由器。由此实现,只需要一个 URL链接即可拿下路由器的攻
击效果,具体过程如下图所示:
Step1:攻击者发送恶意 URL链接 http://dnsrebind.smilehacker.net/dns_hijacking.html ;
Step2:受害者点击链接,受害者浏览恶意网页,网页 JS代码攻击篡改路由器上的 DNS服务配置;
Step3:内网其他主机用户访问重要网站(例如 login.taobao.com )被劫持。
测试环境下攻击视频演示:
https://research.qianxin.com/wp -content/uploads/2019/06/dns_rebind.mp4
攻击原理解析:
1、攻击者发送恶意 URL链接 http://dnsrebind.smilehacker.net/dns_hijacking.html ;
2、受害者点击该链接,此时 DNS server 将主机名解析为攻击者的 web服务器 IP;
3、网页中视频播放一分钟左右, JS脚本会 POST请求 http://dnsrebind.smilehacker.net/HNAP1/ ;
4、此时 DNS server 将响应客户端的第二次对 dnsrebind.smilehacker.net 的解析请求,返回地址为路由
器网关 IP192.168.0.1, 漏洞攻击数据包将送达到路由器 , 攻击成功,且不会触发浏览器跨域限制;
5、视频中 的攻击载荷修改了路由器的 DNS服务配置,将淘宝登陆域名 login.taobao.com 指向了攻击者
的仿冒网站,达到了 DNS劫持的目的。
(DIR-878的命令注入漏洞类似,但是需要破解路由器 web管理员的登陆密码,利用难度更高)
第二步,危
奇安信 D-Link路由器HNAP协议系列漏洞披露
安全报告 >
奇安信 >
文档预览
中文文档
8 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思安 于 2022-11-26 07:56:14上传分享