场景:2026年5月,某省级市场监管部门监测平台突发异常:辖区内超过30家加油站的油品计量数据在凌晨时段被集中篡改,单价与升数均被微调,导致当日结算亏损超百万。安全团队紧急介入,发现这是一起针对工业控制系统的供应链式数据篡改攻击。
攻击 / 事件时间线
初始入侵:加油站POS机成跳板
攻击者利用公开的加油站管理系统(GMS)远程维护接口漏洞,通过弱口令爆破进入某小型连锁加油站的前台POS机。该POS机未进行网络隔离,且运行着未打补丁的Windows Embedded系统。攻击者上传GoblinRat远控木马,建立持久化C2通道,并开始扫描内网。
GoblinRat弱口令爆破工具
横向移动:劫持计量服务器
通过POS机作为跳板,攻击者利用PsExec与明文凭证(从内存中抓取)横向移动到后台的油品计量服务器。该服务器运行着第三方PLC数据采集软件。攻击者停用了Windows Defender实时防护,并植入LockerGoga变种勒索软件,但仅加密了备份文件,未影响核心系统,目的是制造混乱掩盖后续动作。
PsExecMimikatzLockerGoga变种
数据篡改:修改PLC控制逻辑与数据库
攻击者直接通过SCADA系统的OPC接口,远程连接至加油站的PLC控制器。他们并非直接篡改计量数据,而是修改了PLC内部的流量计算算法,使得每加一升油,系统仅记录0.97升。同时,攻击者登录SQL Server数据库,修改了历史计费记录中的单价字段,使数据表面看起来一致,但实际金额出现偏差。整个过程持续约45分钟。
OPC客户端PLC编程软件SQL注入工具
告警触发:异常财务审计与流量监测
次日清晨,财务系统自动比对时发现:同一时段内,多个加油站的“出油量”与“销售额”之间的比例出现百万分之三的微小偏差。同时,SOC流量分析平台(基于Zeek)检测到凌晨时段有大量异常Modbus/TCP流量从计量服务器流向外部IP(已识别为C2),触发高级规则告警。
Zeek财务审计系统Modbus协议分析
蓝队视角 · 发现与处置
SOC值班长立即研判告警为高优先级,确认非误报。首先,切断涉事计量服务器与外部网络的物理连接,避免数据进一步外泄。然后,通过取证工具Volatility分析服务器内存,提取到攻击者留下的Mimikatz日志与PsExec执行痕迹。结合PLC日志,还原了篡改逻辑。最后,协调安全团队对所有加油站进行OTA固件更新,强制启用PLC的写保护密码,并修改所有GMS系统弱口令。事件在4小时内完成定位与初步止血。
涉及关键技术 / 工具
PLC逻辑篡改OPC协议滥用供应链式弱口令利用
防护经验总结
- 1. 强制所有工业控制系统(ICS)设备,包括POS机与计量服务器,接入零信任网络,禁止直接暴露于办公网或互联网。
- 2. 对PLC等关键控制器启用写保护功能,并定期更换强密码(长度>20位,含特殊字符),防止通过OPC接口直接篡改逻辑。
- 3. 部署基于流量行为分析的异常检测系统(如Zeek+机器学习),针对Modbus、S7等工控协议建立基线模型,微小的数据偏移也能被捕获。
#工控安全#数据篡改#供应链攻击#PLC#SCADA