技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
CVE-2017-17215 华为HG532路由器RCE漏洞复现
XiDP
发表于 江苏
IoT安全
2369浏览 · 2025-06-07 12:12
返回文档
漏洞描述
CVE-2017-17215
是
CheckPoint
团队披露的远程命令执行(
RCE
)漏洞,存在于华为
HG532
路由器中。
该设备支持名为
DeviceUpgrade
的一种服务类型,可通过向
/ctrlt/DeviceUpgrade_1
的地址提交请求,来执行固件的升级操作。
可通过向
37215
端口发送数据包,启用
UPnP
协议服务,并利用该漏洞,在
NewStatusURL
或
NewDownloadURL
标签中注入任意命令以执行。
漏洞披露:
https://research.checkpoint.com/2017/good-zero-day-skiddie/
附件下载:
通过网盘分享的文件:HG532eV100R001C02B015_upgrade_main.bin
链接:
https://pan.baidu.com/s/1r9fkxyNBKFhvu0uDRKzElg?pwd=xidp
提取码: xidp
漏洞分析
根据官方的漏洞报告,我们知道漏洞存在于
/bin/upnp
二进制文件
按照官方报告中提到的
NewStatusURL
或
NewDownloadURL
两个字符串进行定位,找到漏洞点位于
sub_407B20
这个函数中
漏洞点存在于上图中的
第18行
,这个
snprintf函数
会将我们发送的标签内容写入字符串,并且之后会使用
system
执行该字符串
这就很明显会存在一个任意命令执行漏洞
snprintf函数
会将我们发送的标签内容写入
v6
中,而下面的
system函数
会将
v6
中字符串的内容当做命令来执行,显然这是一个命令执行漏洞,我们可以在
NewStatusURL
或
NewDownloadURL
标签中注入任意命令以执行
基础的环境配置
基础的IOT环境配置(
binwalk/sasquatch/qemu
等)可以参考这篇文章中的环境配置:
DIR-815 栈溢出漏洞(CNVD-2013-11625)复现-先知社区
使用qemu复现漏洞
下载地址 :
Index of /~aurel32/qemu/mips
需要准备
vmlinux-2.6.32-5-4kc-malta
内核以及
debian_squeeze_mips_standard.qcow2
镜像文件
注意: 这里最好不要使用别的版本的内核,因为我们后面运行mic可执行程序对内核版本有要求,过高或过低都会导致mic文件启动失败从而导致无法复现
使用下面
start.sh脚本
来启动
qemu虚拟机
使用
chmod +x start.sh
命令给脚本赋予权限, 最后使用
./start.sh
命令启动
qemu虚拟机
qemu虚拟机
的初始账号和密码均为
root
进入虚拟机后使用
ip addr
命令来查看一下网卡,一般是
eth1
下面我们使用
nano /etc/network/interfaces
这个命令修改
interfaces
文件中的内容为如下
也就是将其中的
eth0
修改为
eth1
然后退出之后执行
ifup eth1
执行结束之后我们就使用
ip addr
继续查看
qemu虚拟机
的
ip地址
然后我们就可以使用ssh来连接了
这里有可能会报错,如果我们之前使用过别的
qemu虚拟机
,并且另外一个
qemu虚拟机
仿真的时候也使用这个同样的虚拟ip地址
那么就会导致同一个ip地址链接的时候本地保存的密钥对不上,会出现以下错误
我们可以执行下面命令删除本地旧的密钥记录然后重新进行连接获取密钥
然后使用
scp命令
将
Ubuntu物理机
中的
squashfs-root
文件传入到
qemu虚拟机
中
按照官方报告中所说我们需要打开
37215
端口,并对该端口下的
/ctrlt/DeviceUpgrade_1
地址发送数据包,然后我们就可以利用设备内置的
UPnP
服务
下面我们使用
grep -r '37215'
命令,我们可以发现文件中的
/bin/mic
这个文件中含有这个端口,所以我们可以通过这个文件来打开
37215
端口
我们返回到
qemu虚拟机
中,然后进入其中的
squashfs-root
文件夹,使用命令
chroot . sh
然后进入
/bin
文件夹,随后使用
./mic
来运行程序开启端口
然后我们返回
Ubuntu物理机
使用
nc -vv 192.168.52.141 37215
来查看是否能够成功连接上这个端口
下面编写exp:
下面这是运行
./mic
的窗口(这个图中我已经执行了一次exp,并且执行了
ls
命令)
下面这是执行exp的情况
这是执行了上面这次exp之后
./mic
窗口的情况出现了新的内容,虽然我们没有办法通过exp窗口查看,但是我们可以确定我们的命令是成功执行的
最后我们成功复现了
CVE-2017-17215
漏洞
参考:
一些经典IoT漏洞的分析与复现(新手向) - IOTsec-Zone
0
人收藏
0
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
发布投稿
热门文章
1
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
2
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
3
从白帽角度浅谈SRC业务威胁情报挖掘与实战
4
基于规则的流量加解密工具-CloudX
5
从0到1大模型MCP自动化漏洞挖掘实践
近期热点
一周
月份
季度
1
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
2
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
3
从白帽角度浅谈SRC业务威胁情报挖掘与实战
4
基于规则的流量加解密工具-CloudX
5
从0到1大模型MCP自动化漏洞挖掘实践
暂无相关信息
暂无相关信息
优秀作者
1
T0daySeeker
贡献值:38700
2
一天
贡献值:24800
3
Yale
贡献值:18000
4
1674701160110592
贡献值:18000
5
1174735059082055
贡献值:16000
6
Loora1N
贡献值:13000
7
bkbqwq
贡献值:12800
8
手术刀
贡献值:11000
9
lufei
贡献值:11000
10
xsran
贡献值:10600
目录
漏洞描述
漏洞分析
基础的环境配置
使用qemu复现漏洞
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板