kobechapman/enterprise-detection-lab-architecture
GitHub: kobechapman/enterprise-detection-lab-architecture
一份企业级Active Directory安全检测实验室的完整架构文档,用于模拟真实企业环境、生成安全遥测数据,并支持攻击模拟、检测工程和事件响应练习。
Stars: 0 | Forks: 0
# 企业检测实验室架构
## 项目概述
本仓库记录了一个模拟企业 Active Directory 环境的架构,旨在受控实验室环境中生成逼真的安全遥测数据,用于攻击模拟、检测工程和事件响应分析。
该实验室环境由两个网络组成:外部不可信网络 和内部企业网络。企业网络内的系统生成端点、身份验证和网络遥测数据,这些数据被集中收集在 Splunk 中,用于分析可疑活动并调查模拟攻击。
**所使用的技术**









## 实验室目标
本实验室环境的主要目标是:
- 模拟逼真的企业基础设施。
- 从多个来源生成安全遥测数据。
- 模拟常见的威胁行为者战术、技术和程序。
- 使用 Splunk 开发 SIEM 检测能力。
- 练习 SOC 调查工作流程。
- 持续扩展对企业网络安全运营的知识。
## 主机系统
实验室环境在单台工作站上本地运行,使用 **Oracle VirtualBox** 托管多个虚拟机,这些虚拟机模拟企业基础设施、安全监控系统和攻击者平台。
### 主机硬件:
| 组件 | 规格 |
|----------|---------------|
| CPU | AMD Ryzen 7 9800X3D |
| RAM | 64 GB DDR5 |
| GPU | NVIDIA RTX 5070 Ti |
| Storage | 2 TB M.2 NVMe SSD |
## 网络架构
实验室环境模拟了一个分段的企业网络,旨在支持逼真的攻击模拟以及事件响应和调查工作流程。
该环境由两个网络组成,通过防火墙/路由器 分隔,以模拟攻击者基础设施与企业系统之间的隔离。
下图展示了分段的实验室架构,包括不可信网络、防火墙/路由器 以及内部企业环境。

