IoT固件漏洞挖掘工具
firmeye 是一个 IDA 插件,基于敏感函数参数回溯来辅助漏洞挖掘。我们知道,在固件漏洞挖掘中,从敏感/危险函数出发,寻找其参数来源,是一种很有效的漏洞挖掘方法,但程序中调用敏感函数的地方非常多,人工分析耗时费力,通过该插件,可以帮助排除大部分的安全调用,从而提高效率。
分享:slides
该插件运行环境要求 IDA Pro 7.5,Python3。
https://github.com/firmianay/firmeye.git
。pip install -r requirements.txt
。firmeye
和 firmeye.py
复制到 IDA Pro 插件目录下,例如 C:\Program Files\IDA Pro 7.5\plugins
。Ctrl+F1
查看插件使用帮助。热键:
Ctrl+Shift+s
:主菜单Ctrl+Shift+d
:启动/禁用调试钩子Ctrl+Shift+c
:扫描代码模式(TODO)Ctrl+Shift+x
:逆向辅助工具Ctrl+Shift+q
:功能测试敏感函数被分为 5 类:printf、strcpy、memcpy、scanf、system。分别对应各自的漏洞类型和检测规则。
对静态分析得到的可疑地址下断点,并在调试时动态处理断点事件,获得参数、返回值等上下文信息。
利用 idahunt 可以让插件自动化批量运行,使用方法如下:
$ python3 idahunt.py --inputdir C:\xxxx --analyse --filter "names.py -a 32 -v" # 生成IDB
$ python3 idahunt.py --inputdir C:\xxxx --cleanup # 清理临时文件
$ python3 idahunt.py --inputdir C:\xxxx --filter "names.py -a 32 -v" --scripts "firmeye_cli.py" # 运行脚本
该插件目前还非常不完善,下面是一些改进方向,欢迎讨论和 PR。
VulnTotal安全致力于分享高质量原创文章和开源工具,包括物联网/汽车安全、移动安全、网络攻防等。
GNU General Public License v3.0