Vaibhavsharma77011/malcolm-4sics-ics-analysis
GitHub: Vaibhavsharma77011/malcolm-4sics-ics-analysis
基于Malcolm的ICS网络流量分析项目,用于调查真实ICS攻击流量。
Stars: 0 | Forks: 0
# 使用 Malcolm 进行 ICS 网络流量分析 — 4SICS Geek Lounge 数据集
一个自主学习项目:从头部署 CISA 的 **Malcolm** 网络分析套件,并使用它调查 4SICS “Geek Lounge” 会议实验室三天内的真实 ICS 攻击流量。
## 本项目涵盖内容
- 在 Ubuntu 虚拟机上部署 Malcolm(Zeek + Suricata + Arkime + OpenSearch)
- 摄入和分析三个 PCAP 文件(25 MB / 134 MB / 200 MB)
- 跟踪三天内完整的 ICS 攻击
- 生成具有明确置信水平的证据支持报告
## 环境
在 Ubuntu 虚拟机上运行的 Malcolm,通过 HTTPS 访问:

## 三天故事
| 天数 | 阶段 | 关键发现 |
|-----|-------|-------------|
| 1 (151020) | 基准 | 正常操作 + 无害噪音;无攻击者 |
| 2 (151021) | 探测 | 网页扫描 + Modbus/S7comm 签名;**无写入** |
| 3 (151022) | 操纵 | 使用 ~10,584 个确认线圈写入的 Modbus 攻击 |
## 关键证据 — 第三天 Modbus 写入攻击
在第三天的捕获中,将 Modbus 仪表板过滤到攻击者(`source.ip: 192.168.2.166`),显示针对控制设备 `192.168.88.95` 和 `192.168.88.60` 的重复 `WRITE_MULTIPLE_COILS` 命令:

注意写入 **地址(65533–65535)** — 线圈地址范围的最高端。结合高命令拒绝率和会话中其他地方无效的功能代码,这种模式表明是 **协议模糊测试/探测** 而不是有目的的设定点操作。
## 关键教训
未过滤的数据最初表明攻击者向西门子 PLC 写入。通过严格按源 IP 过滤纠正了这一点——这些写入是合法的控制流量,攻击者只进行了失败的连接尝试。
**在得出结论之前,请验证源归属。**
## 工具与技能
`Malcolm` `Zeek` `Suricata` `Arkime` `OpenSearch` · Modbus / S7comm / DNP3 · 被动资产识别 · 告警分类 · 网络取证 · 区分观察与评估
## 完整报告
查看 [报告](Malcolm_4SICS_Report.pdf) 以获取完整的报告:环境设置 → 方法(包括实际死胡同和课程修正)→ 三天 → 发现 → 建议 → 学到的教训。
## 数据集
[4SICS Geek Lounge 捕获](https://www.netresec.com/?page=PCAP4SICS) — Netresec。
PCAP 文件在此不重新分发;从上面的来源下载以重现。
标签:Arkime, ASN解析, ICS 网络流量分析, Metaprompt, Modbus 攻击, PCAP 文件分析, PFX证书, Rootkit, Suricata, Zeek, 安全事件响应, 安全技能, 安全报告, 工业控制系统安全, 攻击检测, 攻击溯源, 深度包检测, 现代安全运营, 网络安全分析, 证据分析