基於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

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