下载O.o
PCAP(factory.pcap,约 93KB)
包含 Modbus/TCP(502)、OPC UA(4840)、DNS(53)、HTTP(80)、ICMP、SNMP(161) 等典型工控与管理流量。

工厂的流量包,很多UDP,而html少
任务 1:谁把阀门打开了?
找到 Modbus 打开阀门指令的相关信息。
提交格式:flag{0xtransaction_id_0xfunction_code_0xcoil_address}
知识点:
Modbus是一种广泛应用于工业自动化领域的串行通信协议
支持串口(Modbus RTU/ASCII)和以太网(Modbus TCP)

找modbus里面write single coil的含ff00(表示阀门on)流量
第一个modbus(No15):
Modbus/TCP
Transaction Identifier: 15437 #端口transaction_id
Protocol Identifier: 0
Length: 6
Unit Identifier: 1
Modbus
0... .... = Exception: No
.000 0101 = Function Code: Write Single Coil (5) #模式function_code
Reference Number: 21 #地址coil_address
Data: ff00 #数据
Padding: 0x00
注意到0x转化为16进制就得到flag
flag{0x3c4d_0x05_0x0015}
T_T小插曲:
最开始我一直在尝试flag{0x3c4d_0x05_0x15},但是标准Modbus是16位地址,所以是0x0015
任务 2:被读取的 NodeId
找到通过 OPC UA 协议读取的 NodeId。
提交格式:flag{ns=X;s=Path/To/Node}
知识点
OPC UA(OPC Unified Architecture,OPC统一架构) 是一种工业自动化领域的跨平台、跨厂商的通信协议标准,用于在工业设备、控制系统和企业信息系统之间安全可靠地传输数据。
!!!OPC UA通过采用TCP/IP协议栈
注意到tcp4:
ReadRequest;NodeId=ns=2;s=Valve/Status;MaxAge=0
flag{ns=2;s=Valve/Status}
任务 3:控制站域名解析结果
找出控制站域名 ctrlws.factory.local 的解析 IP。
提交格式:flag{IP地址}
筛选DNS

flag{192.168.1.10}
任务 4:连接建立时间
确定SCADA(源:192.168.1.5)到控制站(目的:192.168.1.10)上首个成功发起的时间点(UTC)。
提交格式:flag{YYYY-MM-DDTHH:MM:SSZ}
找完整的tcp三次握手
ip.src == 192.168.1.5 and ip.dst == 192.168.1.10

SYN 2025-03-15T09:30:01.079999Z
SYN/ACK 2025-03-15T09:30:01.089999Z
ACK 2025-03-15T09:30:01.099999Z
按题意取“成功发起”的起点(SYN)并按秒截断得到:2025-03-15T09:30:01Z。
flag{2025-03-15T09:30:01Z}
任务 5:HTTP 请求痕迹
提取 SCADA 对控制站发起的 HTTP 请求的 Host 与 URI。
提交格式:flag{Host_URI}

在该 HTTP 会话中提取到完整请求行与 Host 头:
GET /api/status HTTP/1.1
Host: ctrlws.factory.local
flag{ctrlws.factory.local_/api/status}
任务 6:ICMP Echo Request 序列号
攻击者(192.168.1.100)对控制站发起了 ICMP Echo Request(ping)。找出该 ICMP 请求的序列号(Sequence Number)。
提交格式:flag{0x序列号}
ip.src==192.168.1.100 && ip.dst==192.168.1.10

ICMP id=0x5678, seq=0x0123
flag{0x0123}
任务 7:SNMP Get 请求的 OID
SCADA 对控制站发起了 SNMP Get 请求。找出该请求查询的 OID(Object Identifier)。
提交格式:flag{OID}
udp && ip.dst==192.168.1.10 && frame contains "GetRequest"

由第四问注意到SCADA的ip是192.168.1.5
SNMPv2c;Community=public;PDU=GetRequest;OID=1.3.6.1.2.1.1.5.0
flag{1.3.6.1.2.1.1.5.0}

Comments NOTHING