vanceriel/Sentinel
GitHub: vanceriel/Sentinel
一款安全事件调查模拟器,通过模拟真实攻击场景并生成多源安全日志,为 SOC 分析师和事件响应人员提供实操练习环境。
Stars: 0 | Forks: 0
# SENTINEL - 安全事件调查模拟器
模拟网络安全事件并生成日志,用于安全事件响应的实操练习。专为学习调查工作流的 SOC 分析师和事件响应人员设计。
## 功能简介
| 组件 | 用途 |
|-----------|---------|
| **incident_simulator.py** | 生成涵盖 5 个攻击阶段的 60 多条真实安全日志 |
| **log_analyzer.py** | 关联事件、提取 IOC、检测攻击模式 |
| **report_generator.py** | 创建包含根本原因与修复方案的调查报告 |
支持两种场景:SSH 暴力破解攻击和带有 C2 Beacon 通信的恶意软件感染。
## 快速开始
```
cd scripts
# 1. 生成 incident
python3 incident_simulator.py
# 选择: 1 (Brute Force) 或 2 (Malware)
# 2. 分析 logs
python3 log_analyzer.py ../logs/[filename].json
# 3. 生成报告
python3 report_generator.py ../logs/[filename].json
```
输出的文件会出现在 `../logs/` 目录下。
## 项目结构
```
incident-investigation-simulator/
├── scripts/
│ ├── incident_simulator.py ← Generate incidents
│ ├── log_analyzer.py ← Analyze & investigate
│ └── report_generator.py ← Create reports
├── logs/ ← Generated output
└── README.md
```
## 功能特性
**事件模拟器:**
- 多源日志生成(防火墙、认证、端点、网络)
- 真实的时间戳、IP 和严重级别
- 两个包含阶段演进的完整攻击场景
**日志分析器:**
- 模式识别(登录失败聚类、C2 Beacon、数据传输)
- IOC 提取(恶意 IP、文件哈希、注册表项、进程)
- IP 画像与严重级别分布分析
- 交互式查询模式:按 IP、时间范围、严重级别、关键词搜索
- 自动化分析报告生成
**报告生成器:**
- 包含影响评估的执行摘要
- 带有阶段识别的按时间顺序排列的攻击时间线
- 结合 MITRE ATT&CK 技术映射的根本原因分析
- 用于威胁情报共享的 IOC 板块
- 三级修复计划(立即/短期/长期)
## 示例输出
**攻击时间线:**
```
[1] 2026-01-29T12:19:35Z - RECONNAISSANCE
Attacker: 106.80.137.147
Target: 192.168.40.197:22
Action: Port scanning (SYN packets)
[2] 2026-01-29T12:24:35Z - BRUTE FORCE ATTACK
56 failed SSH login attempts over 56 minutes
Target user: admin
Pattern: Sequential password guessing
[3] 2026-01-29T13:20:35Z - SUCCESSFUL BREACH
Accepted password for admin from 106.80.137.147
Severity: CRITICAL
[4] 2026-01-29T13:27:35Z - POST-COMPROMISE
Commands executed: sudo su, cat /etc/passwd, netstat -an
Severity: CRITICAL
[5] 2026-01-29T13:40:35Z - DATA EXFILTRATION
5.2MB transferred to attacker infrastructure
Severity: CRITICAL
```
**分析结果:**
- 来自单一 IP 的 56 次失败登录尝试
- 检测到 1 次成功入侵
- 5 条入侵后的枚举命令
- 5.2MB 数据外发
- IOC:1 个攻击者 IP,1 个恶意软件哈希,3 个可疑文件路径
## 事件场景
### 暴力破解攻击
**持续时间:** 约 80 分钟 | **事件:** 66 条日志
1. **侦察** — 扫描开放的 SSH 端口
2. **暴力破解** — 45-75 次密码尝试失败
3. **成功入侵** — 有效凭证被破解
4. **入侵后** — 系统枚举,权限提升尝试
5. **数据外发** — 向攻击者进行大量出站传输
**检测重点:** 多次登录失败、异常的登录后命令、异常数据传输
### 恶意软件感染
**持续时间:** 约 75 分钟 | **事件:** 30 条日志
1. **初始感染** — 带有恶意附件的钓鱼邮件
2. **执行** — 恶意软件运行,通过注册表建立持久化
3. **C2 通信** — 定期向命令与控制服务器发送 Beacon
4. **横向移动** — 通过 SMB 连接内部系统
5. **凭证窃取** — 访问 LSASS 内存以转储凭证
6. **数据暂存** — 在临时目录中创建 50MB 存档文件
7. **外发** — 将数据传输至 C2 基础设施
**检测重点:** 邮件附件执行、进程树分析、C2 Beacon 模式、LSASS 访问
## 调查工作流
**步骤 1:初步审查**(5 分钟)
- 运行日志分析器获取概览
- 审查 IP 统计信息和严重级别分布
- 识别受影响的系统
**步骤 2:深入调查**(20 分钟)
- 构建按时间顺序排列的时间线
- 识别攻击阶段
- 追踪攻击者的入侵进展
**步骤 3:提取 IOC**(10 分钟)
- 用于封禁的恶意 IP
- 用于检测的文件哈希
- 可疑进程
- 注册表项
**步骤 4:根本原因分析**(15 分钟)
- 确定初始访问方式
- 识别安全控制失效点
- 映射到 MITRE ATT&CK 技术
- 评估业务影响
**步骤 5:修复计划**(15 分钟)
- 立即的遏制措施
- 短期安全修复
- 长期改进
## 日志结构
每条日志包含:
```
{
"timestamp": "2026-01-29T12:19:35Z",
"source_ip": "106.80.137.147",
"destination_ip": "192.168.40.197",
"action": "Failed login",
"severity": "WARNING",
"log_type": "auth",
"message": "Failed password for admin from 106.80.137.147"
}
```
**日志类型:** 防火墙、认证、端点、网络、电子邮件
**严重级别:** INFO、WARNING、HIGH、CRITICAL
## 环境要求
- Python 3.7+
- 无外部依赖(仅使用 Python 标准库)
**验证安装:**
```
python3 --version # Should show 3.7 or higher
```
## 交互模式
用于进行更深入的调查:
```
python3 log_analyzer.py ../logs/[filename].json --interactive
```
**选项:**
1. 按 IP 地址搜索 — 查找来自/发往特定 IP 的所有活动
2. 按严重级别过滤 — 仅关注严重事件
3. 时间范围查询 — 调查特定的时间窗口
4. 关键词搜索 — 搜寻特定术语
5. 显示严重事件 — 快速查看最重要的发现
## 涵盖的关键技能
✓ 日志分析与关联
✓ 安全事件调查与时间线重构
✓ 攻击模式识别
✓ MITRE ATT&CK 框架映射
✓ 根本原因分析
✓ 撰写技术报告
✓ IOC 提取与威胁情报
✓ 修复方案规划
✓ Python 脚本与自动化
## 示例命令
```
# 生成 brute force 场景
python3 incident_simulator.py
# → 输入: 1
# 使用标准报告进行分析
python3 log_analyzer.py ../logs/brute_force_attack_*.json
# 交互式调查
python3 log_analyzer.py ../logs/brute_force_attack_*.json --interactive
# 创建综合报告
python3 report_generator.py ../logs/brute_force_attack_*.json
# 查看结果
cat ../logs/brute_force_attack_*_timeline.txt
cat ../logs/brute_force_attack_*_INVESTIGATION_REPORT.txt
```
## 常见工作流
**快速评估:**
```
python3 incident_simulator.py
python3 log_analyzer.py ../logs/*.json
```
时间:约 5 分钟
**全面调查:**
```
python3 incident_simulator.py
python3 log_analyzer.py ../logs/*.json --interactive
python3 report_generator.py ../logs/*.json
```
时间:约 30 分钟
**两种场景:**
```
python3 incident_simulator.py
# 输入: 3 (生成两者)
python3 log_analyzer.py ../logs/brute_force_attack_*.json
python3 log_analyzer.py ../logs/malware_infection_*.json
python3 report_generator.py ../logs/brute_force_attack_*.json
python3 report_generator.py ../logs/malware_infection_*.json
```
时间:约 45 分钟
标签:Homebrew安装, IP 地址批量处理, Python, 安全, 安全模拟, 库, 应急响应, 无后门, 超时处理, 逆向工具