yashh127/home-soc-lab-aegis-cyber-ops

GitHub: yashh127/home-soc-lab-aegis-cyber-ops

一个基于 Wazuh 4.9 构建的家庭 SOC 实验室,通过自定义检测规则、日志重放引擎和多源遥测分析,为零成本练习安全运营与威胁检测提供完整环境。

Stars: 0 | Forks: 0

# 🛡️ 家庭 SOC 实验室 — SIEM + 云安全监控 ![Docker](https://img.shields.io/badge/Docker-Compose-2496ED?logo=docker&logoColor=white) ![Wazuh](https://img.shields.io/badge/Wazuh-4.9-3C873A?logo=wazuh&logoColor=white) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE_ATT%26CK-Mapped-red) ![License](https://img.shields.io/badge/License-MIT-yellow) ## 📋 概述 本项目通过部署一个功能完备的 SIEM 环境(包含自定义检测工程、云安全监控和事件响应工作流),展示了端到端的 SOC 分析师技能。它从 Windows 端点、Linux 服务器和 AWS 云服务中摄取日志,并应用自定义关联规则来生成具有指导意义的安全告警。 **为什么这很重要:** 安全运营中心 (SOC) 分析师需要使用真实工具的实战经验。这个实验室提供了一个安全、可复现且能反映企业 SOC 基础设施的环境——无需消耗云费用或具备生产环境访问权限。本项目中的每一条检测规则、仪表板和运行手册,都直接对应于 SOC 分析师招聘启事中列出的技能。 ## 🎯 展示技能 - **SIEM 部署与管理** — 使用 Docker Compose 部署并配置了 Wazuh 4.9(Manager、Indexer、Dashboard),包含自定义数据卷、证书和网络设置 - **(多源)日志摄取** — 为 Windows 事件日志 (Sysmon)、Linux auth/syslog、AWS CloudTrail 和 AWS GuardDuty 配置了摄取管道 - **检测工程** — 编写了 20 条自定义检测规则,包含解码器、CDB 列表和基于频率的关联,覆盖 4 个威胁类别 - **云安全监控 (AWS)** — 使用 CloudTrail 和 GuardDuty 日志,针对 IAM 配置不当、S3 暴露、凭证滥用和挖矿木马构建了检测规则 - **MITRE ATT&CK 框架映射** — 每条规则都映射到具体的 ATT&CK 技术和战术,以实现标准化的威胁分类 - **事件响应** — 为 5 种常见攻击场景创建了结构化的运行手册、事件报告模板和升级上报程序 - **仪表板与可视化创建** — 在 Wazuh/OpenSearch 中构建了 4 个运营仪表板(SOC 概览、云安全、威胁狩猎、MITRE 覆盖率) ## 🏗️ 架构 ``` graph TB subgraph "Data Sources" W["🖥️ Windows Endpoints
Sysmon + Event Logs"] L["🐧 Linux Servers
auth.log + syslog"] CT["☁️ AWS CloudTrail
API Activity Logs"] GD["🔒 AWS GuardDuty
Threat Findings"] SR["🔄 Sample Log Replay
Python Scripts"] end subgraph "Wazuh SIEM Stack (Docker)" M["📋 Wazuh Manager
Rules Engine + Decoders"] I["🔍 Wazuh Indexer
OpenSearch"] D["📊 Wazuh Dashboard
Visualizations"] end W -->|Agent| M L -->|Agent| M CT -->|S3 Wodle| M GD -->|S3 Wodle| M SR -->|Syslog UDP| M M --> I I --> D ``` **数据从左向右流动:** 日志源(端点、云服务、重放脚本)汇聚到 Wazuh Manager,在此进行解码、归一化并应用检测规则。告警会被索引到 OpenSearch 中,并通过 Wazuh Dashboard 进行可视化展示。 ## 🚀 快速开始 ``` # Clone 仓库 git clone https://github.com/YOUR_USERNAME/home-soc-lab.git cd home-soc-lab # 运行自动化 setup chmod +x scripts/setup_lab.sh ./scripts/setup_lab.sh # 访问 Wazuh Dashboard # 在浏览器中打开 https://localhost:443 # 默认 credentials:admin / SecretPassword(请在 .env 中修改) ``` 设置脚本将会: 1. 验证是否已安装 Docker 和 Docker Compose 2. 生成用于组件间通信的 TLS 证书 3. 启动所有容器(Manager、Indexer、Dashboard) 4. 加载自定义规则、解码器和 CDB 列表 5. 导入预构建的仪表板 6. 运行健康检查以确认所有服务均正常运行 ## 🔍 检测规则 本实验室包含跨越 4 个威胁类别的 **20 条自定义检测规则**,所有规则均映射到 MITRE ATT&CK 框架。 ### Windows 攻击检测 | 规则 ID | 描述 | MITRE 技术 | 严重程度 | |---------|-------------|-----------------|----------| | 100001 | 检测到 Mimikatz 凭证转储 | T1003 — OS 凭证转储 | **严重** | | 100002 | 编码的 PowerShell 命令执行 | T1059.001 — PowerShell | **高** | | 100003 | 通过命令行创建新服务 | T1543.003 — Windows 服务 | **中** | | 100004 | 检测到 LSASS 内存访问 | T1003.001 — LSASS 内存 | **严重** | | 100005 | 可疑的父子进程关系 | T1055 — 进程注入 | **高** | ### Linux 持久化检测 | 规则 ID | 描述 | MITRE 技术 | 严重程度 | |---------|-------------|-----------------|----------| | 100101 | 检测到 Crontab 修改 | T1053.003 — Cron | **高** | | 100102 | SSH authorized_keys 修改 | T1098.004 — SSH 授权密钥 | **高** | | 100103 | 检测到 SUID 二进制文件创建 | T1548.001 — Setuid/Setgid | **严重** | | 100104 | 从 /tmp 目录执行 | T1036.005 — 匹配合法名称 | **中** | ### 云威胁检测 (AWS) | 规则 ID | 描述 | MITRE 技术 | 严重程度 | |---------|-------------|-----------------|----------| | 100201 | 无 MFA 的 AWS 控制台登录 | T1078 — 有效账户 | **高** | | 100202 | S3 存储桶被公开 | T1530 — 云存储数据 | **严重** | | 100203 | 创建了新的 IAM 用户 | T1136.003 — 云账户 | **中** | | 100204 | 检测到 Root 账户使用 | T1078.004 — 云账户 | **严重** | | 100205 | 检测到挖矿木马活动 | T1496 — 资源劫持 | **严重** | | 100206 | 命令与控制 (C2) 通信 | T1071 — 应用层协议 | **严重** | | 100207 | CloudTrail 日志记录被禁用 | T1562.008 — 禁用云日志 | **严重** | | 100208 | 过多的 AccessDenied 错误 | T1580 — 云基础设施发现 | **中** | ### 暴力破解检测 | 规则 ID | 描述 | MITRE 技术 | 严重程度 | |---------|-------------|-----------------|----------| | 100301 | 检测到 SSH 暴力破解攻击 | T1110.001 — 密码猜测 | **高** | | 100302 | 检测到 RDP 暴力破解攻击 | T1110.001 — 密码猜测 | **高** | | 100303 | 暴力破解后成功登录 | T1078 — 有效账户 | **严重** | ## ☁️ 云集成 ### 示例日志(无需 AWS 账户) 本实验室附带了适用于 AWS CloudTrail 和 GuardDuty 的**真实模拟日志**,因此您无需消耗任何 AWS 费用即可探索云安全检测: ``` # 通过 SIEM 重放 CloudTrail 日志 python3 scripts/generate_cloudtrail.py # 重放 GuardDuty 发现 python3 scripts/generate_guardduty.py ``` 示例日志包含无 MFA 的控制台登录、S3 存储桶策略更改、IAM 用户创建、Root 账户使用,以及针对挖矿木马和 C2 活动的 GuardDuty 发现等场景。 ### 连接真实 AWS(可选) 要摄取实时的 AWS 日志,请在 `config/wazuh/ossec.conf` 中配置 Wazuh S3 wodle: 1. **创建一个 S3 存储桶**,用于 CloudTrail 和 GuardDuty 日志交付 2. **启用 CloudTrail** 日志记录至该 S3 存储桶 3. **启用 GuardDuty** 并配置将发现结果导出至 S3 4. **创建一个 IAM 角色**,具备 `s3:GetObject` 和 `s3:ListBucket` 权限 5. **更新 `ossec.conf`**,填入您的存储桶名称、区域和凭证 6. **重启 Wazuh Manager** 以应用更改 ## 📊 仪表板 包含四个预构建的仪表板,并会在设置过程中自动导入: | 仪表板 | 用途 | 核心面板 | |-----------|---------|------------| | **SOC 概览** | 高层级运营视图 | 告警数量趋势、严重程度分布、最常触发的规则、Top 源 IP | | **云安全** | AWS 专项监控 | CloudTrail 事件热力图、IAM 活动、S3 配置更改、GuardDuty 发现 | | **威胁狩猎** | 主动调查 | 进程树、网络连接、DNS 查询、文件完整性更改 | | **MITRE ATT&CK 覆盖率** | 框架对齐 | 技术热力图、战术分布、检测盲点、规则覆盖率指标 | 如有需要,可手动导入: ``` # 导入所有 dashboards for f in dashboards/*.ndjson; do curl -k -X POST "https://localhost:443/api/saved_objects/_import?overwrite=true" \ -H "osd-xsrf: true" \ -H "securitytenant: global" \ -u admin:SecretPassword \ --form file=@"$f" done ``` ## 🔄 日志重放 日志重放系统允许您将示例日志输入到 SIEM 中,从而在没有活动端点的情况下触发检测: ``` # 重放所有示例日志(Windows、Linux、CloudTrail、GuardDuty) python3 scripts/log_replay.py --all # 重放特定日志类别 python3 scripts/log_replay.py --category windows python3 scripts/log_replay.py --category linux python3 scripts/log_replay.py --category cloudtrail python3 scripts/log_replay.py --category guardduty # 重放时在事件之间加入时间延迟(模拟实时) python3 scripts/log_replay.py --all --delay 2 ``` 日志通过 **syslog (UDP 514)** 发送至 Wazuh Manager,在此进行解码、归一化,并与检测规则进行匹配。 ## ⚔️ 攻击模拟 `attack_simulation.sh` 脚本针对实验室环境运行安全、受控的攻击模拟: ``` # 运行所有攻击模拟 chmod +x scripts/attack_simulation.sh ./scripts/attack_simulation.sh --all # 运行特定攻击类别 ./scripts/attack_simulation.sh --brute-force ./scripts/attack_simulation.sh --persistence ./scripts/attack_simulation.sh --credential-access ``` **模拟的攻击场景包括:** - 来自多个源 IP 的 SSH 暴力破解尝试 - Crontab 持久化安装 - SSH authorized_keys 注入 - 从 `/tmp` 执行可疑进程 - 编码的 PowerShell 命令执行(通过日志注入) ## 📁 项目结构 ``` home-soc-lab/ ├── docker-compose.yml # Container orchestration for Wazuh stack ├── .env # Environment variables (credentials, versions) ├── README.md # This file │ ├── config/ # Wazuh configuration │ ├── wazuh/ │ │ ├── ossec.conf # Manager configuration (log sources, wodles) │ │ ├── local_rules.xml # Custom detection rules (loaded on start) │ │ ├── local_decoders.xml # Custom log decoders │ │ └── lists/ │ │ └── malicious_ips.txt # CDB list of known malicious IPs │ └── sysmon/ │ └── sysmonconfig.xml # Sysmon configuration for Windows agents │ ├── rules/ # Detection rules (organized by category) │ ├── windows_attacks.xml # Rules 100001-100005 │ ├── linux_persistence.xml # Rules 100101-100104 │ ├── cloud_threats.xml # Rules 100201-100208 │ └── brute_force.xml # Rules 100301-100303 │ ├── scripts/ # Automation and simulation scripts │ ├── setup_lab.sh # One-command lab deployment │ ├── log_replay.py # Multi-source log replay engine │ ├── generate_cloudtrail.py # Generate sample CloudTrail events │ ├── generate_guardduty.py # Generate sample GuardDuty findings │ └── attack_simulation.sh # Safe attack simulation scripts │ ├── sample-logs/ # Realistic sample log data │ ├── cloudtrail/ # AWS CloudTrail JSON events │ ├── guardduty/ # AWS GuardDuty JSON findings │ ├── windows/ # Windows Event Log / Sysmon JSON │ └── linux/ # Linux auth.log / syslog entries │ ├── dashboards/ # Pre-built Wazuh/OpenSearch dashboards │ ├── soc_overview.ndjson # SOC operational overview │ ├── cloud_security.ndjson # AWS cloud security monitoring │ ├── threat_hunting.ndjson # Proactive threat hunting │ └── mitre_coverage.ndjson # MITRE ATT&CK coverage map │ └── docs/ # Documentation ├── ARCHITECTURE.md # Detailed system architecture ├── DETECTION_CATALOG.md # Complete detection rule catalog ├── INCIDENT_REPORT_TEMPLATE.md # IR report template + example └── RUNBOOK.md # SOC operational runbooks ``` ## 📄 许可证 本项目基于 **MIT 许可证**授权 — 详情请参阅 [LICENSE](LICENSE) 文件。 您可以自由将本项目用于学习、作品集展示和面试准备。请注明来源,但这并非必须。

为网络安全社区用 🔒 构建

标签:Docker, Wazuh, 安全运营, 安全防御评估, 扫描框架, 模拟器, 版权保护, 自定义脚本, 逆向工具