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 数据流 |

## 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 |


## 运营限制
我从未同时运行过这 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, 内容过滤, 威胁情报, 安全运营中心, 开发者工具, 搜索引擎查询, 网络映射, 虚拟化, 越狱测试, 运维部署