heraclescap/soc-lab

GitHub: heraclescap/soc-lab

基于 ELK + MISP + Sysmon + Atomic Red Team 构建的全开源家庭 SOC 实验室,提供完整的部署配置文档和攻击检测实践环境。

Stars: 2 | Forks: 0

# SOC 实验室 - Homelab SIEM + Threat Intel 我搭建这个实验室是为了学习在真实条件下检测攻击,而不是在包装好的演示环境中。所有环境都在我的 Windows 11 Pro 机器上通过 VMware Workstation 运行,配置为 16 GB 内存和 50 GB 磁盘。Stack 包含 ELK 8.19.16 + MISP 2.4 + Sysmon + Atomic Red Team,运行在 VMnet8 NAT 上。 ## 网络架构 ``` WINDOWS 11 HOST - 16 Go RAM / 50 Go disque │ └── VMware VMnet8 (NAT) 192.168.126.0/24 │ ├── VM ELK - Ubuntu 22.04 │ 192.168.126.10 (4 Go RAM / 25 Go thin) │ ├── Elasticsearch 8.19.16 (heap 1024 Mo, TLS auto) │ ├── Kibana 8.19.16 (heap 512 Mo, port 5601) │ ├── Logstash 8.19.16 (heap 256 Mo, port 5044) │ │ ├── Pipeline skoupa (input Beats :5044 → pipe to-es) │ │ └── Pipeline straight-es (routing agent.type → soc-*) │ └── Filebeat 8.19.16 (module threatintel → ES direct) │ ├── VM MISP — Ubuntu 22.04 │ 192.168.126.20 (2 Go RAM / 15 Go thin) │ ├── MISP 2.4 + MariaDB + Redis + Apache │ ├── Filebeat 8.19.16 → Logstash :5044 │ └── Auditd (règles DFIR) │ └── VM Victim - Windows 11 Pro 192.168.126.30 (4 Go RAM / 40 Go thin) ├── Sysmon 64 (config SwiftOnSecurity) ├── Winlogbeat 8.19.16 → Logstash :5044 ├── Atomic Red Team └── Snapshot "clean-sysmon-winlogbeat" ``` ## 技术 Stack | 组件 | 版本 | 虚拟机 | 角色 | |-----------|---------|-----|------| | Elasticsearch | 8.19.16 | ELK | 日志的存储和索引 | | Kibana | 8.19.16 | ELK | 可视化、检测规则、告警 | | Logstash | 8.19.16 | ELK | 解析、路由、GeoIP 扩充 | | Filebeat (threatintel) | 8.19.16 | ELK | 导入 MISP IOCs → 直接进入 ES | | MISP | 2.4 | MISP | Threat intelligence,feeds IOCs | | Filebeat (auditd/system) | 8.19.16 | MISP | Linux 日志 → Logstash | | Auditd | - | MISP | 审计 Linux syscalls | | Winlogbeat | 8.19.16 | Victim | Windows 日志 → Logstash | | Sysmon | 64 (SwiftOnSecurity) | Victim | Windows endpoint 遥测 | | Atomic Red Team | latest | Victim | 模拟 MITRE ATT&CK 攻击 | ## 数据流 ``` VM MISP Filebeat (auditd + system) → Logstash :5044 → pipeline skoupa → pipeline straight-es → soc-auditd-YYYY.MM.dd → soc-system-YYYY.MM.dd VM Victim Winlogbeat → Logstash :5044 → pipeline skoupa → pipeline straight-es → soc-winlogbeat-YYYY.MM.dd VM ELK Filebeat (threatintel) → Elasticsearch direct → filebeat-8.19.16 (data stream) → 22 000+ IOCs avec threat.indicator.ip Kibana Security Règle Indicator Match soc-winlogbeat-* (DestinationIp) ↔ filebeat-* (threat.indicator.ip) → Alerte High si match ``` ## 生成的 Elasticsearch 索引 | 索引模式 | 来源 | 备注 | |---------------|--------|-------| | `soc-winlogbeat-YYYY.MM.dd` | Winlogbeat / VM Victim | Sysmon + Security + PowerShell + WMI | | `soc-auditd-YYYY.MM.dd` | Filebeat auditd / VM MISP | auditd Syscalls | | `soc-system-YYYY.MM.dd` | Filebeat system / VM MISP | Syslog + auth Linux | | `soc-unknown-YYYY.MM.dd` | Logstash 兜底 | 缺少 event.module 或已知 agent.type 的事件 | | `filebeat-8.19.16` | Filebeat threatintel / VM ELK | MISP IOCs 数据流 | ![Index Management - Kibana 中的 soc-* 索引](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a36157b646063252.png) ## Kibana 数据视图 | 名称 | 模式 | 用途 | |-----|---------|-------| | SOC Logs | `soc-*` | 实验室的所有日志 | | Windows Logs | `soc-winlogbeat-*` | 仅限 Windows/Sysmon 日志 | | Linux Auditd Logs | `soc-auditd-*` | VM MISP 的 auditd 日志 | | Linux System Logs | `soc-system-*` | VM MISP 的 Syslog 和 auth | | MISP IOCs | `filebeat-*` | MISP Threat intelligence | ![在 Kibana Stack Management 中配置的数据视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a987bb7d6c063258.png) ![Kibana Discover - 数据视图 SOC Logs](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/41b61ee782063304.png) ## 运营限制 我从未同时运行过这 3 个虚拟机 —— 16 GB 内存不够用。我以两种模式工作: - **配置模式**:ELK + MISP 激活,运行 Filebeat threatintel - **攻击模式**:ELK + Victim 激活,停止 Filebeat 以释放约 400 MB 内存 查看 [`docs/modes_travail.md`](docs/modes_travail.md) 获取切换命令。 ## 文档 | 文件 | 内容 | |---------|---------| | [`architecture/network_design.md`](architecture/network_design.md) | 网络拓扑、IP 寻址、端口 | | [`architecture/known_limitations.md`](architecture/known_limitations.md) | 我吸取的教训 | | [`elk/setup_guide.md`](elk/setup_guide.md) | ELK 安装和配置 | | [`misp/setup_guide.md`](misp/setup_guide.md) | MISP 安装,记录的 quirks | | [`misp/feeds_config.md`](misp/feeds_config.md) | 激活的 feeds 及其理由 | | [`docs/log_sources.md`](docs/log_sources.md) | 日志来源、Event IDs、auditd 规则 | | [`docs/modes_travail.md`](docs/modes_travail.md) | 我如何在不同模式间切换、实验室健康状况 | | [`docs/known_limitations.md`](docs/known_limitations.md) | 在使用此实验室之前需要了解的内容 | ## 许可证 MIT - 见 [LICENSE](LICENSE)。
标签:ELK, 内容过滤, 威胁情报, 安全运营中心, 开发者工具, 搜索引擎查询, 网络映射, 虚拟化, 越狱测试, 运维部署