Digital Bond 在项目 Redpoint 中实现了一个脚本,可以用来从远程设备中获取信息。Redpoint 脚本使用了 “List Identity”命令字,并使用Nmap中的信息进行解析。它的“Conmmand Specific Data”部分包含了一个套接字地址(ip 地址和端口号)。这是暴露的远程设备的真实 ip 地址和端口号,即使它位于NAT设备之后。
只要了解 Session Handle 即可轻松攻击 Ethernet/IP。是这个攻击奏效的另一个关键是Allen-Bradley实现的一个命令字。Allen-Bradley在NOP(0x00)命令中实现了终止 CPU 的功能。如下图
这个命令在CIP或Ethernet/IP的规范中没有记录,是Allen-Bradley/Rockwell控制器的私有实现。通过对大量设备的测试,我们发现,在一些旧的固件中,不仅 ControlLogix CPU 被终止,而且设备崩溃,需要重新启动硬盘。对于当前的型号,PLC 必须拔下并重新插入才能再次运行。极少数情况下,PLC需要重新编程。