
在本文中,我将介绍第二个 OT PLC 网络安全研讨会案例研究:针对铁路传感器-信号状态监控 HMI 的 ARP Spoofing 攻击。本案例研究将全面涵盖攻击战术、技术和程序 (TTPs),并将包括在列车运行总部 OT 人机界面上的实际演示。如果您对其他案例研究感兴趣,请参阅以下链接:
- False Data/Command Injection Attack
- OT-Network ARP Spoofing Attack
- DDoS on Modbus Channel Attack
- Man-in-the-Middle on Modbus Communication
项目设计目的:本案例研究旨在开发一个研讨会,利用铁路(地铁)IT/OT 系统网络安全测试平台(迷你网络靶场)、红队命令与控制 (C2) 系统和 Ettercap Wrapper 来演示针对 OT 系统的 APR Spoofing 攻击。我们的目标是展示攻击者(网络靶场红队成员)如何潜在地对 OT 系统人机界面 (HMI) 发起 ARP Spoofing 攻击,导致运行室总部部分服务离线。此特定攻击场景被提议作为 Cross Sword 2023 试运行的演示案例之一,提供一个真实且受控的环境来评估铁路基础设施的网络安全弹性。
攻击向量:ARP Spoofing、Network Traffic Blocking、DoS
匹配的 MIRTE-CWD:CWE-284、CWE-494、CWE-300、CWE-937
映射的 MITRE-ATT&CK-TTP:T1562.001、T1573.002、T1499.002
Important : The demonstrated attack case is used for education and training for different level of IT-OT cyber security ICS course, please don't apply it on any real world system.
# Author: Yuancheng Liu
# Version: v0.1.3
# Created: 2023/07/12
# Copyright: Copyright (c) 2023 LiuYuancheng
# License: MIT License
引言
本攻击案例研究包含三个子项目:
在本案例研究中,我们设想了一个场景:红队攻击者/黑客通过 IT 网络攻击(例如使用网络钓鱼邮件)成功植入了 Packet Dropper(MITM 工具 Ettercap 的一个封装程序),目标是 SCADA 监控网络中的一台维护计算机。本攻击案例研究将演示红队攻击者(位于铁路迷你网络靶场外部)如何执行 Ettercap 向总部运行 HMI 计算机和相关 PLC 广播伪造的 ARP 消息,然后应用 Modbus-TCP 数据包过滤器丢弃两种特定通信数据(HMI 到 PLC 请求 + PLC 到 HMI 响应),导致运行室中的一个铁路传感器-信号 HMI 离线。这将通过利用互联网上的红队 C2 系统并成功绕过防火墙的检测机制来实现。
详细攻击路线图如下所示:

攻击的关键战术、技术和程序 (TTP)
根据详细攻击路线图,ARP Spoofing 攻击场景将包含 4 种 TTP:
远程攻击控制
-
战术:集中式程序控制
-
技术:使用红队命令与控制 (RTC2) 系统,使攻击者能够管理和控制受损系统/节点/设备。
-
程序:红队攻击者将通过 RTC2 的 Web UI/HTTP API 远程控制恶意行动程序,攻击控制可以来自互联网的任何位置。
伪装通信
-
战术:流量加密和混淆
-
技术:使用加密算法保护 RTC2 控制消息,并采用混淆方法使加密数据更难被解释。
-
程序:为了伪装通信,恶意行动程序与命令与控制 (C2) 系统之间的所有交互都将伪装成标准的 HTTPS POST 请求和响应,关键控制消息将通过预设的会话密钥进行加密。值得注意的是,数据包大小将保持最小(小于 1KB),以防止触发防火墙与下载/上传活动相关的警报机制。
ARP Cache Poisoning
-
战术:操纵 ARP 表。
-
技术:发送伪造的 ARP 数据包,将攻击者的 MAC 地址与目标系统的 IP 地址关联起来,导致其他设备上的 ARP 缓存被投毒。
-
程序:使用 Ettercap 向目标运行室 HMI 主机和监控网络的交换机(路由器)广播伪造的 ARP 消息,以投毒这两个节点的 ARP 缓存表,从而将 HMI 主机与交换机/路由器之间的流量重定向到攻击发起机器。
Denial of Service (DoS)
-
战术:中断正常的网络操作。
-
技术:用 ARP 欺骗数据包淹没网络可能导致网络通信中断,从而对合法用户造成拒绝服务。
-
程序:ARP Cache Poisoning 攻击成功后,对数据包应用特定的网络数据包丢弃过滤器 (Modbus),以拒绝/阻塞 HMI 与 PLC 之间的通信,而不影响其他流量。
背景知识
在本节中,我们旨在提供有关各个系统的基本通用知识,并阐明与攻击向量相关的战术、技术和程序 (TTP)。这些基础信息将作为理解所涉及系统和攻击场景中采用方法的复杂细节的入门。
ARP Spoofing Attack
地址解析协议 (ARP) 是一种协议,它使网络通信能够到达网络上的特定设备。ARP 将互联网协议 (IP) 地址转换为媒体访问控制 (MAC) 地址,反之亦然。最常见的是,设备使用 ARP 联系路由器或网关,使其能够连接到互联网。
ARP(地址解析协议)欺骗,也称为 ARP 投毒,是一种网络攻击,攻击者向局域网发送伪造的 ARP 消息。ARP 欺骗的目标是将攻击者的 MAC(媒体访问控制)地址与合法网络设备的 IP 地址关联起来,导致网络流量被重定向到攻击者。这可能导致各种恶意活动,例如中间人攻击、窃听或会话劫持。基本 APR spoofing 攻击图如下所示:

