Remy-Miquel/active-directory-offensive-labs
GitHub: Remy-Miquel/active-directory-offensive-labs
一份在 GNS3 隔离环境中搭建的 Active Directory 攻防实验笔记,涵盖从名称解析投毒到凭据提取的完整攻击链及对应防御对策。
Stars: 0 | Forks: 0
# Active Directory — 攻防实验室
这些笔记源自我在 GNS3 上搭建的 Active Directory 实验环境(包含一台 Windows Server 域控制器、一台客户端主机,以及一台处于隔离网络中的 Kali 攻击机)。
我实际演练的内容包括:LLMNR/NBT-NS 投毒、NetNTLMv2 哈希捕获、NTLM 中继,以及使用 impacket 进行横向移动。
这并非一份详尽的 AD 攻防参考:这只是我所实践的攻击链,按步骤记录,并附上了我从防御角度总结的经验。
## 背景
| 项目 | 详情 |
|---|---|
| 类型 | 个人实验笔记 |
| 环境 | GNS3 — 1 台 Windows Server DC,1 台 Windows 客户端,1 台 Kali 攻击机 |
| 网络 | 隔离网段,无任何真实目标 |
| 工具 | Responder · impacket (`ntlmrelayx.py`, `psexec.py`, `secretsdump.py`, `GetUserSPNs.py`) · BloodHound (`bloodhound-python`) · hashcat |
## 一句话概括攻击链
当一台主机在网络上搜索一个不存在的名称时,最终会通过 LLMNR/NBT-NS 广播询问“谁拥有这个名称?”。Responder 会回答“是我”,从而获取该主机的 NTLM 认证,此时我不只是单纯捕获它,而是将其中继到另一台该用户具有管理员权限的机器上——全程无需破解密码。
## 笔记索引
| 笔记 | 主题 |
|---|---|
| [`lab-setup.md`](lab-setup.md) | GNS3 拓扑、域及机器配置 |
| [`attack-chain.md`](attack-chain.md) | LLMNR/NBT-NS → 捕获 NetNTLMv2 → NTLM 中继 → 远程命令执行 → BloodHound → Kerberoasting |
| [`mitigations.md`](mitigations.md) | Active Directory 端的防御对策 |
## 涵盖技能
- 理解 Windows 名称解析(LLMNR / NBT-NS)及其劫持原理
- 使用 Responder 捕获 NetNTLMv2 哈希
- 在未强制要求签名的情况下,使用 `ntlmrelayx.py` 将 NTLM 中继至 SMB
- 使用 impacket(`psexec.py`, `secretsdump.py`)进行横向移动与机密提取
- 使用 BloodHound(`bloodhound-python`)映射攻击路径
- 使用 `GetUserSPNs.py` 进行 Kerberoasting,并离线爆破 `$krb5tgs$` 票据(hashcat)
- 防御视角:分析攻击成功的原理以及原本应该如何进行拦截
## 免责声明
这是在 GNS3 上搭建的个人实验环境,网络完全隔离,不包含任何真实数据或目标。
所记录的技术仅限于教育和合法合规的框架内,且均在我自己部署的域上进行测试。
本文中展示的工具输出内容均已特意进行截断和匿名化处理。
标签:Active Directory, GNS3, Plaso, SNMP, 红队攻防, 网络安全, 逆向工具, 隐私保护