广州网站优化平台,wordpress建的大型网站,网站后台模板如何使用,青岛网站建设公司效果0x00 背景
本人第一次在FB发帖#xff0c;进入工控安全行业时间不算很长#xff0c;可能对模糊测试见解出现偏差#xff0c;请见谅。
在接触工控安全这一段时间内#xff0c;对于挖掘工控设备的漏洞#xff0c;必须对工控各种协议有一定的了解#xff0c;然后对工控协议…0x00 背景
本人第一次在FB发帖进入工控安全行业时间不算很长可能对模糊测试见解出现偏差请见谅。
在接触工控安全这一段时间内对于挖掘工控设备的漏洞必须对工控各种协议有一定的了解然后对工控协议首先具备的对网络知识以及工控行业流程有所熟悉其次就是对工控协议进行模糊测试。
0x01 模糊测试介绍
下面介绍一下模糊测试概念以及针对网络协议模糊测试的一些框架。
模糊测试就是通过非预期的输入并监视异常结果来发现软件故障的方法。相对来说比较抽象个人理解怕有偏差就不在此所描述了。
针对模糊测试目前已经开发了一些框架这些框架统称为模糊器。常见的模糊测试器有sulley(在FB上面已经有人总结过了在此不再说明)PeachSIPIKE用在UNIX下等。
0x02 工控协议安全分析
工业控制网络协议模糊测试的目的是测试工业控制网络协议的实现的健壮性它是采用构造畸形数据包将畸形数据包发送给被测工控目标从而测试被测工业控制网络协议的安全性。
下面是具体流程图 流程图具体工作原理
1、根据协议控制规范或者捕获工业控制网络协议数据流来构造正常的数据包2、分析正常协议的字段及其重要性3、根据分析的协议中不同的数据类型设计有效地变异策略。4、设计并实现工业控制网络协议数据包发包工具5、设计并实现代理器及监视器6、采用发包工具将畸形数据包发送给被测工控目标7、通过监视器探测被测工控目标异常数据记录。0x03 peach模糊测试
在研究网络协议模糊测试时对sulley和peach两大框架都有所研究依我个人而言peach相对于sulley有以下几点优势
1、sulley目前已不再维护。2、对sulley模糊测试编写程序需要有一定的python语言基础。而peach是xml格式的比较容易理解。3、sulley配置环境相对繁琐而peach配置环境相对简单目前我手头有绿色版本可以直接运行。4、sulley只能对网络协议进行模糊测试而peach相对更加多样化。上面的工业控制网络协议流程图是建立在模糊测试的基础上的下面针对讲解一些关于peach的模糊测试的知识对于初学模糊测试不必找资源而烦躁了。目前peach框架的文档相对来说较少下面讲解的是依据一些英文文档以及相关的博客总结的如有不足之处请指出。
peach概述
Michael Eddington等人开发的peach是一个遵守MIT开源许可证的模糊测试框架最初采用python编写的发布与2004年第二版于2007年发布最新的第三版使用C#重写了整个框架。
peach支持对文件格式、ActiveX、网络协议、API等进行Fuzz测试。
下载和安装
相对比较容易在Window下使用peach3需要安装.net4和windbg我用的是绿色版本。
下载地址http://pan.baidu.com/s/1eQ6XzyE
peach基础知识
peach中最重要一部分就是peach Pit配置文件。Peach Pit文件包含以下内容
1、General Configuration(通用配置2、Data Modeling数据模型3、State Modeling状态模型4、Agents and Monitors代理和监视5、Test Configuration测试配置具体编写步骤如下
?xml 版本编码之类?Peach 创建时间地址作者等等Include 包含外部文件 /DataModel 类型信息关系大小计数偏移、可嵌套等\DataModeStateModel测试逻辑状态转换/StateModelAgent监视被测目标的情况崩溃信息等/AgentTest指定使用哪个StateModelAgentPublisher、Strategy、Logger等/Test/Peach这只是编写Peach Pit配置文件的简单步骤里面涉及的属性很多下面发出给出一个测试案例 这是关于peach针对http协议模糊测试具体步骤如图所标。具体属性不做介绍详情见下面英文文档进行学习。
这是peach框架模糊测试的英文文档下载地址链接: http://pan.baidu.com/s/1gdGyJZl 密码: ibnc
0x04 peach模糊测试modbus工控协议
modbus是全球一个真正用于工业现场的总线协议是公开的协议协议报文格式比较简单。下面以modbus协议为例来讲解关于peach在工业控制协议方面的模糊测试。
modbus在TCP/IP通信数据报格式 MBAP报头字段如下 modbus中1号功能码请求的报头格式 由上面的报文格式可以组包为00 01 00 00 00 06 01 01 00 00 00 01
对modbus协议可以组包之后通过peach框架编写Peach Pit配置文件 在上图所示中简单的描述了编写网络协议模糊测试的Pit文件。里面没有涉及到代理和监听还有调试功能主要是工控设备目前不支持仅我个人理解在这里不是很懂的话请详细了解peach的英文文档多加了解。其中的日志路径实际包含运行名字和时间戳。直到检测到一个故障信息这些记录才会记录到磁盘空间。
下面是对01号功能码进行安全性测试过程如图所示 针对执行过程通过wireshark抓包可以获取通信数据流量如图所示 上面的例子只是简单的运用peach框架对工控中modbus的一个使用。
0x05 总结
模糊测试技术是发现工业控制网络协议未知漏洞和隐患的重要技术。针对工业控制网络协议在这里介绍了相关的工业控制协议模糊测试挖掘漏洞的流程图以及对peach框架简单的介绍还有对modbus协议如何组包以及如何编写peach pit文件对工业控制协议进行模糊测试实例。第一次发帖可能讲的不是很好如有新手想学习可以给我留言大神勿喷。
CSDN大礼包《黑客网络安全入门进阶学习资源包》免费分享