1. 环境搭建
1.1 大蒜
大蒜,英文名IFFA(Interactive File Format Analysis) 交互式文件格式识别系统。
下载地址:“http://www.asm64.com/new/”
大蒜分为三种,白皮蒜是免费的,紫皮蒜需要密钥,独头蒜是收费的但也是性能最好的。
所以先下载白皮蒜试试
下载完解压即可。
1.2 WinDbg
windbg和WDK集成在一起,我们先下载WDK
下载地址:“https://learn.microsoft.com/zh-cn/windows-hardware/drivers/other-wdk-downloads”
按照windows版本来选择WDK
点击安装程序,选择第二个,可以自定义路径
是个是选择是否想microsoft隐匿传输信息,是否都可
安装后进入文件的”installers”路径下找到对应的debuggers安装程序,点击安装。
在左下角快捷目录中就会存在windbg。
1.3 peach
peach下载后解压,用管理员身份运行peach.exe即可
2. fuzz
开启大蒜
点击”文件”,新建工程,可以自定义工程名称。
在”样本路径”中填入路径,再点击载入样本。
如果样本路径内有多个样本,请将”精简模式”关闭,再点击”全自动分析”。
分析后,可以点击”3文件格式”,填入fuzz的对象,程序名就是fuzz测试的程序;在”生成样本路径”填入输出路径,“样本后缀名”需要和之前的一直,如果是png就填png、txt填txt;点击”输出PIT样本”。
关闭大蒜窗口,不关闭fuzz的时候可能被占用,查看相应目录下生成xml文件。
在”<Monitor class = "WindowsDebugger">“标签下和”<Monitor class = "PageHeap">“下分别加入”<Param name = "WinDbgPath" value = "C:\Program Files\Windows Kits\10\Debuggers\x64" />“,value为windbg的路径,注意”<Monitor class = "PageHeap">“下的需要缩进。
保存并退出
用管理员运行cmd窗口,切换到peach工具的目录下,先打开想要fuzz测试的程序,然后输入命令如下:
peach.exe [刚才生成的xml文件]
完成后可以查看”peach/Logs”目录,是fuzz测试的结果,我们可以通过查看文件夹大小来判断哪个为fuzz成功的样本。
fuzz没有成功则只会有一个”status.txt”。
如果文件夹中存在”Reproucing/Unknown”,说明fuzz测试成功。
此目录下会有一个bin文件,重命名为png等格式文件,再通过软件打开这个样本图片,是否报错,如果报错则说明fuzz测试成功。