Xros3x/Incident-Response-Multi-Stage-SSH-Intrusion-NIST-800-61-
GitHub: Xros3x/Incident-Response-Multi-Stage-SSH-Intrusion-NIST-800-61-
基于 NIST 800-61 标准的多阶段 SSH 入侵事件响应实战项目,涵盖完整的检测、响应、根除流程及事后报告。
Stars: 0 | Forks: 0
# 🚨 事件响应:多阶段 SSH 入侵 (NIST 800-61)





## 目标
遵循 NIST SP 800-61 生命周期,端到端地规划并执行针对多阶段 SSH 入侵的完整事件响应。本项目展示了完整的分析师工作流:准备 IR 计划和 playbook,在 SIEM 中检测实时的多阶段攻击,抑制和根除威胁,恢复系统,并生成包含响应指标和 MITRE ATT&CK 映射的正式事后报告。
## 本项目展示了什么
与单一的攻击演示不同,本项目涵盖了真实 SOC 运作方式下的整个事件响应生命周期——从书面的准备工作到实时执行,再到事后审查。针对受监控的终端执行了一次逼真的入侵,在每个阶段都进行了检测,并通过遵循文档化的 playbook 进行了响应。
## NIST 800-61 生命周期的应用
```
Phase 1 — Preparation
IR Plan + SSH Intrusion Playbook authored in advance
Phase 2 — Detection & Analysis
All 4 attack stages detected in Splunk; incident timeline reconstructed
Phase 3 — Containment, Eradication & Recovery
Attacker blocked, persistence removed, account deleted, system hardened
Phase 4 — Post-Incident Activity
Metrics calculated (MTTD, MTTR, dwell time); after-action report produced
```
## 攻击场景
从 Kali Linux 针对受监控的 Raspberry Pi 终端执行了四阶段入侵:
| 阶段 | 攻击者行为 | MITRE ATT&CK |
|-------|----------------|--------------|
| 1. 侦察 | Nmap 服务扫描 | T1046 网络服务发现 |
| 2. 凭据访问 | Hydra SSH 暴力破解 | T1110.001 密码猜测 |
| 3. 初始访问与执行 | SSH 登录 + 枚举命令 | T1078 有效账户, T1059 |
| 4. 持久化 | 用于维持访问的 Cron 任务 | T1053.003 计划任务:Cron |
## 环境
| 组件 | 角色 |
|-----------|------|
| Splunk Enterprise (Ubuntu VM) | SIEM — 检测与事件重建 |
| Raspberry Pi 5 | 受监控的 Linux 终端(受害者) |
| Kali Linux (VM) | 攻击模拟主机 |
| Proxmox VE | Hypervisor |
| UFW + Splunk Universal Forwarder | 终端日志记录与转发 |
## 响应指标
| 指标 | 数值 | 描述 |
|--------|-------|-------------|
| 攻陷时间 | 约 18 分钟 | 从攻击开始到成功实现未授权访问 |
| 平均检测时间 (MTTD) | 约 12 分钟 | 从初始访问到在 SIEM 中检测到 |
| 平均响应时间 (MTTR) | 约 2 分钟 | 从检测到开始抑制 |
| 总潜伏时间 | 约 25 分钟 | 从初始访问到彻底根除 |
2 分钟的 MTTR 反映了高效的响应执行。检测延迟被确定为主要改进机会,并在报告的建议中予以解决。
## 检测演练
### 阶段 1 — 检测到侦察
Nmap 扫描产生了大量来自单一源 IP 的 UFW 防火墙拦截事件。

### 阶段 2 — 检测到暴力破解
来自攻击者 IP 的重复 SSH 认证失败事件揭示了正在进行的暴力破解。

### 确认攻陷
“Accepted password” 事件确认攻击者成功获得了访问权限——将事件升级为严重。

### 阶段 3 — 检测到未授权访问
Splunk 记录了被攻陷账户的 SSH 会话开启,以及访问后的命令活动。

### 阶段 4 — 检测到持久化
攻击者的 cron 任务持久化机制在日志中被捕获。

### 完整事件时间线
合并后的 Splunk 搜索按时间顺序重建了整个攻击链。

## 攻击过程 (Kali)
暴力破解成功破解了测试账户的凭据,为攻击者提供了初始访问权限。

## 响应演练
### 抑制
在主机防火墙 (UFW) 中阻断了攻击者源 IP,并终止了处于活动状态的攻击者会话。在进行任何更改之前,已保留了易失性证据——活动会话、网络连接和正在运行的进程。
### 根除与恢复
- 移除了 cron 任务持久化
- 删除了被攻陷的账户
- 加固了 SSH(禁用 root 登录,降低 MaxAuthTries)
- 部署了 fail2ban 以进行自动化的暴力破解防护
## 项目交付物
| 文档 | 描述 |
|----------|-------------|
| [事件响应计划](ir-plan/) | 针对实验室环境的 NIST 800-61 IR 计划 |
| [SSH 入侵 Playbook](playbook/) | 针对此类攻击的逐步响应操作手册 |
| [事件报告 IR-2026-004](incident-report/) | 包含指标和分析的正式事后报告 |
每个交付物均提供 Markdown 和 Word 格式。
## MITRE ATT&CK 覆盖范围
| 战术 | 技术 | ID |
|--------|-----------|-----|
| 发现 | 网络服务发现 | T1046 |
| 凭据访问 | 暴力破解:密码猜测 | T1110.001 |
| 初始访问 | 有效账户 | T1078 |
| 执行 | 命令和脚本解释器 | T1059 |
| 持久化 | 计划任务/作业:Cron | T1053.003 |
## 关键发现与建议
**根本原因:** 弱密码结合基于密码的 SSH 认证导致了暴力破解攻击的成功。
**主要建议:**
- 强制实施基于密钥的 SSH 认证并禁用密码认证
- 针对同一 IP 在多次登录失败后成功登录的情况,创建实时 SIEM 告警
- 在所有暴露 SSH 的终端上维持 fail2ban 运行
- 将检测与 SOAR 集成,实现自动化富化和响应
## 展示的技能
- 事件响应规划和 playbook 开发
- NIST SP 800-61 生命周期执行
- 基于 SIEM 的检测和事件重建
- 多阶段攻击分析和范围界定
- 执行抑制、根除和恢复
- 响应指标计算 (MTTD, MTTR, dwell time)
- MITRE ATT&CK 映射
- 正式的事件记录和报告
## 参考
- [NIST SP 800-61 Rev. 2](https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final)
- [MITRE ATT&CK](https://attack.mitre.org)
- [Splunk 文档](https://docs.splunk.com)
标签:NIST, 安全运营, 扫描框架