iDea82/ir-playbook-automation

GitHub: iDea82/ir-playbook-automation

这是一个基于Python的NIST CSF对齐事件响应自动化引擎,用于自动执行证据收集、IOC丰富化、威胁遏制及报告生成。

Stars: 0 | Forks: 0

# IR Playbook 自动化引擎 一个基于 Python 的事件响应自动化工具,用于执行符合 NIST CSF 框架并与 MITRE ATT&CK 技术相关联的结构化 IR Playbook。旨在自动化 SOC 分析师在处理活跃事件时执行的人工分流和响应工作流程。 ## 功能 当事件被声明后,该引擎将: - 自动收集证据 —— 账户状态、登录历史、 端点进程、网络连接 - 针对 VirusTotal 实时丰富 IOCs - 跨身份、端点和网络层关联证据 - 发现关键指标时自动升级严重程度 - 按顺序执行遏制操作 - 生成完整的时间戳事件报告,包含 人类可读和 JSON 格式 ## Playbooks ### Playbook 1 — 凭证泄露 **MITRE ATT&CK:** T1078 - Valid Accounts **NIST CSF Phases:** Identify → Detect → Respond → Recover 自动化对疑似凭证泄露的响应。检查 账户状态,拉取登录历史,检测可疑 身份验证来源,查询端点遥测,丰富 IOCs, 执行遏制,并生成事件报告。 **自动升级触发条件:** - 来自 Tor 出口节点的登录 → 升级为 P1 - 确认完整的攻击链 → 端点隔离 **遏制操作:** - 在 Active Directory 中禁用账户 - 终止所有会话,吊销 SSO 令牌 - 在边界防火墙阻止可疑 IP - 通过 EDR 隔离端点 - 触发 MFA 重新注册 ### Playbook 2 — 恶意软件执行 **MITRE ATT&CK:** T1204.002 / T1059.001 / T1071 **NIST CSF Phases:** Identify → Detect → Respond → Recover 自动化对疑似恶意软件执行的响应。收集 进程遥测,检测恶意的父子进程链, 检查网络连接中的 C2 活动,自动从证据中扩展 IOC 范围,动态映射 MITRE ATT&CK 技术, 并执行遏制。 **自动升级触发条件:** - 确认 C2 通信 → 升级为 P1 - 检测到横向移动 → 增加账户禁用操作 **遏制操作:** - 通过 CrowdStrike Falcon 隔离端点 - 终止恶意进程 - 在边界防火墙阻止 C2 IP - 捕获内存转储用于取证分析 - 若确认横向移动则禁用用户账户 ## 架构 ir-playbook-automation/ │ ├── playbooks/ │ ├── compromised_credential.py # 凭证泄露工作流 │ └── malware_execution.py # 恶意软件执行工作流 │ ├── utils/ │ ├── logger.py # 标记 NIST 阶段的操作记录器 │ ├── evidence.py # 证据收集引擎 │ └── reporter.py # 报告生成 (TXT + JSON) │ ├── main.py # 面向分析师的接口 ├── config.py # 分析师信息、阈值(不提交) └── .gitignore # 排除凭证和报告 ## 安装说明 1. 克隆仓库: ``` git clone https://github.com/iDea82/ir-playbook-automation.git cd ir-playbook-automation ``` 2. 创建虚拟环境: ``` python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Mac/Linux ``` 3. 安装依赖: ``` pip install requests colorama jinja2 ``` 4. 创建 `config.py`: ``` ANALYST_NAME = "Your Name" ANALYST_TIER = "Tier 2" SOC_TEAM = "Security Operations" VIRUSTOTAL_API_KEY = "your_key_here" SEVERITY_LEVELS = { "P1": "Critical", "P2": "High", "P3": "Medium", "P4": "Low" } NIST_PHASES = ["Identify","Protect","Detect","Respond","Recover"] AUTO_ESCALATE_TO_P1 = ["ransomware","data exfiltration confirmed", "domain admin compromise","active lateral movement"] REPORT_OUTPUT_DIR = "reports" ``` 5. 运行: ``` python main.py ``` ## 示例输出 ============================================================ COMPROMISED CREDENTIAL PLAYBOOK — INC-20260407-222043 [2026-04-07 22:20:43] [INFO] [Identify] 检查账户状态:atijani [2026-04-07 22:20:43] [WARNING] [Identify] 高失败登录次数:24 小时内失败 23 次 [2026-04-07 22:20:43] [CRITICAL] [Detect] 来自 Tor 出口节点的可疑登录:185.220.101.45 [2026-04-07 22:20:43] [CRITICAL] [Identify] 严重程度升级为 P1 — 确认 Tor 登录 [2026-04-07 22:20:44] [CRITICAL] [Detect] 确认攻击链:凭证泄露 → 宏执行 → PowerShell payload [2026-04-07 22:20:44] [SUCCESS] [Respond] 在 Active Directory 中禁用账户:atijani [2026-04-07 22:20:44] [SUCCESS] [Respond] 通过 EDR 隔离端点:WKSTN-ATIJANI-01 Incident ID : INC-20260407-222043 Severity : P1 (从 P2 升级) Findings : 4 Containment : 已执行 5 项操作 Duration : 0:00:01 ## MITRE ATT&CK 覆盖范围 | Playbook | Technique | Description | |----------|-----------|-------------| | Compromised Credential | T1078 | Valid Accounts | | Malware Execution | T1204.002 | Malicious File | | Malware Execution | T1059.001 | PowerShell | | Malware Execution | T1071 | Application Layer Protocol (C2) | ## 作者 Adesina Tijani — 安全运营分析师 Detection Engineering · Incident Response · SOC Automation [linkedin.com/in/adesina-tijani-6372693b5](https://linkedin.com/in/adesina-tijani-6372693b5) [github.com/iDea82](https://github.com/iDea82)
标签:Active Directory, Ask搜索, Cloudflare, EDR, IOC, IP 地址批量处理, MFA, MITRE ATT&CK, NIST CSF, OpenCanary, Plaso, Python, SOAR, SSO, Tor, VirusTotal, 凭证泄露, 剧本, 取证, 命令执行, 威胁情报, 安全运营, 开发者工具, 恶意软件, 扫描框架, 无后门, 横向移动, 编程规范, 网络调试, 网络连接, 脆弱性评估, 自动化, 进程分析, 逆向工具, 遏制措施, 防火墙, 隔离