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, 安全, 安全模拟, 库, 应急响应, 无后门, 超时处理, 逆向工具