基于Win10的Peach下载安装以及Modbus模糊测试

Peach安装

Peach介绍

Peach是开源Smart Fuzz工具,支持两种Fuzz方法:基于生长(Generation Based)、基于变异(Mutation Based)

1.基于生长:产生随机或启发性数据填充给定的数据模型

2.基于变异:在给定样本文件的基础上进行修改

Peach安装前准备

安装Peach需要先下载安装Debugging Tools for Windows
windbg下载地址

选择download,不选install
只勾选Debugging Tools for Windows即可

Peach安装

Peach3下载地址(也许需要翻墙)
或者使用这个:https://github.com/TideSec/Peach_Fuzzing
直接解压就好

测试

打开cmd,运行以下命令:

Peach.exe samples/HelloWorld.xml

如果出现一堆乱码就说明安装成功了!恭喜!


Modbus模糊测试

编写pit文件

放一个测试01号功能码的xml文件:modbus01.xml

<?xml version="1.0" encoding="utf-8"?>
<Peach xmlns="http://peachfuzzer.com/2012/Peach" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://peachfuzzer.com/2012/Peach ../peach.xsd">

 <DataModel name="ModbusTCP"> 
   <Number name="TransactionId" size="16" />
   <Number name="ProtocoId" size="16" value="0"  mutable="false"/>
   <Number name="DataLength" size="16"  signed="false" endian="big">
	<Relation type="size" of="UnitIdAndData"/>
   </Number>
   <Block name="UnitIdAndData">
	   <Number name="UnitId" size="8" value="1" mutable="false"/>  <!-- 不加mutable="false" 说明要对该数值进行fuzz -->
		<Block name="ReadCoils">
		   <Number name="ReadCoilsFuncionCode" size="8" value="1" />
		   <Number name="StartAddress" size="16" endian="big" />
		   <Number name="NumberOfCoils" size="16" endian="big" />
		</Block>
  </Block>
 </DataModel>

 <StateModel name="StateVfolder" initialState="initial">
   <State name="initial">
    <Action type="output">
      <DataModel ref="ModbusTCP" />
    </Action>
  </State>
 </StateModel>

 <!--使用socket进行监听端口 -->
 <Agent name="Local">
  <Monitor class="Socket">
   <Param name="Host" value="127.0.0.1" />
   <Param name="port" value="502" />
  </Monitor>
 </Agent>

 <!--log保存-->
 <Test name="Default">
  <Agent ref="Local" />
  <StateModel ref="StateVfolder" />
  <Logger class="File">
   <Param name="Path" value="logs" />
  </Logger>

  <Publisher class="tcp.Tcp">
   <Param name="Host" value="127.0.0.1" />
   <Param name="Port" value="502" /> 
  </Publisher>

 </Test>
</Peach>

具体是什么意思网上有很多,请自行查找或者查看最底部的参考链接。

运行

Peach.exe samples/modbus01.xml

在这里插入图片描述

然后等结果就好了(是的我正在等,哦记得打开Modbus模拟器,以及Wireshark做好数据记录)

Modbus模拟器的使用请参考:
modbus-poll,modbus-slave用法(有关功能码和读写)

Peach的扩展使用

应该还有别的功能,以后补充

参考链接

深入探究文件Fuzz工具之Peach实战
https://www.freebuf.com/sectool/120650.html
工控网络协议模糊测试:用peach对modbus协议进行模糊测试
https://www.secpulse.com/archives/119442.html
基于Peach的工业控制网络协议安全分析
http://jst.tsinghuajournals.com/CN/rhhtml/20170110.htm#
Peach+Fuzzer
https://www.cnblogs.com/baoyu7yi/p/7264971.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章