Mosec2525/learn-soc-with-me-lab-08-ftp-executable-transfer
GitHub: Mosec2525/learn-soc-with-me-lab-08-ftp-executable-transfer
一个基于 Zeek FTP 日志和 Splunk 的 SOC 实战训练实验,教授分析师如何从嘈杂的 FTP 流量中识别可执行文件传输并进行严谨的威胁调查。
Stars: 0 | Forks: 0
# 跟我学 SOC - 实验 08
## FTP 可执行文件传输
本实验是一个基于 Zeek FTP 日志构建的 Splunk 调查挑战。分析师的目标是找到成功的可执行文件传输证据,将其从嘈杂的失败 FTP 操作中区分出来,并将其映射到 MITRE ATT&CK,避免仅凭网络日志做出过度推断。
实时实验页面:https://mosec2525.github.io/learn-soc-with-me-lab-08-ftp-executable-transfer/
## 场景
一份内部网络 FTP 日志包含大量的客户端活动、明文凭据、匿名 FTP 使用、被阻止的文件操作以及少数成功的文件下载。你的任务是在 Splunk 中调查数据,并判断哪些事件代表了最高风险的发现。
## 你将练习的内容
- 将压缩的 Zeek FTP 日志导入 Splunk
- 使用 SPL 提取 Zeek FTP 字段
- 对客户端、服务器、命令、响应代码和凭据进行基线分析
- 将失败的 FTP 写入/删除噪声与成功的下载区分开来
- 使用命令、响应代码、参数、MIME 类型、文件大小和 FUID 搜寻可执行文件传输证据
- 结合 MITRE 映射撰写严谨的 SOC 结论
## 数据集
从实验页面或从以下位置下载数据集:
```
data/ftp.log.gz
```
该文件是一个用于防御性调查练习的压缩 Zeek/Bro FTP 日志。
## 预期发现
FTP 服务器 `192.168.202.92` 成功将 `./svchost.exe` 提供给 `192.168.24.100`、`192.168.25.100` 和 `192.168.27.100`。
该传输由 `command=RETR`、`reply_code=226`、`reply_msg="Transfer complete."`、MIME 类型 `application/x-dosexec` 和文件大小 `6656` 确认。这支持高风险文件传输的高严重性结论,并主要映射到 `T1105 - Ingress Tool Transfer`。
仅凭 FTP 数据无法证明已执行。正确的分析师建议是将其与端点遥测、EDR、服务创建、计划任务、注册表持久化、防火墙日志和文件分析进行关联。
## 仓库结构
```
.
|-- index.html
|-- style.css
|-- app.js
|-- data/
| `-- ftp.log.gz
|-- detections/
| |-- splunk/
| | `-- ftp_executable_transfer.spl
| `-- sigma/
| `-- ftp_executable_download.yml
|-- docs/
| `-- answer-key.md
|-- resources/
| `-- references.md
`-- SECURITY.md
```
## MITRE ATT&CK
主要技术:
- `T1105 - Ingress Tool Transfer`
辅助上下文:
- `T1071.002 - Application Layer Protocol: File Transfer Protocols`
## 如何使用
1. 打开实时实验页面。
2. 下载 `ftp.log.gz`。
3. 将其导入 Splunk。
4. 使用 `detections/splunk/ftp_executable_transfer.spl` 中的 SPL 入门示例。
5. 仅在卡住时才查看提示。
6. 在完成自己的调查后再查看最终结果。
## 安全提示
这是一个防御性实验。除非您有明确的授权,否则请勿连接或测试真实的 FTP 服务器。
标签:Rootkit, Zeek, 后端开发, 多模态安全, 安全实训, 安全运营中心(SOC), 数据可视化, 网络信息收集, 网络安全, 隐私保护