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 映射。


## 🎯 功能
- **威胁情报集成**: 集成真实的 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), 文件哈希分析, 文件隔离, 无后门, 端点检测与响应, 端点隔离, 网络安全, 网络映射, 脆弱性评估, 脱壳工具, 自动化分析, 自动化应急响应, 蓝军工具, 跨站脚本, 进程终止, 逆向工具, 隐私保护