参考:https://www.imperva.com/learn/application-security/arp-spoofing/
Railway[Metro] IT/OT Mini Cyber Range System
有关铁路 IT/OT 系统的总体介绍,请参阅案例研究 1,网络靶场系统图如下所示:

人机界面:在工业自动化和控制系统的背景下,OT HMI 指的是在运营技术 (OT) 环境中使用的人机界面。OT 涵盖了用于监控和控制制造、能源、公用事业和交通等行业中的物理设备、过程和基础设施的技术和系统。
目标主机/应用程序/服务:在本攻击案例研究中,如Attack detailed road map 所示,目标是在铁路 IT/OT 迷你网络靶场中运行的 HMI 应用程序之一(监控道岔和车站传感器和信号)。HMI 程序在系统监控网络(运行室)中的一个工作站上运行。它提供操作状态、实时数据和控制选项的图形表示,允许操作员高效监控和管理工业过程,供总部操作员监控整个铁路轨道传感器-信号自动控制状态。主用户界面如下所示:

传感器-信号监控 HMI 包含以下组件和功能:
-
列车传感器-信号关系图,显示传感器状态、信号状态以及传感器-信号自动控制关系(轨道交叉道岔和火车站)。
-
三个 PLC 面板,显示道岔传感器-信号控制系统的数字 I/O 信息、PLC 保持寄存器状态和 PLC 线圈状态。
-
三个 PLC 面板,显示车站传感器-信号控制系统的数字 I/O 信息、PLC 保持寄存器状态和 PLC 线圈状态。
Red Team C2 Emulation System And Ettercap Packet Dropper
有关红队命令与控制 (RTC2) 服务器的介绍,请参阅案例研究 1 中的介绍。
此 Ettercap wrapper ARP Spoofing 恶意软件旨在供红队攻击者通过 Ettercap 在路由器/交换机上的 ARP spoofing 功能对网络流量应用不同类型的数据包过滤器,以便他们可以轻松发起数据包丢弃、流量阻塞甚至中间人攻击。ARP spoofing 攻击者通过添加我们定制的 Ettercap Wrapper 模块,从标准 c2BackdoorTrojan 模块 扩展而来,因此 C2 仿真系统可以控制它向铁路 HMI 节点、运行室子网的交换机/路由器甚至相关的连接 PLC 组广播特定的 ARP 投毒消息。RTC2 控制和攻击工作流程如下所示:

攻击者将对铁路 SCADA HMI 和 2 个 PLC 组(交通道岔传感器-信号控制 PLCx3 和车站传感器-信号)之间的流量应用数据包丢弃过滤器,以阻塞所有 Modbus-TCP 流量数据包,从而拒绝铁路 HMI 的状态监控服务。
Ettercap wrapper attack program repo: GitHub Repo
铁路运行和攻击流程
列车运行基础背景知识介绍
在实施攻击之前,将有一个简短的研讨会,介绍铁路系统中列车的基本控制方面。列车模拟的网络靶场网络拓扑结构如下所示:

