bttecs/Incident-Response-breach
GitHub: bttecs/Incident-Response-breach
一套基于 NIST 标准的六阶段事件响应框架,提供从证据收集、日志分析到合规报告的全流程脚本与文档模板。
Stars: 0 | Forks: 0
# 事件响应 — 全面违规响应路线图
**项目:** 事件响应违规处理与取证调查
**组织:** BTTECS
**编制人:** 安全团队
**最后更新:** 2026年5月
## 执行摘要
此仓库包含一个完整的事件响应框架,涵盖违规检测、遏制、取证调查和恢复。它包含可直接运行的 PowerShell 脚本,用于证据收集、日志分析、防火墙强化和违规记录。
该框架遵循 NIST RMF 原则,并包含违规通知、取证报告和修复规划的模板。
## 阶段概述:6阶段响应路线图
### 阶段 1:遏制 (CONTAIN)(立即执行 — 0–2小时)
**目标:** 及时止损。隔离违规行为,防止数据泄露,保留证据。
**操作:**
- [ ] 识别受影响的系统和网络
- [ ] 将受感染的机器从网络中隔离(如有必要,在不破坏证据的情况下进行)
- [ ] 禁用受感染的用户账户(更改密码,撤销 MFA,撤销 SSH 密钥)
- [ ] 在防火墙处拦截攻击者 IP 地址
- [ ] 卸载未经授权的远程访问工具
- [ ] 在任何重启之前,获取取证镜像/收集易失性数据
**关键点:** 切勿立即关闭机器电源 — 这会破坏驻留在 RAM 中的证据(运行中的进程、网络连接、解密密钥)。仅当勒索软件正在实时加密文件时,才关闭电源。
**工具:**
- Invoke-IRCollect.ps1 — 将易失性数据和证据收集到外部驱动器
- Remove-SuspectTools.ps1 — 移除攻击者安装的后门
### 阶段 2:调查 (INVESTIGATE)(2–24小时)
**目标:** 了解发生了什么。确定范围、时间线和受影响的数据。
**操作:**
- [ ] 从所有系统收集事件日志
- [ ] 分析文件访问日志 — 打开了哪些数据?
- [ ] 检查 SRUM 数据库 — 多少字节离开了机器?
- [ ] 分析 Shell Bags 和浏览器历史记录
- [ ] 查看跳转列表 — 攻击者打开了哪些文件?
- [ ] 检查未经授权的云上传(Google Drive、OneDrive、Dropbox)
- [ ] 根据防火墙日志对攻击者 IP 进行地理定位
- [ ] 询问用户 — 他们何时第一次注意到异常?
**工具:**
- Chainsaw + Hayabusa — 在 EVTX 文件中搜寻 IOC
- EZ Tools (JLECmd, LECmd, PECmd, MFTECmd, SrumECmd)
- Invoke-LogAnalysis.ps1 — 自动化多工具分析
- Invoke-ExfilAnalysis.ps1 — 数据泄露分析
### 阶段 3:清除 (ERADICATE)(24–72小时)
**目标:** 移除攻击者的工具和访问权限。
**操作:**
- [ ] 卸载所有未经授权的 RMM/远程访问工具
- [ ] 移除攻击者创建的用户账户
- [ ] 删除恶意的计划任务
- [ ] 移除持久化机制(运行键、启动项、服务)
- [ ] 清除允许攻击者访问的防火墙规则
- [ ] 使用更新的防病毒软件进行扫描 — 全系统扫描
- [ ] 检查内核级 rootkit(如有怀疑)
- [ ] 重置管理员凭据
**工具:**
- Remove-SuspectTools.ps1 — 带有日志记录的自动移除
- Windows Defender 全盘扫描
- Kaspersky Rescue Disk(如果怀疑有 rootkit)
### 阶段 4:恢复 (RECOVER)(72–168小时)
**目标:** 恢复正常运营。
**操作:**
- [ ] 从干净的备份中恢复系统(如果存在违规前的备份)
- [ ] 为所有系统打补丁 — 特别是操作系统和关键应用程序
- [ ] 更新防病毒和恶意软件定义
- [ ] 在所有系统上重新启用监控和日志记录
- [ ] 验证备份是否正常工作 — 测试恢复
- [ ] 重建无法清理的系统
- [ ] 在监控下逐步重新启用用户访问权限
### 阶段 5:修复 (REMEDIATE)(168–720小时)
**目标:** 修补导致违规的安全漏洞。
**操作:**
- [ ] 启用防火墙默认拒绝入站策略
- [ ] 在所有 PowerShell 系统上启用 Script Block Logging
- [ ] 对敏感文件夹启用文件访问审核 (EID 4663)
- [ ] 实施 EDR 或改进监控
- [ ] 更新防火墙规则,限制来自互联网的 RDP、SMB、RPC
- [ ] 升级生命周期结束的软件 (Microsoft Office 2010 → 最新版)
- [ ] 在所有管理账户上实施 MFA
- [ ] 部署集中式日志聚合 (Wazuh, Splunk, ELK)
- [ ] 开展安全意识培训
**配置:**
- Invoke-TaxFirmFirewallHarden.ps1 — 实施最佳实践的防火墙策略
### 阶段 6:合规 (COMPLY)(720小时–无限期)
**目标:** 报告、记录并防止再次发生。
**操作:**
- [ ] 向受影响方发送违规通知信(如法律要求)
- [ ] 向州总检察长提交违规通知(如适用)
- [ ] 如果 SSN 被泄露,通知信用机构
- [ ] 记录事件时间线和调查结果
- [ ] 为监管审计做准备(IRS、州、客户)
- [ ] 进行事件后审查 / 经验教训总结
- [ ] 根据调查结果更新事件响应计划
- [ ] 实施持续监控和季度审查
**模板:**
- Breach_Notification_Letter.docx
- Incident_Response_Report.md
- Remediation_Plan_Template.md
## 关键黄金法则
### 法则 1:切勿立即关闭电源
**原因:** RAM 包含运行中的进程、活跃的网络连接,有时还有解密密钥。关闭电源会永久破坏这些证据。
**何时可以关闭电源:** 仅当勒索软件正在实时加密文件且你需要立即阻止它时。
**替代方案:**
- 首先收集易失性数据(内存转储、运行中的进程、网络连接)
- 使用 Invoke-IRCollect.ps1 自动执行此操作
### 法则 2:使用干净的设备进行调查
**原因:** 受感染机器的浏览器、电子邮件客户端和 DNS 解析器可能都已被篡改。
**操作:**
- 在不同的机器上执行所有分析
- 使用你收集证据的外部驱动器
- 切勿将受感染的机器插入你的分析网络
### 法则 3:在分析前保留证据
**原因:** 日志轮换将覆盖事件,且攻击者的事后清理例程可能会删除日志。
**操作:**
- 立即将日志复制到外部驱动器(Invoke-IRCollect.ps1 会执行此操作)
- 生成 SHA-256 哈希清单(证明完整性)
- 如果可用,使用一次写入式存储
### 法则 4:顺序至关重要
**关键顺序:**
1. 首先遏制(隔离,停止泄露)
2. 其次调查(收集证据,了解范围)
3. 第三清除(移除攻击者访问权限)
4. 第四恢复(恢复系统)
5. 第五修复(修补安全漏洞)
6. 第六合规(通知、记录、报告)
**原因:** 在阶段 1 之前跳到阶段 5,就像攻击者还在里面时就去锁门。
### 法则 5:电子邮件是万能钥匙
**原因:** 每个“忘记密码”链接都会发到电子邮件。 compromising 电子邮件即可访问所有密码重置。
**首要行动:**
- 重置电子邮件账户密码
- 如果尚未启用,请在电子邮件上启用 MFA
- 检查电子邮件转发规则,寻找隐藏的攻击者访问权限
- 审查违规窗口期内的已发送邮件
## 快速入门 — 按顺序使用这些脚本
### 步骤 1:收集证据(0小时)
```
# 右键点击 PowerShell → 以管理员身份运行
.\Invoke-IRCollect.ps1 -DriveLetter E -DaysBack 14
# 输出:包含 forensic image、所有日志和易失性数据的外部驱动器
# 时间:20–40 分钟
# 下一步:移动至干净的 analysis machine
```
### 步骤 2:分析日志(1小时)
```
# 在干净的 analysis machine 上
.\Invoke-LogAnalysis.ps1
# 输出:Chainsaw + Hayabusa 结果、威胁时间线
# 时间:5 分钟(首次运行时下载工具)
# 下一步:审查 HTML 报告和 ALERT_* CSV 文件
```
### 步骤 3:检查数据泄露(2小时)
```
.\Invoke-ExfilAnalysis.ps1
# 输出:哪些文件被访问、打开或传输
# 时间:10–15 分钟
# 下一步:审查 LNK_Resolved_Targets.csv 和归档文件
```
### 步骤 4:深度取证(3小时)
```
# 仅在确认发生数据泄露时
# (遵循调查指南中的 Tier 1 方法)
```
### 步骤 5:强化防火墙(24小时)
```
# 调查完成后
.\Invoke-TaxFirmFirewallHarden.ps1 `
-LegitimateScreenConnectID "bec82a294218ab1e" `
-MSPSubnet "203.0.113.50/32"
# 输出:已强制执行的 Firewall 策略、HTML 合规性报告
# 时间:5 分钟
# 下一步:测试 ProSeries e-file,测试 MSP 访问
```
## 仓库结构
```
Incident-Response-Breach/
├── README.md (this file)
├── PHASE_1_CONTAIN.md # Immediate containment steps
├── PHASE_2_INVESTIGATE.md # Forensic investigation guide
├── PHASE_3_ERADICATE.md # Removing attacker tools
├── PHASE_4_RECOVER.md # Restoration procedures
├── PHASE_5_REMEDIATE.md # Security improvements
├── PHASE_6_COMPLY.md # Notification & reporting
│
├── SCRIPTS/
│ ├── Invoke-IRCollect.ps1 # Evidence collection (Windows)
│ ├── Invoke-IRRunbook.ps1 # Automated IR evidence gather
│ ├── Invoke-LogAnalysis.ps1 # Chainsaw + Hayabusa automation
│ ├── Invoke-ExfilAnalysis.ps1 # Data exfiltration detection
│ ├── Remove-SuspectTools.ps1 # Remove attacker backdoors
│ ├── Invoke-TaxFirmFirewallHarden.ps1 # Firewall hardening for tax firms
│ ├── Deploy-WazuhAgent.ps1 # Deploy Wazuh security agent
│ └── wazuh-manager-install.sh # Deploy Wazuh SIEM (Linux)
│
├── TEMPLATES/
│ ├── Breach_Notification_Letter.docx # GDPR/state law notification
│ ├── Suspect_Tool_Removal_Checklist.docx # Step-by-step removal
│ ├── Incident_Response_Report.md # Post-incident report
│ ├── Remediation_Plan_Template.md # 30/60/90-day fix plan
│ └── Chain_of_Custody_Template.txt # Evidence integrity tracking
│
├── TOOLS/
│ ├── Log_Analysis_Guide.md # Where to find every log file
│ ├── Firewall_Configuration_Guide.md # Step-by-step firewall setup
│ ├── EZ_Tools_Quick_Reference.md # JLECmd, LECmd, PECmd usage
│ └── SIEM_Deployment_Guide.md # Wazuh/Splunk setup
│
├── EVIDENCE/
│ └── IR_Log_Analyzer.html # Browser-based log analyzer
│
└── REFERENCE/
├── NIST_IR_Framework.md
├── CIS_Incident_Response.md
├── Attacker_IOC_Templates.md
└── Legal_Notification_Requirements.md
```
## 日志文件 — 快速参考
| 日志 | 位置 | 告知你的内容 |
|-----|----------|---|
| **Security** | `C:\Windows\System32\winevt\Logs\Security.evtx` | 登录 (4624)、登录失败 (4625)、特权使用 (4672)、账户更改 (4720–4732)、组成员身份 (4799)、对象访问 (4663) |
| **PowerShell** | `C:\Windows\System32\winevt\Logs\Microsoft-Windows-PowerShell%4Operational.evtx` | 所有运行的 PowerShell 命令(如果启用了 Script Block Logging — 事件 4104) |
| **Sysmon** | Event Log → Applications and Services Logs → Sysmon | 进程创建 (1)、网络连接 (3)、文件写入 (11)、注册表 (12–14)、DNS 查询 (22) |
| **Windows Defender** | Event Viewer → Applications and Services → Windows Defender → Operational | 恶意软件检测(事件 1006–1119) |
| **Task Scheduler** | `Microsoft-Windows-TaskScheduler%4Operational.evtx` | 创建、修改、执行的计划任务 |
| **System** | `C:\Windows\System32\winevt\Logs\System.evtx` | 服务启动/停止 (7045)、系统关机、驱动程序加载 |
| **Remote Desktop** | `Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx` | 来自网络的 RDP 连接 |
| **Firewall** | `C:\Windows\System32\LogFiles\Firewall\pfirewall.log` | 被阻止/允许的入站/出站连接 |
| **DNS** | 路由器/DNS 服务器日志 | 攻击者的 C2 域名托管位置 |
| **Network** | 路由器、托管交换机、NetFlow | 异常的数据量、外部 IP、端口扫描 |
## 事件响应检查清单 — 打印并放在桌面上
```
HOUR 0-2: CONTAIN
───────────────────
☐ Identify affected systems (what was compromised?)
☐ Notify incident response team
☐ Collect volatile data (Invoke-IRCollect.ps1)
☐ Disable attacker accounts (change passwords, disable, revoke MFA)
☐ Block attacker IP addresses at firewall
☐ Uninstall unauthorized RMM tools
☐ Preserve evidence to external drive
☐ Alert C-suite / executive sponsor
HOUR 2-24: INVESTIGATE
─────────────────────────
☐ Analyze collected logs (Invoke-LogAnalysis.ps1)
☐ Check for data exfiltration (Invoke-ExfilAnalysis.ps1)
☐ Review browser history for cloud uploads
☐ Geolocate attacker IPs
☐ Calculate timeline of attack
☐ Determine what data was accessed
☐ Prepare preliminary findings report
☐ Notify legal if breach notification may be required
DAY 1-3: ERADICATE
────────────────────
☐ Remove all unauthorized RMM tools (Remove-SuspectTools.ps1)
☐ Delete attacker-created user accounts
☐ Remove persistence mechanisms
☐ Clear malicious firewall rules
☐ Full antivirus scan of all systems
☐ Patch all critical vulnerabilities
☐ Verify attacker tools are completely removed
☐ Test that legitimate access still works
DAY 3-7: RECOVER
─────────────────
☐ Restore systems from clean backups
☐ Update antivirus definitions
☐ Re-enable security monitoring
☐ Test system functionality
☐ Gradually restore user access
☐ Monitor for signs of reinfection
WEEK 2-4: REMEDIATE
─────────────────────
☐ Harden firewall (Invoke-TaxFirmFirewallHarden.ps1)
☐ Enable Script Block Logging on all PowerShell
☐ Enable file access auditing (EID 4663)
☐ Deploy endpoint detection & response (EDR)
☐ Upgrade end-of-life software
☐ Implement MFA on all admin accounts
☐ Deploy centralized logging (Wazuh, Splunk)
☐ Conduct security training
MONTH 2+: COMPLY
──────────────────
☐ Draft breach notification letters (if required)
☐ File state attorney general reports
☐ Notify credit bureaus
☐ Prepare regulatory audit documentation
☐ Post-incident review meeting
☐ Update incident response plan
☐ Implement quarterly security reviews
```
## 何时联系专业 IR 公司
如果出现以下情况,请联系 Kroll、Mandiant 或当地的 DFIR 顾问:
- [ ] 确认感染了勒索软件
- [ ] 有横向移动到多个系统的证据
- [ ] 确认盗取了 >1,000 条客户记录
- [ ] 怀疑有内部威胁或国家级攻击者
- [ ] 备份系统受损(攻击者可能已将其破坏)
- [ ] 多个地点受到攻击
- [ ] 怀疑数据被传输到国外
- [ ] 事件涉及 PII/PHI/支付卡数据(违反 HIPAA/PCI)
- [ ] 很可能引发集体诉讼
**费用:** $500–5,000/天,但如果出现以下情况则是值得的:
- 证据将在法庭上使用
- 出于监管合规需要取证报告
- 调查潜在的可起诉的网络犯罪
## 监管通知要求
| 法规 | 时间线 | 通知对象 | 标准 |
|---|---|---|---|
| **GDPR** | 72小时 | 数据保护机构 + 个人 | 任何个人数据泄露 |
| **HIPAA** | 60天 | HHS OCR + 个人 | 受保护健康信息 (PHI) 泄露 |
| **PCI-DSS** | 不定 | 发卡处理机构 + 收单行 | 支付卡数据泄露 |
| **州法律** (US) | 30–60天 | 州总检察长 + 个人 | PII 或 SSN 泄露 |
| **FTC Safeguards** | 30天 | 客户 | 税务公司/财务数据泄露 |
| **IRS** | 30天 | IRS Security Awareness | 纳税申报数据泄露 |
## 支持与升级
**对脚本有疑问?**
检查 SCRIPTS/ 目录 — 每个 .ps1 文件都有内联注释和使用示例
**对法律通知有疑问?**
查看 TEMPLATES/Breach_Notification_Letter.docx — 填入你所在的州和数据类型
**对防火墙规则有疑问?**
查看 TOOLS/Firewall_Configuration_Guide.md 了解逐步的 GUI 和 PowerShell 方法
**需要专业的取证报告?**
联系:Kroll、Mandiant、CrowdStrike Services 或当地的 DFIR 顾问
## 修订历史
| 版本 | 日期 | 更改 | 作者 |
|---------|------|---------|--------|
| 1.0 | 2026年5月 | 初始事件响应框架 | BTTECS |
**最后更新:** 2026年5月
**下次审查:** 发生后每季度一次,至少每年一次
**编制人:** BTTECS 安全团队
**密级:** 内部使用 / 客户机密
标签:AI合规, IPv6, PB级数据处理, PowerShell, 事件响应框架, 安全运维, 库, 应急响应, 数字取证, 自动化脚本