### BlueNet (企业网络)
BlueNet 是内部企业网络,包含构成模拟企业环境的核心系统,包括域控制器、SIEM、文件服务器和企业工作站。
**子网:** `192.168.10.0/24`
**网关:** `192.168.10.1 (EDGE-FW-01)`
| 主机名 | 操作系统 | 角色 | IP 地址 |
|----------|------------------|------|------------|
| BLUENET-DC-01 | Windows Server 2022 | 域控制器 | 192.168.10.10 |
| BLUENET-SIEM-01 | Windows Server 2022 | Splunk SIEM | 192.168.10.20 |
| BLUENET-FS-01 | Windows Server 2022 | 文件服务器 | 192.168.10.30 |
| BLUENET-W11H-01 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-02 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-03 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-04 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-05 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-06 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-07 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-08 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-09 | Windows 11 | 工作站 | DHCP |
| BLUENET-W11H-10 | Windows 11 | 工作站 | DHCP |
### RedNet
RedNet 是外部不可信网络,用于模拟针对企业环境 的恶意活动。该网络上的系统用于执行攻击模拟,例如侦察、枚举、凭证攻击、横向移动尝试以及攻击者使用的其他常见技术。
**子网:** `192.168.20.0/24`
**网关:** `192.168.20.1 (EDGE-FW-01)`
| 主机名 | 操作系统 | 角色 | IP 地址 |
|---------|------------------|------|-----------|
| REDNET-ATTACKER-01 | Parrot Security OS | 攻击者工作站 | 192.168.20.10 |
## Active Directory 架构
实验室环境使用 Microsoft Active Directory 来模拟集中式的企业身份基础设施。Active Directory 为 BlueNet 网络内的系统提供身份验证、授权、策略实施和目录服务。
域环境旨在复制具有集中式身份管理、加入域的端点以及对企业资源受控访问的小型企业部署。
### 域概述
| 属性 | 值 |
|--------|------|
| 域名 | bluenet.local |
| 域控制器 | BLUENET-DC-01 |
| 操作系统 | Windows Server 2022 |
| 角色 | Active Directory Domain Services, DNS, DHCP |
| IP 地址 | 192.168.10.10 |
BLUENET-DC-01 充当域控制器,也是 BlueNet 网络内所有系统的中央身份验证机构。企业服务器和工作站加入域并通过 Active Directory 进行身份验证。
### 分层管理模型
Active Directory 环境遵循简化的分层管理模型,旨在模拟企业安全实践并降低权限提升的风险。
管理权限根据其管理的系统的敏感性分为不同的层级。
| 层级 | 目的 | 示例系统 |
|-----|--------|----------------|
| Tier 0 | 身份基础设施 | 域控制器 |
| Tier 1 | 企业服务器 | 文件服务器, SIEM |
| Tier 2 | 用户端点 | 工作站 |
该模型有助于防止在较低信任度系统上使用的管理凭证被重用于关键身份基础设施。
例如,对域控制器的管理访问仅限于 Tier 0 管理员,而工作站管理员仅在 Tier 2 系统内操作。
### 组织单位结构
为了模拟逼真的企业环境,域对象使用组织单位 进行组织。这种结构允许对系统和用户进行逻辑分组,同时通过组策略对象 实现针对性的策略实施。
下图展示了我在 Active Directory 中实施的 OU 结构:
```
BLUENET.LOCAL
├─ Tier0
│ ├─ Domain Controllers
│ │ └─ BLUENET-DC-01
│ │
│ └─ Privileged Accounts
├─ Tier1
│ ├─ Server Admins
│ │
│ └─ Servers
│ ├─ BLUENET-FS-01
│ └─ BLUENET-SIEM-01
|
└─ Tier2
└─ Workstations
├─ IT
│ ├─ BLUENET-W11H-01
│ └─ BLUENET-W11H-02
│
├─ Security
│ └─ BLUENET-W11H-03
│
├─ Finance
│ └─ BLUENET-W11H-04
│
├─ Human Resources
│ └─ BLUENET-W11H-05
│
├─ Operations
│ ├─ BLUENET-W11H-06
│ ├─ BLUENET-W11H-07
│ └─ BLUENET-W11H-08
│
└─ Management
├─ BLUENET-W11H-09
└─ BLUENET-W11H-10
```
## 身份与访问管理
对企业资源的访问通过 Active Directory 安全组进行控制。实验室遵循 AGDLP 访问模型,该模型通常用于企业 Active Directory 环境中,以可扩展且可维护的方式管理权限。
AGDLP 代表:
| 阶段 | 描述 |
|------|-------------|
| A | 账户 (用户账户) |
| G | 全局组 |
| DL | 域本地组 |
| P | 权限 |
用户账户被放入代表其部门或角色的全局组中。然后,这些组被分配到控制对特定资源(如文件共享)访问权限的域本地组中。
该模型允许通过组成员身份管理权限,而不是直接向单个用户账户分配权限。
### 安全组结构
环境使用 Active Directory 安全组来管理对企业资源的访问。组分为代表部门成员身份的全局组和代表对特定资源访问权限的域本地组。
全局组代表组织内的用户角色或部门成员身份。
全局组包括:
| 全局组 | 部门 |
|--------------|------------|
| GG-IT | IT 部门 |
| GG-Security | 安全团队 |
| GG-Finance | 财务部门 |
| GG-HR | 人力资源 |
| GG-Operations | 运营部门 |
| GG-Management | 管理团队 |
域本地组用于分配对文件共享等资源的权限。这些组包含与需要访问的用户相关联的全局组。
域本地组包括:
| 域本地组 | 资源访问 |
|--------------------|----------------|
| DL-Finance-Share | 财务部门文件共享 |
| DL-HR-Share | HR 文件共享 |
| DL-IT-Share | IT 文件共享 |
| DL-Operations-Share | 运营部门文件共享 |
| DL-Security-Share | 安全部门文件共享 |
| DL-Management-Share | 管理层文件共享 |
#### 权限流转示例:
以下示例演示了如何使用 AGDLP 模型授予对企业资源的访问权限:
```
User Account
│
▼
GG-Finance
(Global Group)
│
▼
DL-Finance-Share
(Domain Local Group)
│
▼
\\BLUENET-FS-01\Finance
(File Share Permission)
```
在此示例中,财务部门用户被放入 GG-Finance 全局组。然后,该组被分配到 DL-Finance-Share 域本地组的成员身份,该组拥有访问托管在企业文件服务器 (BLUENET-FS-01) 上的财务部门文件共享的权限。
这种方法允许通过组成员身份集中管理权限,而不是直接向单个用户分配权限。
## 遥测流水线
实验室环境从域系统收集安全遥测数据,并将数据集中到 SIEM 平台 中进行分析。
企业系统通过 Windows Event Logs 和 Sysmon 生成遥测数据。这些日志提供了对整个网络中身份验证活动、进程执行和系统行为的可见性。
### 遥测收集流程
下图展示了安全遥测数据是如何从企业端点生成、收集并转发到集中式 Splunk SIEM 进行分析的。

