jayvpatel75/soc-threat-detection-lab
GitHub: jayvpatel75/soc-threat-detection-lab
一个Python实现的SOC威胁检测实验室,通过日志解析、检测规则和威胁情报集成来识别暴力破解和端口扫描攻击,并自动生成事件报告。
Stars: 1 | Forks: 0
# SOC 威胁检测实验室(Python | SIEM风格检测工程)
模拟真实的SOC管道,使用基于Python的检测工程、威胁情报丰富化和自动化事件报告来检测和分析暴力破解攻击及端口扫描。
## 🚀 快速演示
运行整个SOC管道:
```
python src/run_pipeline.py
```
### 示例输出
```
SOC Threat Detection Lab - One-Click Pipeline
[*] Parsing auth logs...
[*] Running brute force detection...
[+] Auth pipeline complete: 2 alert(s), 2 incident report(s)
[*] Parsing network logs...
[*] Running port scan detection...
[+] Network pipeline complete: 2 alert(s)
[+] Pipeline finished successfully
```
## 概述
本项目通过构建端到端管道来展示实际的SOC分析师和检测工程技能,包括:
* 解析和规范化原始安全日志
* 检测暴力破解攻击和端口扫描活动
* 使用VirusTotal威胁情报丰富化警报
* 生成结构化事件报告
* 使用单一命令自动化整个工作流程
## 🎯 为什么创建此项目
此项目旨在模拟真实SOC运营并展示以下方面的实践经验:
* 从原始日志中检测恶意活动
* 使用基于时间的检测规则关联事件
* 使用外部威胁情报丰富化警报
* 生成可操作的事件报告
它反映了Splunk和Microsoft Sentinel等真实SIEM平台中使用的工作流程。
## 📸 截图
### SOC管道执行

### 事件报告输出

## 💼 展示的关键技能
* 安全运营中心(SOC)工作流程
* 检测工程(基于规则的检测)
* 日志解析和规范化
* 威胁情报丰富化(VirusTotal API)
* 事件分析和报告
* 使用Python进行安全自动化
* 使用Kali Linux(Nmap)进行攻击模拟
## ⭐ 项目亮点
* 从零开始构建SOC风格的检测管道
* 实现了暴力破解和端口扫描检测规则
* 集成了VirusTotal API进行威胁情报分析
* 使用单一命令自动化完整工作流程
* 使用Kali Linux模拟真实攻击
## 🧠 架构
```
Raw Logs
↓
Parser (Normalization)
↓
Detection Engine (Brute Force / Port Scan)
↓
Threat Intelligence Enrichment (VirusTotal)
↓
Alerts
↓
Incident Reports
```
## ⚙️ 技术栈
* Python 3.11+
* Requests(API集成)
* Python-dotenv(安全的API密钥处理)
* VirusTotal API
* JSON(事件存储和警报)
## 📂 项目结构
```
soc-threat-detection-lab/
├── data/
│ ├── raw/
│ └── processed/
├── detections/
├── reports/
├── src/
│ ├── parser.py
│ ├── detector.py
│ ├── enrich.py
│ ├── portscan_detector.py
│ ├── report.py
│ └── run_pipeline.py
├── screenshots/
├── .env.example
├── .gitignore
├── requirements.txt
└── README.md
```
## ⚡ 快速开始
### 1. 克隆仓库
```
git clone https://github.com/jayvpatel75/soc-threat-detection-lab.git
cd soc-threat-detection-lab
```
### 2. 创建并激活虚拟环境
```
python -m venv .venv
.venv\Scripts\Activate.ps1
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 配置环境变量
从`.env.example`创建`.env`文件:
```
VT_API_KEY=your_api_key_here
```
### 5. 运行管道
```
python src/run_pipeline.py
```
## 🔍 检测逻辑
### 暴力破解检测
* 跟踪每个IP的失败登录尝试
* 使用滑动时间窗口关联
* 检测异常认证模式
### 端口扫描检测
* 跟踪每个IP访问的唯一端口
* 识别侦察行为
* 在时间窗口内使用基于阈值的检测
## 🔐 检测能力
### 暴力破解检测
```
{
"source_ip": "192.168.1.50",
"failed_attempts": 5,
"severity": "high",
"threat_intel": {
"malicious": 1
}
}
```
### 端口扫描检测
```
{
"source_ip": "192.168.1.200",
"unique_ports": 8,
"severity": "high"
}
```
## 🧾 事件报告
```
{
"incident_id": "INC-xxxxxxx",
"severity": "high",
"summary": "Potential brute force attack detected",
"analysis": "Multiple failed login attempts detected...",
"recommended_actions": [
"Block IP address",
"Monitor activity",
"Escalate incident"
]
}
```
## 🌐 威胁情报集成
* 集成VirusTotal API
* 丰富化警报,包括:
* 恶意评分
* 信誉数据
* 用于动态调整严重程度
## 🧪 攻击模拟
* 通过认证日志模拟暴力破解攻击
* 使用Kali Linux(`nmap`)模拟真实端口扫描
* 根据真实攻击模式验证检测结果
## 🔥 关键特性
* 多源日志规范化和解析
* 使用滑动窗口逻辑的检测工程
* 警报去重和关联
* 威胁情报丰富化
* 自动化事件报告
* 一键SOC管道执行
## 💼 简历价值
此项目展示:
* SOC工作流程理解
* 检测规则开发
* 威胁情报集成
* 事件分析和报告
* 使用Python进行安全自动化
## ⚠️ 道德使用声明
此项目仅用于教育和防御安全目的。
## 🚀 未来改进
* Slack/邮件告警
* SIEM集成(Splunk/ELK)
* 仪表板(Streamlit)
* Windows事件日志支持
* 额外的检测规则
标签:AMSI绕过, Ask搜索, Homebrew安装, Nmap, VirusTotal, 免杀技术, 威胁情报, 威胁检测, 字符串匹配, 安全运营中心, 开发者工具, 插件系统, 日志解析, 暴力破解检测, 端口扫描检测, 红队行动, 网络安全监控, 网络映射, 自动化报告, 虚拟驱动器, 证书伪造, 驱动开发