atharva-acharya/AD-SOC-Detection-Lab

GitHub: atharva-acharya/AD-SOC-Detection-Lab

该项目构建了一个四虚拟机的 Active Directory 实验环境,模拟七种企业级攻击场景并通过 Elastic SIEM 和 KQL 规则实现检测,为 SOC 分析师提供端到端的实战训练。

Stars: 0 | Forks: 0

# Active Directory SOC 检测实验室 ## 概述 这是一个模拟企业 Active Directory 环境的家庭实验室,用于 SOC 分析师的实操培训。该实验室部署了真实的攻击场景,并使用 Elastic SIEM 构建映射到 MITRE ATT&CK 的检测规则。 ## 目标 - 模拟 7 种企业级 AD 攻击 - 为每种攻击编写 KQL 检测规则 - 将调查过程记录为正式的 SOC 报告 - 将所有检测映射到 MITRE ATT&CK 框架 ## 实验室架构 ``` Kali Linux (Attacker) ──────────────────────────────────────────┐ ▼ Windows 10 (Victim) ──► Sysmon ──► Winlogbeat ──────────────────┐ ▼ Windows Server 2022 (DC01) ──► Sysmon ──► Winlogbeat ──► Ubuntu Server (Elastic SIEM) Elasticsearch + Kibana ``` ## 网络配置 | 虚拟机 (VM) | 角色 | IP | |----|------|----| | Kali Linux 2026.1 | 攻击者 | 10.0.0.4 | | Ubuntu Server 22.04 | Elastic SIEM | 10.0.0.5 | | Windows Server 2022 | 域控 (DC01) | 10.0.0.10 | | Windows 10 | 受害者终端 (WIN10-Victim) | 10.0.0.20 | - **网络:** VirtualBox NAT Network — SOC-Lab - **网段:** 10.0.0.0/24 - **Hypervisor:** Oracle VirtualBox 7.1 ## 技术栈 | 组件 | 工具 | 版本 | |-----------|------|---------| | Hypervisor | VirtualBox | 7.1 | | SIEM | Elasticsearch | 8.19.16 | | 可视化 | Kibana | 8.19.16 | | 遥测数据 | Sysmon (Olaf Hartong config) | v15.20 | | 日志转发 | Winlogbeat | 8.19.16 | | 攻击者 OS | Kali Linux | 2026.1 | | 受害者 OS | Windows 10 Pro | 评估版 | | 域控 | Windows Server 2022 | 评估版 | ## Active Directory 配置 - **域名:** corp.local - **域控:** DC01.corp.local - **域 NetBIOS 名称:** CORP ### 已创建用户 | 姓名 | 用户名 | 部门 | 权限 | |------|----------|------------|------------| | John Smith | jsmith | IT | Domain Admin | | Sarah Johnson | sjohnson | HR | 标准用户 | | Mike Davis | mdavis | Finance | 标准用户 | | Emma Wilson | ewilson | IT | 标准用户 | | Tom Brown | tbrown | Finance | 标准用户 | ### 组织单位 ``` corp.local └── Corp Users ├── IT ├── HR └── Finance ``` ## 攻击场景 ![MITRE ATT&CK 覆盖范围](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/643c78a863191456.svg) | # | 攻击 | MITRE 技术 | 关键事件 ID | 状态 | | --- | -------------------------- | --------------- | --------------------- | ---------- | | 1 | Password Spraying | T1110.003 | Event ID 4625 | ✅ 已完成 | | 2 | Kerberoasting | T1558.003 | Event ID 4769 | ✅ 已完成 | | 3 | DCSync | T1003.006 | Event ID 4662 | ✅ 已完成 | | 4 | LSASS Dump | T1003.001 | Sysmon Event 10 | ✅ 已完成 | | 5 | PsExec 横向移动 | T1021.002 | Sysmon Event 1 + 7045 | ✅ 已完成 | | 6 | Pass-the-Hash | T1550.002 | Event ID 4624 Type 3 | ✅ 已完成 | | 7 | 计划任务持久化 | T1053.005 | Event ID 4698 | ✅ 已完成 | ## 构建进度 ### 阶段 1 — 基础设施 ✅ 已完成 - [x] VirtualBox NAT Network 创建完成 — SOC-Lab (10.0.0.0/24) - [x] Kali Linux 2026.1 导入并连接到 SOC-Lab — 10.0.0.4 - [x] Kali 安装了 Guest Additions - [x] Ubuntu Server 22.04 安装完成 — 静态 IP 10.0.0.5 - [x] Elasticsearch 8.19.16 已安装并运行 - [x] Kibana 8.19.16 已安装,可通过 http://127.0.0.1:5601 访问 - [x] SSH 端口转发配置完成 — 宿主机端口 2222 → 虚拟机端口 22 - [x] Elastic 超级用户密码已生成并保存 ### 阶段 2 — Active Directory ✅ 已完成 - [x] Windows Server 2022 (Desktop Experience) 安装完成 - [x] DC01 重命名并分配静态 IP — 10.0.0.10 - [x] Active Directory Domain Services 安装完成 - [x] 林提升完成 — corp.local - [x] DNS 配置完成 — DC01 作为主 DNS 服务器 - [x] OU 结构创建完成 — Corp Users > IT, HR, Finance - [x] 跨部门创建了 5 个域用户 - [x] jsmith 被添加到 Domain Admins 以进行 DCSync 模拟 ### 阶段 3 — 遥测 ✅ 已完成 **DC01 — 已完成 ✅** - [x] DC01 上安装了 Sysmon v15.20 — Olaf Hartong sysmonconfig.xml - [x] DC01 上安装并配置了 Winlogbeat 8.19.16 - [x] Winlogbeat ingest pipelines 已加载到 Elasticsearch - [x] Winlogbeat index templates 和 Kibana dashboards 已加载 - [x] 确认日志已流入 Kibana — 已验证 4,724+ 条文档 - [x] Elasticsearch 中的 winlogbeat-8.19.16 数据流处于活动状态 - [x] 在 Kibana Discover 中创建了 winlogbeat-* 数据视图 **WIN10-Victim — ✅ 已完成** - [x] Windows 10 Pro 安装完成 — WIN10-Victim (静态 IP 10.0.0.20) - [x] WIN10-Victim 已加入 corp.local 域 - [x] 安装了 Sysmon v15.20 — Olaf Hartong sysmonconfig.xml - [x] Winlogbeat 8.19.16 下载并解压完成 - [x] WIN10-Victim 上的 Winlogbeat 配置完成 - [x] WIN10-Victim 上的 Winlogbeat 服务已安装并启动 - [x] 确认 WIN10-Victim 日志已流入 Kibana — 已验证 19,927+ 条文档 ### 阶段 4 — 攻击模拟 + 检测 ✅ 已完成 - [x] Password Spraying — 已模拟并检测 - [x] Kerberoasting — 已模拟并检测 - [x] DCSync — 已模拟并检测 - [x] LSASS Dump — 已模拟并检测 - [x] PsExec 横向移动 — 已模拟并检测 - [x] Pass-the-Hash — 已模拟并检测 - [x] 计划任务持久化 — 已模拟并检测 ### 阶段 5 — 文档 + GitHub ✅ 已完成 - [x] KQL 检测规则 — 7 个文件,每种攻击一个 - [x] MITRE ATT&CK Navigator 层导出 (v19) - [x] SOC 调查报告 — IR-001 至 IR-007 - [x] 设置指南 — 记录了 4 个阶段 - [x] GitHub 仓库已发布 ## Winlogbeat 事件日志源 Winlogbeat 配置为在 DC01 和 WIN10-Victim 上收集以下事件日志: | 日志源 | 用途 | |------------|---------| | Application | 应用程序错误和警告 | | System | OS 级别事件 | | Security | 身份验证、登录、权限事件 | | Microsoft-Windows-Sysmon/Operational | 进程创建、网络、文件事件 | | Windows PowerShell | PowerShell 活动 (events 400, 403, 600, 800) | | Microsoft-Windows-PowerShell/Operational | 脚本块日志记录 (events 4103, 4104, 4105, 4106) | ## 仓库结构 ``` AD-SOC-Detection-Lab/ │ ├── README.md │ ├── setup-guides/ │ ├── 01-virtualbox-network.md │ ├── 02-domain-controller.md │ ├── 03-elastic-setup.md │ └── 04-sysmon-winlogbeat.md │ ├── detection-rules/ │ ├── password-spraying.kql │ ├── kerberoasting.kql │ ├── dcsync.kql │ ├── lsass-dump.kql │ ├── psexec-lateral.kql │ ├── pass-the-hash.kql │ └── scheduled-task.kql │ ├── investigation-reports/ │ ├── IR-001-password-spraying.md │ ├── IR-002-kerberoasting.md │ ├── IR-003-dcsync.md │ ├── IR-004-lsass-dump.md │ ├── IR-005-psexec.md │ ├── IR-006-pass-the-hash.md │ └── IR-007-scheduled-task.md │ └── mitre-navigator/ └── layer.json ``` ## 凭证参考 | 系统 | 用户名 | 密码 | | ------------------ | --------------------------------------------- | ---------- | | Ubuntu Server | soc-admin | [仅限实验室] | | Elastic 超级用户 | elastic | [仅限实验室] | | DC01 管理员 | CORP\Administrator | [仅限实验室] | | WIN10-Victim 本地用户 | victim-user | [仅限实验室] | | 所有域用户 | jsmith / sjohnson / mdavis / ewilson / tbrown | [仅限实验室] | ## 作者 **Atharva** 网络安全工程硕士 — 华威大学 HackTheBox CDSA — 2026 年 6 月认证 求职意向:Tier 1 SOC Analyst | 英国 | 具备工作权利 — 无需担保
标签:Active Directory, AMSI绕过, Elastic SIEM, KQL, Plaso, 威胁检测, 安全运营, 扫描框架, 攻击模拟, 越狱测试, 驱动签名利用