Railway Sensor-Signal SCADA-HMI 介绍
HMI 程序包含 2 个主要部分:
-
主用户界面:一个 UI 地图,显示道岔和车站的传感器-信号状态,道岔控制 PLC 组 [PLC-00、PLC-01 和 PLC-02] 的数字 I/O 信息,车站控制 PLC 组 [PLC-03、PLC-04 和 PLC-05] 的数字 I/O 信息。
-
PLC 通信线程:通过 Modbus TCP 与铁路道岔传感器-信号系统控制 PLC 模拟器和铁路车站传感器-信号系统控制 PLC 模拟器通信以获取 OT 数据。
这是程序模块工作流程图:

因此,在攻击期间,为了拒绝 HMI 服务,我们需要丢弃这两个 Modbus-TCP 通信通道。
OT 网络攻击流程
在此演示中,攻击工具 Ettercap 将通过之前的 IT 系统攻击预先安装。如前一节所述,我们需要实施两种类型的攻击者:ARP 欺骗和数据包丢弃。OT 网络中受影响的虚拟机如下所示:

攻击演示将展示一个 Ettercap wrapper 程序,对铁路 OT 传感器-信号系统控制链进行 ARP 投毒:Railway Sensor-Signal Control HMI -> SCADA sypervision network router -> Junction control PLCs & sitation control signals。攻击者将应用一个数据包过滤器(如下面的简单示例所示):
#-----------------------------------------------------------------------------
# Name: arp_spoofing.filter
#
# Purpose: 此过滤器用于对 SCADA-HMI 和 PLC01 之间的 Modbus 通道进行 ARP spoofing 攻击。
# 它将丢弃所有 Modbus 数据包,以切断 PLC 控制通道。
#
# Author: Yuancheng Liu
#
# Version: v_0.1
# Created: 2019/10/02
# Copyright: Copyright (c) 2019 LiuYuancheng
# License: MIT License
#-----------------------------------------------------------------------------
if (ip.proto == TCP && tcp.dst == 502 && ip.dst == '10.107.105.5') {
// 过滤所有从 PLC 到 HMI 的 Modbus-TCP 入站数据包
drop();
msg("丢弃 HMI Modbus 响应数据包!\n");
}
if (ip.proto == TCP && tcp.dst == 502 && ip.src == '10.107.107.5') {
// 过滤所有从 HMI 到 HMI 的 Modbus-TCP 出站数据包
drop();
msg("丢弃 PLC Modbus 请求数据包!\n");
}
#-----------------------------------------------------------------------------
# Filter Usage: 过滤器用法
对铁路 SCADA HMI 和 2 个 PLC 组(道岔和车站网络中的所有 6 个 PLC)之间的流量进行过滤,以丢弃所有 Modbus-TCP 流量数据包,从而切断铁路状态监控服务的连接。
攻击期间的观察:
-
当攻击发生时,铁路 SCADA HMI PLC 连接指示器将显示完全失去连接。铁路 SCADA HMI 上的所有数据将不会更新。
-
铁路总部操作员能够检测到攻击。但是,如果他尝试使用 ping、ssh 或其他非 Modbus(TCP 端口 502)来测试网络连接,他将不会发现任何网络问题。(因为过滤器只丢弃特定的协议数据包)
攻击效果(观察)详情如下所示:

当攻击发生时,铁路总部操作员可能会观察到以下情况:
-
铁路 SCADA HMI 上的所有数据将不会更新。
-
铁路 SCADA HMI 上的 PLC 连接指示器将显示失去连接(从绿色变为灰色)。
红队攻击详细步骤
鉴于红队攻击者在铁路网络靶场网络之外操作,他们依赖攻击控制命令与控制 (C2) 系统来执行攻击。如攻击前置条件介绍部分所述,ARP spoofing 攻击程序已预先部署在网络靶场内的一台维护计算机上。因此,当红队攻击者访问 C2 系统时,他们将看到 ARP spoofing 攻击程序 "packetDropper" 已在 C2 中注册,如下所示:

从 C2 启动 APR Spoofing 数据包丢弃攻击
选择 PacketDropper 控制页面,然后选择通过 Json 分配特殊任务,然后填写任务详情:
-
任务类型:
packetDrop -
重复:
1 -
任务数据:
packetDropper

