网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

无线安全团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 无线安全 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架

文章来源:重庆网络安全 发布时间:2020-03-18 14:59:35 围观次数:
分享到:

摘要:工控安全主要包括工控设备私有协议安全分析,工控设备固件系统的安全以及工控设备应用程序的安全等。利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架。

 工控安全主要包括工控设备私有协议安全分析,工控设备固件系统的安全以及工控设备应用程序的安全等。利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架。


环境说明


  在互联网上找到了一个有用的S7模拟器,压缩包打开如下:

blob.png

 实际上,我们需要使用serverdemo.exe,这是我们通常的PLC设备。将用它连接构造代码并执行一些操作,例如停启的操作。但是使用它的clientdemo.exe也可以互相连接,让我为您展示连接图:

blob.png

  1. 192.168.198.1是本地IP,请使用ipconfig进行检查填写(serverdemo.exe)


  2.单击start启动server,非常简单明了(serverdemo.exe)


  3.这是查看下面日志就显示serverstarted(serverdemo.exe)。


  4.client上填写server的ip192.168.198.1(clientdemo.exe)


  5.单击connect连接(clientdemo.exe)


  6.然后继续检查server的日志,显示client已经added(serverdemo.exe)

  如果需要进一步的详细要求,则可以设置其他参数。


实验步骤


  (1)打开serverdemo.exe并设置IP。

blob.png

(2)接下来,我们需要构建代码以连接到模拟器。 在这里,我使用Industrial Exploitation Framework

(ISF)。ISF是类似于metasploit的基于python的工控漏洞利用框架。这是工业控制资深人士的研究成果。在下图中可以大致看一下Exploit模块,其中包含一些具有高度通用性的工业控制协议的漏洞利用模块。

blob.png

  (3)我们选择模块s7_300_400_plc_control,它是用于启动和停止S7-300/400 PLC的脚本。ISF框架对工业控制的初学者非常友好。其模块可以在Kali中使用,如下图所示:

blob.png

(4)在使用s7_300_400_plc_control模块之前,让我们看看它是如何编写的。下图是其核心代码。它用于启动和停止S7-300 / 400 PLC。对于初学者来说可能很好奇。负责启动和停止的长十六进制数字是什么意思? 实际上,它们遵循S7-Comm通信协议并具有固定的表达规范。

blob.png

(5)然后在Kali中设置s7_300_400_plc_control模块,发现只需要设置目标IP。我们填写服务器的IP(192.168.198.1)。默认情况下,command选项已为2(stop plc),因此我们不需要更改它。然后,我们直接run运行exploit,发现它已成功运行,如下所示:

blob.png

(6)这时,我们检查了我们的S7模拟器,发现STOP已成功运行,事实证明这非常顺利!

blob.png

(7)在kali与plc之间的通信期间,还抓取了一些S7-Comm软件包进行分析,发现它们与正常的plc通信完全一致。当然,朋友也想做其他操作,例如阅读,上传等功能。您可以使用不同的功能代码编写一些测试代码,以进行更深入的研究。

blob.png

blob.png

总结一下


  演示发现直接启停PLC以及控制PLC输出非常危险,但也容易。S7Comm协议主要用于S7-200,S7-300和S7-400 PLC之间的通信。 该协议与防止重播攻击的S7CommPlus(S7-1500等)加密协议不同,它不涉及任何的反重放攻击机制,易于被攻击者利用。


  显然,西门子博途系列产品(例如S7-1200v4.0和S7-1500)使用S7CommPlus协议更加安全,但是经典的S7-300和其他PLC设备真的没有安全保护措施吗?实际上,从设备级别来看,硬件配置接口的CPU模块具有protecti

on选项卡。您可以选择保护级别来设置密码以进行密码保护。从开发级别开始,尝试使用后台数据块和多种后台数据传输方法。另外,更多间接寻址编程方法被用来提高安全性。从用户级别看,在没有使用内存容量的情况下,请勿删除被认为无用的程序,或使用EEPROM反向写入功能,有些则需要设置内存保留功能。这样可以大大提高使用PLC设备的安全性。 


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:西门子PLC系列S7-300 工控工具 工控框架 重庆网络安全公司

上一篇:APT攻防之DLL劫持技术与白利用结合
下一篇:定位服务不等于GPS,不同用户适用不同定位数据防泄漏措施

热门资讯

鼠标向下滚动