CodeDoctorZyn/active-directory-lab

GitHub: CodeDoctorZyn/active-directory-lab

基于Wazuh的Active Directory攻击模拟实验室

Stars: 0 | Forks: 0

# Wazuh SOC 实验室 — 活动目录检测实验室 一个动手实践的安全运营中心(SOC)实验室,作为毕业项目构建,用于展示现实世界的威胁检测、SIEM 工程和活动目录攻击模拟技能。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ MacBook Air M1 (Local) │ │ │ │ Docker Desktop │ │ ├── wazuh.manager — SIEM engine, correlation, alerting │ │ ├── wazuh.indexer — OpenSearch (event storage & search) │ │ └── wazuh.dashboard — Web UI for analysts (https://localhost)│ │ │ │ Tailscale IP: 100.105.7.6 │ └───────────────────────────┬─────────────────────────────────┘ │ Tailscale VPN (encrypted tunnel) │ 18ms latency ┌───────────────────────────▼─────────────────────────────────┐ │ Azure Cloud — Australia East (B2as v2 Free Tier) │ │ │ │ dc01 — Windows Server 2025 (Domain Controller) │ │ ├── Active Directory Domain Services (soc.lab domain) │ │ ├── Sysmon v15.20 (SwiftOnSecurity config) │ │ └── Wazuh Agent 4.7.5 → reports to 100.105.7.6 │ │ │ │ Tailscale IP: 100.116.87.97 │ └─────────────────────────────────────────────────────────────┘ ``` ## 检测规则 — MITRE ATT&CK 映射 ### Linux / SSH 规则(Ubuntu 受害端点) | 规则 ID | 描述 | MITRE | 级别 | |---------|-------------|-------|-------| | 100001 | SSH 暴力破解检测(60秒内5次失败) | T1110 | 10 | | 100002 | SSH 暴力破解成功(可能被入侵) | T1110 | 14 | | 100003 | 创建了新的用户帐户 | T1136 | 8 | | 100004 | 通过 sudo 提权 | T1548 | 9 | | 100005 | /etc/passwd 或 /etc/shadow 被修改(FIM) | T1565 | 12 | | 100006 | 检测到 Netcat 使用(可能的反向 shell) | T1059 | 11 | | 100007 | 日志中检测到 Nmap 扫描 | T1046 | 8 | ### 活动目录规则(Windows Server 2025 / dc01) | 规则 ID | 描述 | MITRE | 级别 | |---------|-------------|-------|-------| | 100010 | AD 暴力破解 — 多次失败的登录尝试 | T1110 | 10 | | 100011 | **Kerberoasting** — 请求 RC4 TGS 票据(事件ID 4769) | T1558.003 | 12 | | 100012 | **DCSync 攻击** — 访问目录复制权限(事件ID 4662) | T1003.006 | 15 | | 100013 | **BloodHound 枚举** — 检测到 LDAP 查询(事件ID 1644) | T1069/T1087 | 9 | | 100014 | **Pass-the-Hash** — NTLM 横向移动(事件ID 4624) | T1550.002 | 13 | | 100015 | 用户被添加到域管理员组(事件ID 4728) | T1078 | 12 | | 100016 | 创建了新的域帐户(事件ID 4720) | T1136.002 | 8 | | 100017 | 在 DC 上执行凭证转储工具(Sysmon EID 1) | T1003 | 14 | ## 攻击模拟 ### 活动目录攻击(dc01 PowerShell) ``` # 创建可Kerberoast的服务账户(T1136.002) New-ADUser -Name "svc_backup" -AccountPassword (...) -Enabled $true Set-ADUser -Identity "svc_backup" -ServicePrincipalNames @{Add="MSSQLSvc/dc01.soc.lab:1433"} # Kerberoasting — 请求RC4 TGS票据(T1558.003) Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/dc01.soc.lab:1433" # 暴力破解模拟 — 6次失败的登录(T1110) # 权限提升 — 添加到域管理员(T1078) Add-ADGroupMember -Identity "Domain Admins" -Members "john.doe" ``` ### Linux / SSH 攻击(Ubuntu 受害端) ``` # SSH暴力破解(T1110) bash attacks/brute-force-ssh.sh # 文件完整性篡改(T1565) bash attacks/fim-trigger.sh ``` ## Windows 事件日志收集 Wazuh 管理器将集中式代理配置推送到所有 Windows 代理: | 通道 | 收集的事件 | |---------|-----------------| | `Security` | 登录/注销、Kerberos、帐户更改、权限使用 | | `Microsoft-Windows-Sysmon/Operational` | 进程创建、网络连接、注册表 | | `Microsoft-Windows-PowerShell/Operational` | 脚本块日志记录 | | `System` | 服务更改、系统事件 | | `Application` | 应用程序错误和事件 | FIM 监控:`C:\Windows\SYSVOL`、`C:\Windows\System32\config`、`C:\Windows\System32\GroupPolicy` ## 快速入门 ### 1. 前提条件 - Docker Desktop(Apple Silicon) - GitHub CLI (`gh`) - Tailscale 账户 ### 2. 启动 Wazuh 栈(Mac) ``` cd wazuh-server # 生成SSL证书 docker compose -f generate-indexer-certs.yml run --rm generator # 将所有配置加载到Docker卷(VirtioFS-safe) bash prepare-certs.sh # 启动堆栈 docker compose up -d # 打开仪表板 open https://localhost # admin / SecretPassword ``` ### 3. 在 Azure VM 上部署 Windows 代理 ``` # 安装Sysmon Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Sysmon.zip" -OutFile "$env:TEMP\Sysmon.zip" Expand-Archive "$env:TEMP\Sysmon.zip" -DestinationPath "$env:TEMP\Sysmon" -Force & "$env:TEMP\Sysmon\Sysmon64.exe" -accepteula -i sysmon-config.xml # 安装Wazuh Agent 4.7.5 msiexec.exe /i wazuh-agent-4.7.5-1.msi /q WAZUH_MANAGER="" WAZUH_AGENT_NAME="dc01" NET START WazuhSvc ``` ## 截图 | 截图 | 描述 | |-----------|-------------| | `screenshots/agents-dashboard.png` | Wazuh 中两个代理都处于活动状态 | | `screenshots/dc01-overview.png` | dc01 MITRE 战术概述 | | `screenshots/security-events.png` | 来自 dc01 的实时安全事件 | | `screenshots/ad-alerts.png` | AD 攻击警报(Kerberoasting、提权) | ## 技术栈 | 工具 | 目的 | |------|---------| | [Wazuh 4.7.5](https://wazuh.com) | 开源 SIEM/XDR 平台 | | [OpenSearch](https://opensearch.org) | 事件索引和搜索后端 | | [Docker Desktop](https://docker.com) | 容器运行时(Apple Silicon M1) | | [Sysmon v15.20](https://learn.microsoft.com/sysinternals/downloads/sysmon) | 增强的 Windows 遥测 | | [Tailscale](https://tailscale.com) | 零配置 VPN 网状结构(云 → 本地) | | [Azure 免费层](https://azure.microsoft.com) | Windows Server 2025 VM(dc01) | | [Active Directory DS](https://learn.microsoft.com/windows-server/identity/ad-ds/) | 域:soc.lab | | [MITRE ATT&CK](https://attack.mitre.org) | 检测规则框架 | ## 展示的技能 - **SIEM 工程师** — Wazuh 部署、配置、自定义规则编写 - **活动目录** — 域控制器设置、用户/组管理、SPN 配置 - **威胁检测** — 15 个自定义 MITRE ATT&CK 映射检测规则 - **云基础设施** — Azure VM 部署、NSG 配置 - **网络安全** — VPN 网状结构设计、云和本地之间的加密隧道 - **攻击模拟** — Kerberoasting、Pass-the-Hash、DCSync、BloodHound 枚举 - **Windows 取证** — Sysmon、Windows 事件日志分析、PowerShell 日志记录 - **Linux 安全** — SSH 强化、FIM、日志分析 - **DevOps** — Docker、docker-compose、shell 脚本、Git *作为毕业项目构建,以展示动手实践的网络安全工程技能。*
标签:请求拦截