IEC 104 协议安全测试方法

IEC 104 协议

默认端口:2404

可能的端口:7002、9999

ASDU

ASDU
 ├─ Type ID        → ASDU 类型(业务语义)
 ├─ VSQ            → 信息体数量及结构
 ├─ CauseTx (COT)  → 传输原因 / 通信阶段
 ├─ ASDU Address   → 逻辑站地址
 └─ IOA + 数据     → 具体点位及数值

ASDU 类型(Type ID)

监视方向的过程信息(M_*_*_1)

类型标识 ASDU 名称 含义说明
1 M_SP_NA_1 单点信息
3 M_DP_NA_1 双点信息
5 M_ST_NA_1 步位置信息
7 M_BO_NA_1 32 比特串
9 M_ME_NA_1 测量值,归一化值
11 M_ME_NB_1 测量值,标度化值
13 M_ME_NC_1 测量值,短浮点数
15 M_IT_NA_1 累计量
20 M_PS_NA_1 带状态检出的成组单点信息
21 M_ME_ND_1 不带品质描述的归一化测量值
30 M_SP_TB_1 带时标 CP56Time2a 的单点信息
31 M_DP_TB_1 带时标 CP56Time2a 的双点信息
32 M_ST_TB_1 带时标 CP56Time2a 的步位置信息
33 M_BO_TB_1 带时标 CP56Time2a 的 32 比特串
34 M_ME_TD_1 带时标 CP56Time2a 的测量值,归一化值
35 M_ME_TE_1 带时标 CP56Time2a 的测量值,标度化值
36 M_ME_TF_1 带时标 CP56Time2a 的测量值,短浮点数
37 M_SP_TB_1 带时标 CP56Time2a 的累计量
38 M_EP_TD_1 带时标 CP56Time2a 的继电保护装置事件
39 M_EP_TE_1 带时标 CP56Time2a 的继电保护装置成组启动事件
40 M_EP_TF_1 带时标 CP56Time2a 的继电保护装置成组输出电路信息
控制方向的过程信息(C_*_*_1)
类型标识 ASDU 名称 含义说明
45 C_SC_NA_1 单命令
46 C_DC_NA_1 双命令
47 C_RC_NA_1 步调节命令
48 C_SE_NA_1 设点命令,归一化值
49 C_SE_NB_1 设点命令,标度化值
50 C_SE_NC_1 设点命令,短浮点数
51 C_BO_NA_1 32 比特串
58 C_SC_TA_1 带时标 CP56Time2a 的单命令
59 C_DC_TA_1 带时标 CP56Time2a 的双命令
60 C_RC_TA_1 带时标 CP56Time2a 的步调节命令
61 C_SE_TA_1 带时标 CP56Time2a 的设点命令,归一化值
62 C_SE_TB_1 带时标 CP56Time2a 的设点命令,标度化值
63 C_SE_TC_1 带时标 CP56Time2a 的设点命令,短浮点数
64 C_BO_TA_1 带时标 CP56Time2a 的 32 比特串

监视方向的系统信息(M_*_*_1)

类型标识 ASDU 名称 含义说明
70 M_EI_NA_1 初始化结束

控制方向的参数(C_*_*_1)

类型标识 ASDU 名称 含义说明
100 C_IC_NA_1 总召唤命令
101 C_CI_NA_1 电能脉冲召唤命令
102 C_RD_NA_1 读命令
103 C_CS_NA_1 时钟同步命令
104 C_TS_NA_1 测试命令
105 C_RP_NA_1 复位进程命令
106 C_CD_NA_1 延时获取命令
107 C_TS_NA_1 带时标 CP56Time2a 的测试命令

文件传输(F_*_*_1)

类型标识 ASDU 名称 含义说明
120 F_FR_NA_1 文件已准备好
121 F_SR_NA_1 节已准备好
122 F_SC_NA_1 召唤目录,选择文件,召唤文件,召唤节
123 F_LS_NA_1 最后的节,最后的段
124 F_AF_NA_1 确认文件,确认节
125 F_SG_NA_1
126 F_DR_TA_1 目录
127 F_SC_NB_1 日志查询-请求存档文件

