FirmWire:一款功能强大的全系统基带固件仿真平台

关于FirmWire

FirmWire是一款功能强大的全系统基带固件仿真平台,在该工具的帮助下,广大研究人员可以轻松对设备基带固件系统/镜像进行模糊测试、调试或安全分析。

支持的镜像

MediaTek

Samsung A10s (MT6762)

Samsung A41 (MT6768)

Shannon

Most images for Galaxy S7, S7e (S335)

Moto One Vision (S337)

Galaxy S8, S8+ (S355)

Galaxy S9 (S360)

Galaxy S10, S10e (S5000)

工具安装

我们建议广大研究人员使用提供的Dockerfile来安装、下载和使用FirmWire。下列命令执行后可以构建Docker文件:

git clone https://github.com/FirmWire/FirmWire.git

cd FirmWire

git clone https://github.com/FirmWire/panda.git

 

# This will take some time

docker build -t firmwire .

接下来,运行下列命令之后,我们将会得到一个指向FirmWire Docker环境的交互式Shell:

docker run --rm -it -v $(pwd):/firmwire firmwire

工具使用

安装好FireWire之后,我们就可以使用下列命令来运行FirmWire,并开始我们的基带固件仿真了:

$ ./firmwire.py modem.bin

上述命令将会自动识别固件文件,并解压固件,然后选择对应的加载工具和设备来运行固件。除此之外,我们还可以通过URL来加载固件文件:

$ ./firmwire.py https://github.com/grant-h/ShannonFirmware/raw/master/modem_files/CP_G973FXXU3ASG8_CP13372649_CL16487963_QB24948473_REV01_user_low_ship.tar.md5.lz4

当前版本的FirmWire支持MediaTek MTK和三星Shannon系列固件镜像。

需要注意的是,FirmWire需要使用不同的TCP端口来完成其操作,如果你的设备端口受限制的话,请使用“–consecutive-ports”选项来指定需要使用的端口。比如说,如果端口10000-10005是空闲的,则可以使用下列命令来调用FirmWire:

$ ./firmwire.py --consecutive-ports 10000 modem.bin

工具使用演示

图片[1]-FirmWire:一款功能强大的全系统基带固件仿真平台-NGC660 安全实验室

许可证协议

本项目的开发与发布遵循BSD-3-Clause开源许可证协议。

项目地址

FirmWire:GitHub传送门

参考资料

https://firmwire.github.io/docs/installation.html

https://hernan.de/research/papers/firmwire-ndss22-hernandez.pdf

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

© 版权声明
THE END
喜欢就支持一下吧
点赞6赏点小钱 分享