pranathikubagiri/soc-homelab

GitHub: pranathikubagiri/soc-homelab

一个端到端的 SOC 家庭实验室项目,整合了多平台 SIEM 检测规则、日志自动化处理脚本和事件响应手册,帮助安全从业者在本地环境中完整实践检测工程与威胁狩猎流程。

Stars: 0 | Forks: 0

# SOC Homelab - 检测工程、威胁狩猎与安全自动化 一个完整的 SOC 家庭实验室项目,包含适用于三个 SIEM 平台的自定义检测规则、用于日志分析和威胁情报富化的 Python 自动化脚本,以及映射到 NIST CSF 和 CIS Controls 的事件响应操作手册。 ## 架构 ``` +-----------------+ | Attacker VM | | (Kali Linux) | +--------+--------+ | +------------+------------+ | Lab Network | | 192.168.1.0/24 | +--+-------+-------+------+ | | | +--------+ +----+----+ +--------+ | Windows | | Windows | | Linux | | 10 VM | | Server | | Server | | (Victim)| | (DC01) | | (Web) | | Sysmon | | Sysmon | |Auditd | +----+----+ +----+----+ +---+----+ | | | +---------+------------+------------+---------+ | Log Forwarding | +---------+-----------+-----------+-----------+ | | | +------+---+ +----+-----+ +---+--------+ | Splunk | | Elastic | | Microsoft | | Server | | Stack | | Sentinel | +----------+ +----------+ +------------+ ``` ## MITRE ATT&CK 覆盖范围 | 技术 | ID | Splunk | Elastic | Sentinel | 操作手册 | |-----------|-----------|--------|---------|----------|---------| | 暴力破解 (密码猜测) | T1110.001 | Yes | Yes | Yes | Yes | | PowerShell 执行 | T1059.001 | Yes | Yes | Yes | Yes | | 密码喷洒 | T1110.003 | Yes | Yes | Yes | Yes | | 远程桌面协议 | T1021.001 | Yes | Yes | Yes | - | | 计划任务持久化 | T1053.005 | Yes | Yes | Yes | - | | 暴力破解后成功登录 | T1110 | Yes | - | Yes | Yes | ## 项目结构 ``` soc-homelab/ |-- detection-rules/ | |-- splunk/ | | +-- detection_rules.spl # 6 SPL detection rules | |-- elastic/ | | +-- detection_rules.ndjson # 6 KQL rules for Kibana | +-- sentinel/ | +-- detection_rules.kql # 6 KQL analytics rules |-- scripts/ | |-- log_parser.py # Multi-format log normalizer | |-- ioc_extractor.py # IOC extraction (IPs, hashes, URLs, commands) | +-- alert_enrichment.py # VirusTotal & AbuseIPDB enrichment |-- sample-logs/ | |-- generate_sysmon_logs.py # Log simulator (5 attack scenarios) | |-- sysmon_events.json # Generated Sysmon events | |-- windows_security_events.json # Generated Windows Security events | +-- auth_logs.json # Generated Linux auth logs |-- runbooks/ | |-- brute_force_response.md # T1110 incident response | +-- suspicious_powershell_response.md # T1059.001 incident response |-- configs/ | +-- sysmon_config.xml # Sysmon config tuned for detection +-- requirements.txt ``` ## 快速入门 ### 1. 生成示例日志 ``` cd sample-logs python3 generate_sysmon_logs.py ``` 生成跨三种日志类型的约 350 个事件,并带有标记的攻击场景。 ### 2. 解析与规范化日志 ``` cd scripts python3 log_parser.py ``` 将 Sysmon、Windows Security 和身份验证日志规范化为统一格式。 ### 3. 提取 IOC ``` python3 ioc_extractor.py ``` 扫描所有事件以提取 IP、文件哈希、URL、可疑命令和受损账户。 ### 4. 威胁情报富化 ``` # 演示模式(无需 API keys) python3 alert_enrichment.py --demo # 使用 VirusTotal(virustotal.com 的免费 API key) python3 alert_enrichment.py --vt-key YOUR_KEY # 使用 AbuseIPDB python3 alert_enrichment.py --abuse-key YOUR_KEY ``` ## 检测规则 每个 SIEM 包含 6 条检测规则,覆盖全部 5 种 MITRE ATT&CK 技术: **规则 1 - 暴力破解:** 5 分钟内从同一 IP 对同一账户进行 10 次以上失败登录 **规则 2 - 可疑 PowerShell:** 编码命令、下载载体、AMSI 绕过 **规则 3 - 密码喷洒:** 同一 IP 在 10 分钟内对 5 个以上唯一账户尝试失败 **规则 4 - RDP 横向移动:** 30 分钟内从同一来源对 2 台以上服务器进行类型 10 登录 **规则 5 - 计划任务持久化:** schtasks.exe /Create 结合 SYSTEM 或可疑路径 **规则 6 - 暴力破解成功:** 失败尝试后跟成功登录(复合检测) ### 误报调优 规则经过迭代调优,以减少约 40% 的误报: - 暴力破解阈值从 5 提高到 10(服务账户会在较低次数时触发) - PowerShell 规则排除 SCCM 部署模式 - 密码喷洒要求 5 个以上唯一账户(而不仅仅是 5 次以上失败) - RDP 规则检查 2 个以上不同的目标主机(而不仅仅是到一台主机的多个会话) ## 事件响应操作手册 两份详细的操作手册,映射到 NIST CSF 和 CIS Controls: - **暴力破解响应** - 涵盖 T1110.001 和 T1110.003,包含分类、遏制、调查和补救步骤 - **可疑 PowerShell 响应** - 涵盖 T1059.001,包含 payload 解码、杀伤链分析和持久化狩猎 ## 技术栈 - **SIEM:** Splunk、Elastic Stack (Elasticsearch + Kibana)、Microsoft Sentinel - **日志收集:** Sysmon、Windows Event Forwarding、Filebeat、Winlogbeat、Azure Monitor Agent - **自动化:** Python 3.10+ - **虚拟化:** VirtualBox (Windows 10、Windows Server 2022、Ubuntu 22.04、Kali Linux) - **威胁情报:** VirusTotal API、AbuseIPDB API
标签:ATT&CK框架, Auditd, CIS Controls, Homelab, IOC提取, IPv6, Linux Server, Microsoft Sentinel, NIST CSF, OpenCanary, PoC, PowerShell, Python自动化, Runbook, SOC模拟, Sysmon, Windows 10, Windows Server, 威胁情报富化, 安全运营中心, 实验室环境, 密码喷洒, 库, 应急响应, 日志生成, 日志解析, 暴力破解, 检测规则, 网络映射, 网络资产发现, 证书伪造, 越狱测试, 逆向工具