## 日志配置
在企业系统中配置了安全日志记录,以确保对身份验证活动、系统行为和潜在安全事件的可见性。
日志策略通过 Active Directory 环境中的组策略进行部署,并应用于加入域的服务器和工作站。
### Windows 审核策略
启用 Windows 审核策略以捕获整个企业环境中的身份验证活动、进程执行和对象访问事件。
| 审核类别 | 目的 |
|----------------|--------|
| 登录事件 | 跟踪成功和失败的用户身份验证 |
| 账户登录 | 监控 Kerberos 身份验证活动 |
| 进程创建 | 检测端点上的进程执行 |
| 对象访问 | 监控文件共享和资源访问 |
| PowerShell 日志 | 捕获 PowerShell 命令和脚本活动 |
这些日志提供了对用户身份验证模式和可能表明可疑行为的系统活动的可见性。
### Sysmon 部署
Sysmon 使用广泛采用的 **SwiftOnSecurity Sysmon 配置** 部署在企业端点上,该配置提供了一组平衡的事件监控规则,旨在捕获与安全相关的活动,同时减少不必要的日志噪音。
此配置使人们能够详细了解威胁行为者通常利用的进程执行、网络连接和系统活动。
| 配置 | 值 |
|---------------|------|
| Sysmon 版本 | Sysmon (System Monitor) |
| 配置来源 | SwiftOnSecurity Sysmon Config |
| 配置文件 | sysmonconfig-export.xml |
| 部署方法 | 安装在所有企业端点上 |
| 日志目标 | Windows Event Log (Microsoft-Windows-Sysmon/Operational) |
### 日志转发
域系统使用 **Splunk Universal Forwarder** 将收集的日志转发到 SIEM。
转发器安装在企业服务器和工作站上,并配置为将安全遥测数据发送到集中式 SIEM 服务器。
| 日志转发器 | 目标 |
|---------------|------------|
| Splunk Universal Forwarder | BLUENET-SIEM-01 |
此遥测流程确保所有企业系统生成的安全事件都被集中起来,以用于监控、检测和调查。
## 安全遥测覆盖范围
实验室环境从多个日志来源收集安全遥测数据,以提供对整个企业环境中身份验证活动、端点行为和网络交互的可见性。
此遥测数据通过暴露常见的恶意活动指标,支持检测开发和调查工作流程。
下表提供了环境中收集的遥测数据示例:
| 监控活动 | 遥测源 | 示例事件 ID |
|-------------------|-----------------|-------------------|
| 用户身份验证 | Windows Security Logs | 4624, 4625 |
| Kerberos 身份验证 | Windows Security Logs | 4768, 4769 |
| 进程执行 | Sysmon | 1 |
| 网络连接 | Sysmon | 3 |
| PowerShell 执行 | PowerShell Logging | 4104 |
| 文件共享访问 | Windows Security Logs | 5140 |
### 威胁检测范围
实验室环境旨在生成安全遥测数据,从而能够检测和调查企业 Windows 环境中的常见攻击。
通过结合端点遥测和 SIEM 分析,该环境提供了对攻击生命周期多个阶段的可见性,包括:
| 攻击活动 | 遥测源 | 检测机会 |
|----------------|-----------------|-----------------------|
| 密码喷射 | Windows Security Logs | 重复的身份验证失败 |
| Kerberoasting | Windows Security Logs | 异常的服务票证请求 |
| 横向移动 | Windows Logs | 跨多个系统的登录 |
| PowerShell 滥用 | PowerShell Logging | 可疑的脚本执行 |
| 进程注入 | Sysmon | 异常的进程行为 |
| 凭证转储 | Sysmon + Security Logs | 可疑的进程执行 |
## 未来项目
该实验室环境旨在支持检测工程项目,这些项目模拟现实世界的攻击者行为并使用 Splunk 分析生成的遥测数据。
计划项目包括:
| 检测场景 | 描述 |
|-------------------|-------------|
| 密码喷射 | 检测跨多个账户的重复身份验证失败 |
| Kerberoasting | 识别异常的 Kerberos 服务票证请求 |
| 横向移动 | 检测跨系统的可疑身份验证活动 |
| PowerShell 滥用 | 监控可疑的 PowerShell 执行 |
| 凭证转储 | 检测用于提取凭证的工具和技术 |
每个检测项目将包括攻击模拟、遥测分析以及 SIEM 平台内检测规则的开发。检测场景将映射到相关的 MITRE ATT&CK 技术,以便为正在模拟的恶意行为提供背景。
标签:Active Directory, AI合规, HTTP/HTTPS抓包, IPv6, OPNsense, ParrotOS, PE 加载器, Plaso, PowerShell, SOC工作流, Sysmon, Terraform 安全, VirtualBox, Web报告查看器, Windows Server, 企业检测实验室, 安全遥测, 态势感知, 攻击模拟, 数据展示, 漏洞分析, 端点安全, 管理员页面发现, 红队, 网络安全, 蜜罐与诱捕, 补丁管理, 路径探测, 身份认证安全, 防御规避识别, 隐私保护, 靶场环境, 驱动签名利用