Modbus PLC攻击分析 -.docx

上传人:紫*** 文档编号:4126784 上传时间:2021-02-15 格式:DOCX 页数:11 大小:3.18MB
返回 下载 相关 举报
Modbus PLC攻击分析 -.docx_第1页
第1页 / 共11页
Modbus PLC攻击分析 -.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《Modbus PLC攻击分析 -.docx》由会员分享,可在线阅读,更多相关《Modbus PLC攻击分析 -.docx(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Modbus PLC攻击分析:Smod渗透框架研究前言:Modbus 是由Modicon公司1979年发行的,已经被广泛应用于工业控制现场的应用层协议,如Modbus协议已被广泛应用于在监控和控制现场设备。Modbus协议最初是通过串行数据进行通信的,也就是Modbus Serial协议。随着工业现代化的发展,产生了Modbus TCP协议,即通过与TCP协议相结合来发送和接收Modbus Serial数据。Modbus的出现是为了使工业现场设备实时地接收和发送相关命令和数据,然后最重要的安全措施在Modbus的设计之初并没有被考虑进去。通过前一篇对Moubus模拟器的使用和基础知识的理解,本

2、文主要深入研究Modbus专属的渗透框架Smod,以及一些对Modbus PLC设备的扫描和漏洞利用脚本。安全环境介绍:自1979年以来,作为业界系列上的标准,Modbus已经使数百万自动化设备能够进行通信。这些设备在全世界分布着,下图是SHODAN搜集协议使用分布区域的动态立体图。大家可以看一下,链接:https:/ics-radar.shodan.io/然而广泛的使用也必然引起黑客们的注意,随之而来的是爆出各种各样的安全问题,包括拒绝服务、远程代码执行和堆栈缓冲区溢出等漏洞,下方是部分关于Modbus协议和Schneider设备的漏洞:Smod介绍:Smod是一个模块化的Modbus渗透测

3、试框架,可以用来测试Modbus协议所需的各种诊断和攻击功能。这是一个使用Python和Scapy的完整的Modbus协议实现。这个软件可以在python 2.7.x下的Linux / OSX上运行。近年来,SummerySCADA(过程控制网络)系统已经从专有封闭网络转向开源解决方案和支持TCP / IP的网络。这使他们容易受到我们传统计算机网络面临的相同安全漏洞的影响。由于Modbus/TCP协议简单且容易实现,而且广泛应用于电力、水力等工业系统。所以Smod框架均使用Modbus/TCP协议。而且Smod框架可以用来评估一个Modbus协议系统的漏洞。下图是启动Smod:下载链接:htt

4、ps:/ PLCS设备及版本modicon-info.nse(需添加)识别并列举Schneider Electric Modicon PLCmodbus-enum.nse (需添加)识别并枚举使用Modbus的设备检测脚本下载地址:https:/ Electric的设备及版本号,还有开启的502端口和sid(设备ID)。使用modicon-info.nse脚本获取更详细的信息:BMX P34 2020:BMXP34高性能CPU,内置USB口,Modbus,EthernetTCP/IPFireware:固件版本v3.2Memory Card:BMXRMS008MP 内存卡8MBSmod渗透:接下

5、来我们来使用Smod,看看它有哪些厉害的功能:1、 暴力破解PLC的UID2、 网络嗅探进行ARP地址欺骗3、 枚举Modbus PLC的功能4、 模糊读写单一或多个线圈功能5、 模糊读写单一或多个输入寄存器功能6、 测试读写单一或多个保持寄存器功能7、 测试单个PLC 所有功能8、 对单个或多个线圈写值进行Dos攻击9、 对单个或多个寄存器写值进行Dos攻击10、对ARP地址欺骗进行Dos攻击首先我们暴力破解PLC的UID,因为接下来的操作,例如读写线圈和寄存器或者Dos攻击,都需要带上UID,所以我们先使用/modbus/scanner/uid这个模块。如下图所示,我们填写好RHOSTS

6、IP后直接exploit,获取到的UID为1。接着我们对Modbus PLC的功能进行枚举(/modbus/scanner/getfunc),携带上UID,查看我们可以针对其PLC做哪些渗透工作,如下图所示,发现基本常用的功能码(Function Code)都支持,那接下来就好办了。知道了该PLC支持的功能,我们先选择读取线圈看一下是否成功(/modbus/function/readCoils),发现读取成功了Coils给了回应,如下图所示:接下来我们主要对保持寄存器进行读取(/modbus/function/readHoldingRegister),需要设置的参数如下:RHOSTS:xx.x

7、x.xx.xx(IP)Quantity:00010(为读取寄存器连续个数,默认为10个,对应组态软件的通道数量,这里我们读取16个,所以换成16进制是0010)StartAddr:00064(为寄存器起始地址,默认从0开始,这里我们从100开始,所以换成16进制是0064)UID:1如下图所示,读取到了registerval(寄存器的值):Dos这块的攻击我就不演示了,把我一群PLC设备弄挂了我上哪哭去篇幅原因,我再演示对单个寄存器的写值功能,其他模块的功能大同小异,大家有空可以一一尝试哈,如果有不理解的地方,可以直接评论或者私信俺。如下图所示,设置好了寄存器的数据存放地址和值,成功写入。总结

8、:使用了Smod渗透框架才知道,我们在一个PLC的网络里,居然可以做这么多坏事!读写线圈和寄存器,还有Dos攻击,这些对PLC都是致命的,所以一个Modbus协议系统里需要多层次的安全防御手段,例如流量异常行为检测,只有可信任的设备,才能接入工控系统网络,且需要进行身份认证,确保登陆者也是可信任者。对Modbus 系统进行日志记录和安全审计功能,记录操作的时间、地点、操作者和操作行为等关键信息从而提供安全事件爆发后的追查能力。当然,之前讲述了很多Modbus协议和PLC设备被爆出的漏洞,所以企业也要定期对工控系统进行漏洞扫描,即时修补漏洞更新软硬件。后续将与大家一起更深入研究Modbus协议,通过Python的modbus_tk模块进行读写PLC并进行详细的流量分析。*本文作者:黄一113530,转载请注明来自FreeBuf.COM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com