0xMR007/Lab4PurpleSec
GitHub: 0xMR007/Lab4PurpleSec
一个模块化的紫队训练实验环境,集成漏洞AD域、Web渗透测试区、防火墙与IDS/IPS、以及SIEM日志分析,用于红蓝对抗实战训练。
Stars: 221 | Forks: 21

# Lab4PurpleSec






目录
- [Lab4PurpleSec](#lab4purplesec)
- [概述](#overview)
- [前置条件](#prerequisites)
- [硬件要求](#hardware-requirements)
- [最低配置(有限场景)](#minimum-configuration-limited-scenarios)
- [推荐配置(完整实验环境)](#recommended-configuration-full-lab-experience)
- [最佳配置(最高性能)](#optimal-configuration-maximum-performance)
- [软件要求](#software-requirements)
- [项目目标](#project-goals)
- [快速开始](#tldr)
- [网络架构](#network-architecture)
- [Lab4PurpleSec](#lab4purplesec-1)
- [GOAD-MINILAB](#goad-minilab)
- [仓库结构](#repository-structure)
- [快速启动](#quick-start)
- [选项1:自动化部署(推荐)](#option-1-automated-deployment-recommended)
- [选项2:手动部署](#option-2-manual-deployment)
- [可能场景](#possible-scenarios)
- [1. 横向移动 — WAN → DMZ → LAN](#1-pivoting--wan--dmz--lan)
- [2. OWASP Web漏洞利用 → 持久化(webshell)](#2-owasp-web-exploit--persistence-webshell)
- [3. Kerberoasting (AD) — 侦察与票据恢复](#3-kerberoasting-ad--reconnaissance--ticket-recovery)
- [组件安装](#component-installation)
- [自动化组件](#automated-components)
- [手动组件](#manual-components)
- [贡献](#contributions)
- [许可证](#license)
- [法律声明](#legal-notice)
- [致谢](#credits)
## 概述
Lab4PurpleSec 是一个不断发展的网络安全实验环境,专为红队和蓝队培训而设计,模拟接近企业环境,集成网络/Web渗透测试、Active Directory、检测、SIEM 和 IDS/IPS。
本项目面向学生和网络安全爱好者!
## 前置条件
### 硬件要求
**Lab4PurpleSec** 设计灵活,可根据您的需求和可用资源进行部署。您无需同时运行所有虚拟机 - 场景设计为可逐步执行。
#### 最低配置(有限场景)
- **内存:** 最低 16 GB
- **CPU:** 4 核处理器(i5/i7 或同等规格)
- **存储:** 150 GB 可用磁盘空间
- **使用场景:** 同时运行 2-3 个虚拟机进行特定场景(例如,Web 服务器 + 攻击机器,或 SIEM + 一个目标)
#### 推荐配置(完整实验环境)
- **内存:** 推荐 32 GB
- **CPU:** 6 核以上处理器(i5/i7/i9 或同等规格)
- **存储:** 200+ GB 可用磁盘空间(推荐 SSD)
- **使用场景:** 同时运行多个虚拟机进行复杂场景(例如,完整 AD 环境 + SIEM + Web 服务)
#### 最佳配置(最高性能)
- **内存:** 64 GB
- **CPU:** 8 核以上处理器(i9/Ryzen 9 或同等规格)
- **存储:** 500+ GB 可用磁盘空间(推荐 NVMe SSD)
- **使用场景:** 同时运行整个实验环境,所有服务处于活动状态
**重要说明:**
- **您可以自定义虚拟机资源** - 在 `Vagrantfile` 中调整以匹配您的硬件(根据需要减少每个虚拟机的内存/CPU)
- **无需同时运行所有虚拟机** - 只启动当前场景所需的虚拟机
- **Wazuh Manager (LAN-SIEM-LIN) 需要 8GB 内存** - 这是资源消耗最大的虚拟机
- **GOAD 虚拟机(Windows)需要大量资源** - 如果内存有限,考虑单独运行它们
- **磁盘空间使用:** 使用默认设置,实验环境占用约 130-150 GB
有关详细的硬件和软件要求,请参阅 `docs/SETUP/prereqs.md`。
### 软件要求
- **虚拟化平台:** VirtualBox 或 VMware Workstation/Player
- **Vagrant:** 2.2+ 版本(用于自动化虚拟机)
- **Ansible:** 可选,用于手动 playbook 执行
- **ISO 镜像:** 完整列表请参阅 `docs/SETUP/prereqs.md`
### 项目目标
**Lab4PurpleSec** 不提供预构建的虚拟机(OVA/OVF)。安装完全按照提供的详细指南"从零开始"完成。这种方式:
- **促进学习**:理解每个安装和配置步骤
- **确保可重现性**:每个用户以相同方式构建环境(但仍可自定义)
- **加强理解**:掌握系统、网络和配置
- **便于定制**:根据特定需求轻松调整
## 快速开始
**Lab4PurpleSec** 具有以下特性:
- 分段架构(WAN、DMZ、LAN、AD)
- pfSense 防火墙、Suricata IDS/IPS、Wazuh SIEM
- 漏洞机器(OWASP、Metasploitable、Windows DC)
- 详细的安装和配置指南
## 网络架构
### Lab4PurpleSec
Lab4PurpleSec 是一个专门用于应用和系统漏洞利用的环境,托管故意存在漏洞的机器(Metasploitable2/3)、隔离 DMZ 区域中的 OWASP Web 应用程序,以及存在漏洞的 Active Directory 环境(GOAD MINILAB)。

### GOAD-MINILAB
GOAD-MINILAB 模拟了一个简化的 Active Directory 环境,包含域控制器和 Windows 客户端工作站(可根据需要添加多个),允许模拟各种类型的 Active Directory 定向攻击。

## 仓库结构
本节介绍 **Lab4PurpleSec** 仓库的组织结构,描述每个目录和主要文件的作用。该结构便于在安装指南、配置、测试和项目资源之间清晰导航。
```
Lab4PurpleSec/
├── README.md — General overview and quick start (EN)
├── README_FR.md — General overview and quick start (FR)
├── CONTRIBUTING.md — Contribution guidelines
├── LICENSE — License and usage information
├── .gitignore — Files/directories excluded from Git versioning
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md — Bug report template
│ ├── feature_request.md — Feature request template
│ └── documentation.md — Documentation improvement template
├── ARCHITECTURE.md — Architecture information, interfaces, network diagrams
├── assets/ — Visual resources (images, diagrams, etc.)
├── INVENTORY.md — Inventory list of all VMs and main characteristics
├── automation/ — Vagrant and Ansible automation for internal VMs
│ ├── README.md — Automation documentation and quick start
│ ├── ORCHESTRATION.md — VM orchestration and external integration guide
│ ├── Vagrantfile — Vagrant configuration for internal VMs
│ ├── ansible/ — Ansible playbooks and roles
│ └── scripts/ — Helper scripts for automation
├── docs/
│ ├── README.md
│ ├── SETUP/
│ │ ├── prereqs.md — Hardware and software requirements
│ │ ├── VMs_installation.md — Detailed VM installation and configuration guide
│ │ ├── pfsense_setup.md — pfSense installation and configuration documentation
│ │ ├── Web_server_setup.md — Web server deployment guide
│ │ ├── Wazuh_setup.md — Wazuh installation and agent enrollment guide
│ │ └── GOAD_setup.md — GOAD Active Directory deployment procedure
│ └── TESTS/
│ ├── Web_server.md — Web server validation checklist
│ ├── pfSense.md — pfSense and Suricata verification
│ ├── Wazuh.md — Wazuh testing/documentation
│ └── GOAD-MINILAB.md — GOAD MINILAB verification documentation
├── CONFIGS/
│ ├── web-server/ — Web server configuration files (Nginx, Docker, etc.)
│ └── pfsense/ — pfSense configuration files (rules, XML exports)
```
## 快速启动
### 选项 1:自动化部署(推荐)
**Lab4PurpleSec** 为大多数内部虚拟机提供使用 Vagrant 和 Ansible 的半自动化部署。
**快速开始:**
在 Windows 上:
```
cd automation # Navigate to the automation directory
$env:VAGRANT_ANSIBLE = "true" # Enable Ansible provisioning
vagrant up # Start the VMs
```
在 Linux/macOS 上:
```
cd automation # Navigate to the automation directory
export VAGRANT_ANSIBLE=true # Enable Ansible provisioning
vagrant up # Start the VMs
```
**自动化的内容:**
以下虚拟机的部署已实现自动化:
- LAN-SIEM-LIN(Wazuh Manager)
- LAN-TEST-LIN(带 GUI 的 Ubuntu Desktop)
- LAN-ATTACK-LIN(Kali Linux)
- WAN-ATTACK-LIN(Kali Linux)
- DMZ-WEB01-LIN(Debian Web 服务器)
**仍需手动设置的内容:**
- pfSense 防火墙(手动 ISO 安装)
- GOAD MINILAB(外部仓库)
- Metasploitable2/3(外部仓库)
- Windows/pfSense 上的 Wazuh 代理
- Web 服务器应用程序(Docker Compose)
- 网络配置(pfSense、Suricata、Wazuh、GOAD 等)
**请参阅:**
- `automation/README.md` 了解详细的自动化文档
- `automation/ORCHESTRATION.md` 了解完整的部署编排
- `docs/SETUP/README.md` 了解详细的手动安装指南
### 选项 2:手动部署
为了完整的手动安装(教育目的):
1. 前置条件(参阅 `docs/SETUP/prereqs.md`):
- 虚拟化平台(VMware Workstation / VirtualBox / Hyper-V)
- 操作系统安装所需的 ISO 镜像
- 用于下载依赖项和工具的互联网连接
2. 安装虚拟机(不包括 GOAD-MINILAB)。
3. 在虚拟化平台上创建 3 个网络/接口(参见 `docs/SETUP/prereqs.md`):
1. pfSense 虚拟机示例(3 张网卡):
- 虚拟 WAN:桥接(DHCP)
- LAN:LAN 网段 192.168.10.0/24
- DMZ:LAN 网段 192.168.20.0/24
4. 部署 pfSense(参见 `docs/SETUP/pfsense_setup.md`):
1. 配置上述接口。
2. 在接口上分配 IP 地址。
3. 访问 pfSense Web 界面并验证上述配置。
4. 添加防火墙规则。
5. 配置 Nginx 反向代理的 NAT 规则。
5. 在 pfSense 上部署 Suricata(参见 `docs/SETUP/pfsense_setup.md`)。
6. 部署 Wazuh Manager(SIEM),然后在目标上部署代理(Linux/Windows)。参阅 `docs/SETUP/Wazuh_setup.md`。
7. 设置 GOAD 和 Windows 客户端机器,然后集成到 LAN 中。参阅 `docs/SETUP/GOAD_setup.md`。
8. 运行 `docs/TESTS/` 中的验证测试以确保一切配置正确。
您现在可以随意使用 **Lab4PurpleSec**!
您可以:
- 自由添加/删除机器、工具、技术。
- 根据您的场景修改不同实验机器的参数。
- 直接使用该实验环境。
- 执行各种紫队场景(您的创造力是无限的!)。
**请参阅:** `docs/SETUP/README.md` 了解详细的手动安装指南。
## 可能场景
### 1. 横向移动 — WAN → DMZ → LAN
**目标:** 在 DMZ 中的 Web 虚拟机上获得初始访问权限,然后横向移动到 LAN/AD 机器。
**技能/工具:** 侦察、隧道(SSH/SOCKS、proxychains)、横向移动。
**预期结果:** Web 日志 + IDS 告警 + Wazuh 告警。
**注意事项:** 调整 pfSense 规则(模拟配置错误)。
### 2. OWASP Web 漏洞利用 → 持久化(webshell)
**目标:** 利用 DMZ 服务中的 Web 漏洞(上传、RCE 或 LFI)并建立有限的持久化。
**技能/工具:** Web 应用测试、BurpSuite、OWASP Top 10、webshell、命令注入、文件上传、HTTP。
**预期结果:** Web 日志 + IDS 告警 + webshell 捕获。
### 3. Kerberoasting (AD) — 侦察与票据恢复
**目标:** 恢复 Kerberos 服务票据以攻击服务账户。
**技能/工具:** AD 枚举、Kerberos 票据、哈希破解。
**预期结果:** AD 日志 + IDS 告警 + Wazuh 日志显示异常活动和时间线。
## 组件安装
**Lab4PurpleSec** 支持自动化和手动部署:
### 自动化组件
以下虚拟机可以使用 Vagrant 和 Ansible 自动部署:
- **LAN-SIEM-LIN、LAN-TEST-LIN、LAN-ATTACK-LIN、WAN-ATTACK-LIN、DMZ-WEB01-LIN**
有关自动化部署说明,请参阅 `automation/README.md`。
### 手动组件
以下组件必须从官方来源手动安装:
- **pfSense 防火墙**:从 ISO 镜像手动安装(参见 `docs/SETUP/pfsense_setup.md`)
- **GOAD MINILAB**:根据官方文档([https://orange-cyberdefense.github.io/GOAD/installation/](https://orange-cyberdefense.github.io/GOAD/installation/))通过 Vagrant 安装,并根据 `docs/SETUP/GOAD_setup.md` 集成到 LAN 中
- **Metasploitable2/3**:通过 Vagrant 从官方 Rapid7 仓库安装,或使用其各自网站上提供的 ISO/VMX 镜像
- **Wazuh 代理**:在 Windows 机器和 pfSense 上手动安装(参见 `docs/SETUP/Wazuh_setup.md`)
- **Web 服务器应用程序**:手动 Docker Compose 设置(参见 `docs/SETUP/Web_server_setup.md`)
请参阅 `docs/SETUP/prereqs.md` 获取所需 ISO 镜像的完整列表,以及 `docs/SETUP/VMs_installation.md` 获取详细的手动安装指南。
## 许可证
本项目基于 MIT 许可证授权。
**许可证声明:** 本项目的使用(包括用于 CTF、商业项目、培训或任何其他目的)均受 MIT 许可证的条款和条件约束。详见 `LICENSE`。使用本项目即表示您同意遵守许可证条款,包括保留版权声明和许可证信息。
## 法律声明
本项目中引用或展示的标志和商标均为其各自所有者的财产。
这些标志的使用严格限于信息和非商业目的。
## 致谢
特别感谢 Orange Cyberdefense 开发了 GOAD([https://orange-cyberdefense.github.io/GOAD](https://orange-cyberdefense.github.io/GOAD))。
标签:Active Directory, AD域渗透, AMSI绕过, CISA项目, DMZ, Docker, GOAD, Hyper-V, Kerberoasting, Metaprompt, pfSense, Plaso, Purple Team, StruQ, Suricata, VirtualBox, VMware, Wazuh, Webshell, Web安全, XXE攻击, 嗅探欺骗, 威胁检测, 安全培训, 安全防御评估, 家庭实验室, 无线安全, 权限维持, 横向移动, 漏洞环境, 现代安全运营, 系统提示词, 编程规范, 网络 pivoting, 网络分段, 网络安全实验室, 网络安全审计, 蓝队分析, 蓝队检测, 虚拟化, 请求拦截