仿伊朗核电欺骗攻击-PROFINET协议中间人攻击复现

仿伊朗核电欺骗攻击-PROFINET协议中间人攻击复现

时间:2022-11-17 作者:安帝科技


PROFINET是PROFIBUS国际组织推出的新一代基于工业以太网技术的自动化总线标准。对PROFINET协议分析后发现该协议容易遭受中间人攻击,攻击效果类似震网病毒,发起攻击后可向变频器发送错误的频率,并且响应给PLC正常的频率。

Part1 试验环境

PLC:SIMATIC S7-1500
变频器:SIMATIC CU240E-2 PN

Part2 协议分析

发现阶段:
交互流程

1、PLC(MAC地址:ec:1c:5d:02:52:53)发送组播,以在网络中宣告PLC。
2、变频器(MAC地址:00:1c:06:92:04:8c)接收到组播数据后,向PLC发送响应信息,其中包含变频器的一些基础信息和配置请求。

3、PLC向变频器发送IP配置信息。

新建一个程序段:

关键字段如下:
第一个PNIO-CM数据包指出了运行阶段中发送控制数据的设备MAC地址。

第二个PNIO-CM数据包指出了运行阶段中发送响应数据的设备MAC地址,以及控制指令标识符(0x8020)和响应指令标识符(0x8000)。

运行阶段:
运行阶段通过PNIO协议进行交互。

1、PLC发送给变频器的控制数据包含停止和运行两种状态,控制数据使用协商的控制指令标识符0x8020(红框)。停止状态的控制数据使用标识0x60(黄框),且控制指令(蓝框)和频率(绿框)均为0。

运行状态的控制数据使用标识0x80,控制指令为0x047f,频率为调节的频率数值。

2、变频器发送给PLC的响应数据只有一种状态,响应数据使用协商的响应指令标识符0x8000(红框)。响应数据中包含标识变频器当前运行状态的指令(蓝框),和变频器的当前转速(绿框)。
PLC发送停止状态命令后的响应:

PLC发送运行状态命令后的响应:

Part3 攻击流程

1、发现阶段伪造ARP请求发送给PLC和变频器,使协商阶段数据流经攻击者机器。
2、协商阶段修改PLC和变频器交互数据中的关键MAC地址,使运行阶段数据流经攻击者机器。
3、修改运行阶段控制数据和响应数据中的频率字段,使PLC接收到正常的频率响应,以及变频器接收到伪造的频率。

Part4 演示视频
Part4 缓解建议

1、交换机Mac地址绑定。
2、基于流量监控,在发现阶段确认变频器IP与MAC映射,后续可识别出伪造的ARP请求。
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com