submit 按钮,当 Ettercap wrapper 报告任务正在运行时,Ettercap 将应用过滤器以持续阻止进出目标受害节点的流量。有关过滤器配置信息,请参阅 filter.json 文件,下面是一个丢包过滤器示例,您可以创建自己的过滤器并将其放入 filters 文件夹中,并在 filter.json 文件中为其指定一个唯一的名称,以便您可以将其应用于流量:
"packetDropper" : {
"ipaddress": "10.107.107.5",
"protocalType": "TCP",
"port":502,
"description": "丢弃所有进出该 IP 地址的数据包",
"filterFile": "atk.ef"
}
攻击演示视频
要查看演示视频,请访问我的 YouTube 频道中的此链接: https://www.youtube.com/watch?v=QmB0nJU1_q4
MITRE CWE 匹配与 ATT&CK 映射
Massachusetts Institute of Technology Research and Engineering (MITRE)
MITRE CWE(Common Weakness Enumeration) 匹配
CWE-284
-
CWE 名称: 不当访问控制
-
CWE 匹配: 在此场景中,攻击者利用不当访问控制,通过总部操作室的交换机广播伪造的 ARP 消息,并应用 Modbus-TCP 数据包过滤器,导致 HMI 和 PLC 之间的通信中断。此安全弱点可匹配到
CWE-284: Improper Access Control -
CWE 详情: 此 CWE 涉及与不充分的访问控制机制相关的漏洞,允许未经授权的用户访问或操纵资源。链接: https://cwe.mitre.org/data/definitions/284.html
CWE-494
-
CWE 名称: 下载代码未进行完整性检查
-
CWE 匹配: 在此场景中,攻击者可能使用红队 C2 系统远程控制受害者(维护工程师的笔记本电脑),以下载并执行用于 ARP 欺骗的数据包丢弃过滤器,而 OT 子网防火墙未进行完整性检查。此安全弱点可匹配到
CWE-494: Download of Code Without Integrity Check -
CWE 详情: 此 CWE 涉及攻击者可以在未进行适当完整性检查的情况下从互联网下载代码的漏洞,可能导致恶意代码的执行。链接: https://cwe.mitre.org/data/definitions/494.html
CWE-300
-
CWE 名称: 非端点可访问通道(“中间人”)
-
CWE 匹配: 在此场景中,攻击者使用中间人工具 Ettercap 通过拦截和修改 ARP 消息来执行 ARP 攻击,导致 HMI 和 PLC 之间的通信中断。此安全弱点可匹配到
CWE-300: Channel Accessible by Non-Endpoint ('Man-in-the-Middle') -
CWE 详情: 此 CWE 涉及攻击者可以在双方不知情的情况下拦截或修改通信的漏洞。链接: https://cwe.mitre.org/data/definitions/300.html
CWE-937
-
CWE 名称: OWASP Top Ten 2013 A5 类 - 安全配置错误
-
CWE 匹配: 在此场景中,攻击者能够绕过防火墙检测机制并操纵子网交换机和受害者的 ARP 表,这利用了防火墙和网络基础设施中的安全配置错误。此安全弱点可匹配到
CWE-937: OWASP Top Ten 2013 Category A5 - Security Misconfiguration -
CWE 详情: 此 CWE 涉及与安全配置错误相关的弱点,例如默认配置、不安全配置或不完整配置,这些都可能导致安全漏洞或操作失败。链接: https://cwe.mitre.org/data/definitions/937.html
MITRE ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge) 映射
Initial Access (TA0001) > T1562.001: 削弱防御:禁用或修改工具
-
攻击者使用中间人攻击工具 Ettercap 修改网络流量,以中断 HMI 和 PLC 之间的通信,从而削弱防御并获得对网络的初始访问权限。
Command and Control (TA0002) > T1573.002: 加密通道:非对称加密
-
攻击者和 ARP 欺骗程序利用加密通道与红队 C2 系统通信,在攻击期间保持隐蔽性和安全性。
Impact (TA0004) > T1499.002: 端点拒绝服务
-
攻击者通过丢弃特定的 Modbus-TCP 通信数据来中断 HMI 和 PLC 之间的通信,导致操作室中的铁路传感器-信号-HMI 离线。
Last edit by LiuYuancheng([email protected]) at 13/01/2026, if you have any problem, please send me a message. Copyright (c) 2023 LiuYuancheng
No comment for this article.