CauseTx

常见 CauseTx 含义

CauseTx 名称 含义说明
01 Per/Cyc 周期传送
03 Spont 自发传送
04 Initialized 初始化完成
06 Act 激活
07 ActCon 激活确认
0a ActTerm 激活终止
6e Unknown CA 未知 ASDU 公共地址

探测发现

网络空间引擎

Shodan

port:2404 ASDU

FOFA

protocol=”iec-104”

ZoomEye

service=”IEC 60870-5-104”

Censys

host.services.protocol = “IEC60870_5_104”(免费用户不可用)

工具

Nmap

nmap <IP地址> -p2404 --script iec-identify
Starting Nmap 7.98SVN ( https://nmap.org ) at 2025-07-31 00:01 +0800  
Nmap scan report for x.x.x.x  
Host is up (0.51s latency).  
  
PORT     STATE SERVICE  
2404/tcp open  iec-104  
| iec-identify:    
|   ASDU address: 15  
|_  Information objects: 0  
  
Nmap done: 1 IP address (1 host up) scanned in 3.34 seconds

Metasploit

使用iec104模块

use auxiliary/client/iec104/iec104

查看参数

msf6 auxiliary(client/iec104/iec104) > show options    
  
Module options (auxiliary/client/iec104/iec104):  
  
  Name                Current Setting  Required  Description  
  ----                ---------------  --------  -----------  
  ASDU_ADDRESS        1                yes       Common Address of ASDU  
  COMMAND_ADDRESS     0                yes       Command Address / IOA Address  
  COMMAND_TYPE        100              yes       Command Type  
  COMMAND_VALUE       20               yes       Command Value  
  ORIGINATOR_ADDRESS  0                yes       Originator Address  
  RHOSTS                               yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html  
  RPORT               2404             yes       The target port (TCP)  
  
  
Auxiliary action:  
  
  Name          Description  
  ----          -----------  
  SEND_COMMAND  Send command to device  
  
  
  
View the full module info with the info, or info -d command.

参数解释

  • ASDU_ADDRESS

  • COMMAND_ADDRESS

  • COMMAND_TYPE

  • COMMAND_VALUE

  • ORIGINATOR_ADDRESS

IEC104 Client Simulator

优点:GUI,上手简单易操作
缺点:要钱,联网激活不适合内网机器

下载
官网
微软商店


常见攻击点

下面统一使用 Metasploit 工具为例

未授权主站接入

日志特征

Received STARTDT_ACT
Received end of initialisation confirmation
CauseTx: 04 (Initialized)

说明设备接受 IEC 104 数据传输启动(STARTDT),并将当前主机视为合法主站

ASDU 校验缺失

日志特征

Parsing response: Interrogation command (C_IC_NA_1)
CauseTx: 07 (Activation Confirmation)

设备接受总召唤请求(C_IC_NA_1)并返回激活确认,未对请求中携带的 ASDU 公共地址进行有效校验

信息泄漏

日志特征

Parsing response: Single point information (M_SP_NA_1)
Parsing response: Double point information (M_DP_NA_1)
Parsing response: Measured value (M_ME_NA_1)
IOA: xxx Value: xxxx

设备在总召过程中返回单点遥信、双点遥信及测量值数据,数据内容为实时运行状态信息,包含明确的 IOA 地址与有效数值


参考

远动设备及系统 第 5-104 部分:传输规约 采用标准传输协议集的 IEC 60870-5-101 网络访问


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:IEC 104 协议安全测试方法

字数:1.2k

本文作者:cnlnn

发布时间:2025-12-13, 15:38:00

最后更新:2026-01-20, 07:27:20

原始链接:https://cnlnn.pages.dev/posts/iec-104-protocol-security-testing/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。