经过加固的 Windows 安全实验室,演示 Active Directory 管理、主机与网络检测,以及对 CVE-2021-34527 的分层缓解。
一项经过脱敏处理的学术案例研究,展示了在受控虚拟环境中调查 CVE-2021-34527 (PrintNightmare) 时,如何设计、监控并加固一个 Windows 域实验环境。
安全说明: 本仓库专注于系统管理、防御性监控、证据分析和缓解测试,并有意排除可运行的漏洞利用代码、载荷、凭据、原始数据包捕获、虚拟机镜像以及原始大学提交内容。
该项目遵循了三个学术阶段:漏洞提案、检测与缓解设计,以及带现场演示的实施。最终的实验环境在隔离网络中复现了该漏洞,关联了主机与网络遥测数据,测试了多项控制措施,并记录了成功与不成功的缓解方案。
隔离拓扑将测试工作站与域控制器和已加入域的终端分离开来,同时使团队能够观察身份验证、SMB/RPC 通信、服务活动和终端变更。
调查关联了多个证据来源,而非依赖单一安全产品:
主要结论是,必须根据业务需求选择分层控制措施。一项技术上有效的控制措施如果会干扰必需的服务,仍然可能不适用。
参见缓解结果。
这是一个由两人完成的大学项目。我所记录的贡献重点包括:
.
├── README.md
├── NOTICE.md
├── assets/
│ └── lab-architecture.svg
├── data/
│ ├── detection-indicators.csv
│ └── mitigation-results.csv
├── docs/
│ ├── architecture-and-administration.md
│ ├── detection-analysis.md
│ ├── mitigation-results.md
│ ├── project-lifecycle.md
│ └── lessons-learned.md
├── queries/
│ ├── tshark-defensive-checklist.md
│ └── windows-event-checklist.md
└── scripts/
├── README.md
└── cleanup_lab_artifacts.sh
本仓库是一份简明案例研究,而非评估材料的副本。原始 PCAP 数据、演示录像、硬编码的实验室凭据、载荷生成命令、第三方漏洞利用代码、受版权保护的参考书籍、原始报告和虚拟机镜像均被有意排除。
| 来源 | 审查的证据 | 防御价值 |
|---|
| PrintService 日志 | 事件 ID 316 和打印机驱动程序活动 | 识别出可疑的驱动程序安装及相关文件 |
| Sysmon | 事件 ID 7、11 和 13 | 跟踪映像加载、文件创建和注册表修改 |
| 安全日志 | 事件 ID 4624、4720、4722、4724、4732 和 4738 | 揭示与权限提升和持久化活动相关的登录以及帐户或组变更 |
| 系统日志 | 事件 ID 7031 | 标记出意外的 Print Spooler 终止 |
| Wireshark/TShark | TCP 端点、会话、NTLM、SMB2 和传输对象 | 将主机事件与网络通信和文件传输证据关联起来 |
| 进程监视器 (Process Monitor) | 进程、文件和注册表活动 | 支持重建活动序列 |
| 测试的控制措施 | 结果 | 运维考量 |
|---|
| 禁用入站远程打印 | 阻止了远程攻击路径 | 远程打印服务器功能受到影响 |
| 拒绝对驱动程序目录的写入 | 阻止了未授权文件放置 | 可能会阻止合法的打印队列或驱动程序更改 |
| 在防火墙阻止 RPC/SMB 端口 | 阻止了测试所需的远程通信 | 可能会中断依赖这些端口的服务 |
| 通过组策略禁用 Print Spooler | 移除了易受攻击的服务路径 | 禁用了本地和远程打印 |
| 限制指向并打印 (Point and Print) / 要求签名驱动程序 | 在本实验环境中未能阻止所测试的路径 | 表明不应单独信任某一项控制措施 |