协议分析 工控安全

通用快速识别GE PLC(General Electric)以太网通信模块

ge-plc-rx3i

0x1
这里我们以GE RX3I系列的I​C​6​9​5​C​P​E​3​0​5 CPU模块为例​,通过Nmap确认默认开放服务如下图。
GE_RX3I_SCAN1
通过FTP可以得知PLC内部OS可能为风河vxworks(确认操作系统后可以为固件分析少走弯路)。
GE_RX3I_ftp1
虽然开放了TCP502端口但是通过Modbus Master调试工具并没有确认01,02,03,04寄存器内存在数据。
0x2
TCP/18245端口是GE PLC自90-30 RX3I RX7I等系列产品的远程通讯端口,Proficy Machine Editior就是通过该端口实现梯形图工程上传下载等功能(协议名为GE SRTP)。
0x3
通讯协议握手报文分享
客户端向PLC设备18245端口发送握手请求(大小56bytes)
char peer0_0[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
设备响应回复报文(大小56bytes)
char peer1_0[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

扫描程序实现逻辑

批量扫描时可以先判断TCP/18245该端口状态,再发送握手包报文,判断设备回复报文是否合法。

思考

这样只能粗略确认远程该端口运行的可能为GE系列设备。

About Z-0ne

Leave a Reply

Your email address will not be published. Required fields are marked *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据