日志 · 取证 · 蜜罐(综合实践项目 M5)
黄玮
2026-秋
攻击发生了,如何复盘?
深度理论(取证历史、证据法理、蜜网体系)见
https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x11.md、https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x12.md。本课件只讲「做 M5 所需」。
| 维度 | 权重 | 重点提示 |
|---|---|---|
| 安全严谨 | 0.30 | R5 日志防篡改 + 蜜罐隔离是本里程碑的硬要求 |
| 完成度 | 0.30 | 日志 + 取证 + 蜜罐 + 复盘 四项齐备 |
| 深度 | 0.25 | 复盘含完整攻击链 + 时间线 + IoC |
经典理论(日志架构、SIEM 体系)见
https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x11.md「日志与安全审计」。
第六个贯穿范式「可观测与可验证的安全」是本单元的底色:M5 的每个交付物(日志管线 / 取证报告 / 蜜罐证据)都是它的直接证据。
app / IDS / WAF ──采集(filebeat)──▶ 缓冲/过滤(logstash)
──▶ 存储+索引(Elasticsearch) ──▶ 可视化+告警(Kibana)
国产替代同样成熟:用 fluentd / filebeat / rsyslog / vector 任一作采集器;存储端可用国产 SIEM。实验不绑定具体产品。
{"ts":"2026-07-01T09:13:22Z","src_ip":"10.0.0.5","event":"login_failed",
"user":"admin","app":"flask","action":"/login","result":"401"}
src_ip /
user 的连续行为实验任务 A 要求:至少实现一条可工作的关联规则(如登录失败阈值告警)。
攻破之后的第一件事,往往是清日志。 —— 攻击者擦除痕迹,让你无从复盘。
这是本里程碑「安全严谨」维度的硬要求;不做 = R5 未闭环 = 该维度直接扣分。
chattr +a /var/log/app.log(仅 root 可设,root
也只能 append)log[i].hmac = HMAC(key, log[i].payload || log[i-1].hmac) # 链式 + 签名
append-only(本机)→ HMAC 签名(本机可校验)→ 实时转发(独立域)实验任务 E(强制)要求至少实现其一,并在
report.md说明如何落实 R5。
删去早期取证历史与法律条文(详见
https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x12.md「计算机取证」)。课堂只讲「做 M5 所需」应对手册。
# 取证镜像 + 哈希校验(仅授权环境)
dd if=/dev/sda1 of=disk.img bs=4M status=progress
sha256sum disk.img > disk.img.sha256 # 保全证据完整性
09:13 扫描 → 09:14 爆破 /login → 09:15 PoC 成功 → 09:16 异常命令执行实验任务 B 要求:写出应对手册文档;任务 D 要求:在复盘报告里给出完整时间线 + IoC 清单。
| 低交互(Low-Interaction) | 高交互(High-Interaction) | |
|---|---|---|
| 实现 | 模拟服务(假 SSH/Telnet) | 真实系统当诱饵 |
| 情报量 | 少(只记登录尝试/命令) | 多(完整攻击行为) |
| 风险 | 低(难以被真正攻陷) | 高(可能被当跳板横向) |
| 代表 | HFish、Cowrie(中低交互) | 真实虚机蜜网 |
| 本课程 | 推荐(隔离简单) | 不要求(风险高) |
127.0.0.1
或内网网卡,绝不绑公网 IP授权红线:蜜罐仅本机 / 授权内网;不得扫描 / 诱捕第三方。
https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x12.md「蜜罐与蜜网」有完整风险讨论。
实验任务 C 要求:记录一次「捕获」并明确写出隔离措施(绑哪个网卡、如何防横向)。
## 攻击复盘(M3 PoC 触发)
- 触发:用 M3 的 SQLi/RCE PoC 打自己的 /orders(仅授权靶场)
- 时间线:
- T0 侦察:nmap 全端口扫描(IDS 命中 scan)
- T1 利用:PoC 成功(app 日志 result=500 + 异常 SQL)
- T2 执行:异常命令(蜜罐/audit 捕获)
- IoC:src_ip=..., payload_hash=..., signature=...
- 证据保全:disk.img sha256=...(完整性校验通过)
- 处置:封禁 src_ip / 修复漏洞 / 加固日志
实验任务 D 要求:产出
attack-replay.md,含完整攻击链 + 时间线 + IoC。仅部署无复盘 = 该维度不合格。
| 用途 | 工具(国产优先) | 课堂定位 |
|---|---|---|
| 日志采集 | fluentd / filebeat / rsyslog / vector | 任务 A 管线 |
| 日志存储/检索 | ELK(Elasticsearch+Kibana)/ 国产 SIEM | 任务 A |
| 关联/告警 | ELK 告警 / detection-as-code | 任务 A 规则 |
| 用途 | 工具(国产优先) | 课堂定位 |
|---|---|---|
| 蜜罐 | HFish(国产) / Cowrie | 任务 C |
| 证据校验 | sha256sum / SM3 |
任务 B 保全 |
| 日志防篡改 | chattr +a / HMAC / SM2
签名 |
任务 E(强制) |
国产化原则:存储端、签名算法(SM2/SM3)、蜜罐(HFish)优先国产;采集器按团队熟悉度任选。详见 syllabus.md「国产优先」。
docs/m5/):
logging.* —— 集中日志配置 +
关联规则(可重跑)playbook.md ——
取证五步应对手册(可复用)honeypot.* —— 蜜罐部署 +
隔离说明(可复现)attack-replay.md —— 攻击链 + 时间线 +
IoC(可质证)report.md —— 含 R5 防篡改说明 +
自评衔接实验:
../labs/lab05-forensics.md是 M5 的完整任务清单与量规。
| 簇 × 级 | 能力描述 | 自评勾选 |
|---|---|---|
| ⑤·L2 | 搭集中日志 + 写取证应对手册 + 部署蜜罐 + 复盘一次攻击 + 日志防篡改 | ☐ M5 交付 |
经典理论全文:
https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x11.md、https://github.com/c4pr1c3/cuc-ns-ppt/blob/master/chap0x12.md(按需自学)。
M5 的集中日志 = M6「AI 检测组件」的数据源。