利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架
摘要:工控安全主要包括工控设备私有协议安全分析,工控设备固件系统的安全以及工控设备应用程序的安全等。利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架。
工控安全主要包括工控设备私有协议安全分析,工控设备固件系统的安全以及工控设备应用程序的安全等。利用攻击西门子PLC系列S7-300的过程和思路介绍适合学习的工控工具和框架。
环境说明
在互联网上找到了一个有用的S7模拟器,压缩包打开如下:
实际上,我们需要使用serverdemo.exe,这是我们通常的PLC设备。将用它连接构造代码并执行一些操作,例如停启的操作。但是使用它的clientdemo.exe也可以互相连接,让我为您展示连接图:
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。
(2)接下来,我们需要构建代码以连接到模拟器。 在这里,我使用Industrial Exploitation Framework
(ISF)。ISF是类似于metasploit的基于python的工控漏洞利用框架。这是工业控制资深人士的研究成果。在下图中可以大致看一下Exploit模块,其中包含一些具有高度通用性的工业控制协议的漏洞利用模块。
(3)我们选择模块s7_300_400_plc_control,它是用于启动和停止S7-300/400 PLC的脚本。ISF框架对工业控制的初学者非常友好。其模块可以在Kali中使用,如下图所示:
(4)在使用s7_300_400_plc_control模块之前,让我们看看它是如何编写的。下图是其核心代码。它用于启动和停止S7-300 / 400 PLC。对于初学者来说可能很好奇。负责启动和停止的长十六进制数字是什么意思? 实际上,它们遵循S7-Comm通信协议并具有固定的表达规范。
(5)然后在Kali中设置s7_300_400_plc_control模块,发现只需要设置目标IP。我们填写服务器的IP(192.168.198.1)。默认情况下,command选项已为2(stop plc),因此我们不需要更改它。然后,我们直接run运行exploit,发现它已成功运行,如下所示:
(6)这时,我们检查了我们的S7模拟器,发现STOP已成功运行,事实证明这非常顺利!
(7)在kali与plc之间的通信期间,还抓取了一些S7-Comm软件包进行分析,发现它们与正常的plc通信完全一致。当然,朋友也想做其他操作,例如阅读,上传等功能。您可以使用不同的功能代码编写一些测试代码,以进行更深入的研究。
总结一下
演示发现直接启停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 工控工具 工控框架 重庆网络安全公司
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了