由于设计中缺乏安全进制,Modbus协议易受中间人(Man in The Middle,MiTM)攻击的影响,也包括数据包重放攻击。前文提到的对Cybati交通灯系统的攻击方式,就可以用于中间人攻击。在攻击中,攻击者还可以通过欺骗HMI来使交通灯系统看起来没有异常,从而延迟厂商发现问题。用多种开源或商用的工具可以用于在Modbus网络上执行中间人攻击。Modbus VCR(https://github.com/reidmefirst/modbus-vcr/)是开源的免费工具,它使用Ettercap记录Modbus流量,然后重放该流量,使系统看起来就像在处理正常的流量。
施耐德PLC高危命令字
流行程度:10
难度:8
影响面:8
威胁评分:9
Modbus协议的实现中常常包含一些厂商实现的非标准的功能码。一个典型的例子是施耐德PLC中的0x5a(90)功能码。和大多数专有协议一样,你必须使用工程软件来分析协议的工作原理。工控安全研究和顾问公司Digital Bond在知名项目ProjectBasecamp中最早在一个Metasploit模块(https://www.rapid7.com/db/modules/auxiliary/admin/scada/modicon_command)中,指出功能码 0x5a 的问题。该功能码实现了Modbus标准未允许的功能,如终止 CPU 的工作。这个高危功能码是通过记录工程软件(Unity Pro)与 Modicon PLC 的通信流量来发现的。