harish-rcs/soar-lite-playbook

GitHub: harish-rcs/soar-lite-playbook

基于Python的轻量级SOAR框架,自动分析可疑文件执行事件并完成威胁情报查询、MITRE ATT&CK映射和自动化响应处置。

Stars: 0 | Forks: 0

# SOAR-lite: 自动化事件响应剧本 **用于可疑文件执行事件的自动化安全编排与响应系统** 一个基于 Python 的 SOAR(安全编排、自动化与响应)框架,可自动检测、分析并响应可疑文件执行事件。集成了威胁情报、模拟 EDR 操作以及 MITRE ATT&CK 映射。 ![Python](https://img.shields.io/badge/python-3.8+-blue.svg) ![许可证](https://img.shields.io/badge/license-MIT-green.svg) ## 🎯 功能 - **威胁情报集成**: 集成真实的 VirusTotal API,用于文件哈希信誉分析 - **自动化响应操作**: 模拟 EDR 功能(端点隔离、进程终止、文件隔离) - **MITRE ATT&CK 映射**: 自动将事件映射到 ATT&CK 技术和战术 - **取证收集**: 自动收集用于调查的电子证据 - **详细日志记录**: 彩色控制台输出,并附带全面的文件日志 - **JSON 报告**: 生成用于 SIEM 集成的结构化事件报告 ## 🏗️ 架构 ``` soar-lite-playbook/ ├── config/ │ └── config.yaml # Configuration (API keys, thresholds) ├── playbooks/ │ └── suspicious_file.py # Main playbook logic ├── modules/ │ ├── threat_intel.py # VirusTotal integration │ ├── edr_actions.py # Simulated EDR controls │ └── logger.py # Logging and reporting ├── mitre_mapping.py # ATT&CK framework mapping ├── main.py # CLI entry point ├── logs/ # Execution logs (auto-generated) └── reports/ # JSON incident reports (auto-generated) ``` ## 📋 前置条件 - Python 3.8 或更高版本 - (可选)用于获取真实威胁情报的 VirusTotal API 密钥 - 免费额度:每分钟 4 次请求 - 获取地址:https://www.virustotal.com/gui/my-apikey ## 🚀 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/yourusername/soar-lite-playbook.git cd soar-lite-playbook ``` ### 2. 安装依赖 ``` pip install -r requirements.txt ``` ### 3. 配置 API 密钥(可选) 编辑 `config/config.yaml` 并添加你的 VirusTotal API 密钥: ``` virustotal: api_key: "YOUR_VIRUSTOTAL_API_KEY_HERE" ``` **注意**:系统在没有 VirusTotal API 密钥的情况下也可使用模拟的威胁情报数据正常运行。 ## 💻 使用说明 ### 快速开始:演示模式 运行预先配置的演示事件,以查看剧本的实际运行情况: ``` python main.py --demo ``` 此操作会执行两个示例事件: 1. 恶意 PowerShell 脚本(高危威胁) 2. 潜在有害应用程序(中危威胁) ### 执行真实剧本 #### 示例 1:带有哈希值的可疑可执行文件 ``` python main.py suspicious-file \ --hostname WORKSTATION-42 \ --file-path "C:\Users\jdoe\Downloads\malware.exe" \ --file-hash "a1b2c3d4e5f6..." \ --process-name "malware.exe" \ --user "jdoe" ``` #### 示例 2:未知文件(将自动计算哈希值) ``` python main.py suspicious-file \ --hostname SERVER-01 \ --file-path "/tmp/suspicious.sh" \ --process-name "bash" \ --pid 8472 ``` ## 📊 剧本执行流程 ``` 1. THREAT INTELLIGENCE ANALYSIS ├── Calculate file hash (SHA-256) ├── Query VirusTotal API ├── Analyze detection rate └── Determine verdict (CLEAN/SUSPICIOUS/MALICIOUS) 2. MITRE ATT&CK MAPPING ├── Map to tactics (Execution, Defense Evasion, Persistence) ├── Identify techniques (T1204.002, T1027, T1059, etc.) └── Recommend mitigations 3. AUTOMATED RESPONSE ACTIONS ├── Kill malicious process ├── Quarantine suspicious file ├── Isolate endpoint (if score ≥ threshold) └── Collect forensic artifacts 4. REPORTING ├── Generate summary verdict ├── Export JSON report └── Log all actions taken ``` ## 🔧 配置 ### 响应阈值 编辑 `config/config.yaml` 以自定义自动化行为: ``` thresholds: auto_isolate_score: 10 # VirusTotal detections to trigger isolation auto_kill_process: true # Automatically terminate process auto_quarantine: true # Automatically quarantine file ``` ### 日志级别 ``` logging: level: "INFO" # DEBUG, INFO, WARNING, ERROR log_dir: "logs/" report_dir: "reports/" ``` ## 📈 示例输出 ``` ====================================================================== 🚨 SUSPICIOUS FILE EXECUTION DETECTED ====================================================================== Affected Endpoint: WORKSTATION-42 File Path: C:\Users\jdoe\Downloads\invoice_malware.ps1 Process: powershell.exe User: jdoe 🔍 PHASE 1: Threat Intelligence Analysis ---------------------------------------------------------------------- [INFO] Calculated SHA-256: aaaaaaaaaaaaaaaa... [INFO] Querying VirusTotal for hash: aaaaaaa... [INFO] VirusTotal verdict: MALICIOUS (45/72 engines) 🎯 PHASE 2: MITRE ATT&CK Mapping ---------------------------------------------------------------------- [SUCCESS] ✓ Mapped to 4 MITRE ATT&CK techniques Mapped Tactics: Execution, Defense Evasion, Persistence Techniques Identified: 4 • T1204.002: User Execution: Malicious File • T1027: Obfuscated Files or Information • T1059: Command and Scripting Interpreter ⚡ PHASE 3: Automated Response Actions ---------------------------------------------------------------------- [ACTION] Terminating process on WORKSTATION-42: powershell.exe (PID: 4832) [SUCCESS] ✓ Process terminated: powershell.exe (PID: 4832) [ACTION] Quarantining file on WORKSTATION-42: C:\Users\jdoe\Downloads\invoice_malware.ps1 [SUCCESS] ✓ File quarantined: C:\Users\jdoe\Downloads\invoice_malware.ps1 [WARNING] Malicious score (45) exceeds threshold (10) [ACTION] Initiating network isolation for endpoint: WORKSTATION-42 [SUCCESS] ✓ Endpoint WORKSTATION-42 successfully isolated from network 📊 PHASE 4: Summary & Reporting ---------------------------------------------------------------------- Final Verdict: 🔴 CONFIRMED THREAT Actions Executed: 4 Successful Actions: 4/4 ``` ## 🎯 应用场景 ### 安全运营中心 - **一线 (Tier 1) 自动化**: 自动分类并响应常见警报 - **降低 MTTR**: 将平均响应时间 (MTTR) 从 45 分钟缩短至 5 分钟以内 - **提升分析师效率**: 将分析师从重复性任务中解放出来 ### 事件响应团队 - **标准化响应**: 在所有事件中执行一致的剧本 - **取证保护**: 自动收集调查所需的电子证据 - **证据保管链**: 详细记录所有已执行的操作 ### 威胁狩猎 - **MITRE ATT&CK 对齐**: 将检测结果映射到对手技术 - **威胁情报富化**: 结合 VirusTotal 数据为警报提供上下文 - **模式分析**: 回顾历史剧本执行情况 ## 🔐 安全注意事项 ### API 密钥保护 - 切勿将 API 密钥提交至版本控制 - 在生产环境中使用环境变量: export VT_API_KEY="your_key_here" - 定期轮换密钥 ### 模拟环境与生产环境 本项目使用**模拟的 EDR 操作**进行演示。在生产环境中: - 将 `edr_actions.py` 替换为真实的 EDR API 集成(如 CrowdStrike、Microsoft Defender) - 实施适当的身份验证和授权机制 - 为破坏性操作(如端点隔离)增加审批工作流 - 与您的 SIEM 集成以实现警报接入 ## 🛠️ 项目扩展 ### 添加新剧本 1. 在 `playbooks/` 目录中创建新剧本 2. 遵循 `suspicious_file.py` 的结构 3. 在 `main.py` 中添加子解析器 ### 添加新的威胁情报源 1. 在 `modules/` 中创建模块 2. 实现与 `threat_intel.py` 类似的接口 3. 将其添加到剧本工作流中 ### 集成真实的 EDR 替换 `edr_actions.py` 中的模拟函数: ``` def isolate_endpoint(self, hostname): # Replace with actual API call response = requests.post( f"{EDR_API_URL}/endpoints/{hostname}/isolate", headers={"Authorization": f"Bearer {API_TOKEN}"} ) return response.json() ``` ## 📝 输出文件 ### 日志 - 位置:`logs/soar_YYYYMMDD_HHMMSS.log` - 格式:带时间戳的文本日志 - 内容:所有执行细节、错误和警告 ### 报告 - 位置:`reports/suspicious_file_execution_YYYYMMDD_HHMMSS.json` - 格式:结构化 JSON - 内容:警报数据、威胁情报、已执行操作、MITRE 映射 报告结构示例: ``` { "playbook": "suspicious_file_execution", "execution_time": "2024-01-15T14:32:11.123456", "results": { "alert": {...}, "threat_intel": {...}, "mitre_mapping": {...}, "actions": [...], "final_verdict": "CONFIRMED_THREAT" } } ``` ## 📜 许可证 MIT 许可证 - 详情请参阅 LICENSE 文件 ## 📧 联系方式 **作者**: Harish R CS **LinkedIn**: www.linkedin.com/in/harishrccybersecurity ## 🎓 项目目的 本项目展示了以下能力: - 安全自动化与编排技能 - 用于网络安全的 Python 开发 - MITRE ATT&CK 框架知识 - 威胁情报集成 - SOC 工作流自动化 - 整洁的代码与文档实践 非常适合用于展示 SOAR、检测工程和事件响应能力的网络安全作品集。
标签:Ask搜索, Cloudflare, DAST, EDR, HTTP工具, JSON报告, MITRE ATT&CK, Python, SIEM集成, SOAR, VirusTotal, 可疑文件执行, 威胁情报, 子域名变形, 安全剧本, 安全取证, 安全日志, 安全运营中心, 开发者工具, 恶意软件分析, 搜索语句(dork), 文件哈希分析, 文件隔离, 无后门, 端点检测与响应, 端点隔离, 网络安全, 网络映射, 脆弱性评估, 脱壳工具, 自动化分析, 自动化应急响应, 蓝军工具, 跨站脚本, 进程终止, 逆向工具, 隐私保护