jaypatel-sec/Active-Directory-Attack-Lab

GitHub: jaypatel-sec/Active-Directory-Attack-Lab

一个覆盖 AD 完整攻击链的实验文档库,从凭证投毒到域持久化共 9 个步骤,每一步都配有详细操作指南、真实输出以及对应的 SPL/KQL 检测规则。

Stars: 0 | Forks: 0

# Active Directory 攻击实验 — Jay Patel 在家庭实验室环境中端到端执行的完整 9 步 Active Directory 杀伤链。 该实验室记录了从初始网络级凭证投毒到域持久化的完整攻击路径 —— 涵盖了在真实世界 Active Directory 渗透测试中最常出现的技术,并直接在 CPTS 和 OSCP 中进行了测试。 每个攻击文件夹包含前置条件、执行的确切命令、真实的实验室输出,以及对每个步骤完成内容及其原理的详细分解。目的是为 AD 杀伤链的每个阶段构建一个可复现的参考,以便在实际 engagements 和认证实验室中使用。 ## 实验环境 | 机器 | 角色 | 操作系统 | |---|---|---| | Kali Linux | 攻击工作站 | Kali 2024.x | | Windows Server 2022 | 域控制器 | Windows Server 2022 | | Windows 10 22H2 | 受害者工作站 | Windows 10 22H2 | 该实验室建立在私有虚拟网络上,域控制器完全配置了 Active Directory Domain Services、DNS 以及一组故意配置错误的账户和策略,以模拟真实企业环境中常见的条件。 ## 杀伤链 — 9 个攻击步骤 | # | 攻击 | 技术摘要 | 状态 | |---|---|---|---| | 01 | LLMNR Poisoning | 拦截 LLMNR/NBT-NS 广播,从任何发送失败名称解析请求的主机捕获 NTLMv2 哈希 | ⏳ 待定 | | 02 | NTLMv2 Relay | 将捕获的 NTLMv2 凭证中继到网络上的其他机器,以受害者身份进行认证,而无需破解哈希 | ⏳ 待定 | | 03 | Password Spraying | 对每个域账户测试一个或少量常用密码,以避免触发锁定阈值 | ⏳ 待定 | | 04 | Kerberoasting | 请求具有 SPN 的账户的 Kerberos 服务票据,并离线破解 RC4 加密的票据 | ⏳ 待定 | | 05 | AS-REP Roasting | 为禁用了预认证的账户请求 AS-REP 响应,并离线破解加密部分 | ⏳ 待定 | | 06 | Pass the Hash | 使用捕获的 NTLM 哈希认证远程服务,无需恢复明文密码 | ⏳ 待定 | | 07 | Pass the Ticket | 将窃取的 Kerberos 票据注入当前会话,以冒充用户并访问资源 | ⏳ 待定 | | 08 | Golden Ticket | 使用 KRBTGT 账户哈希伪造 Kerberos TGT,以获得持久的、无限的域访问权限 | ⏳ 待定 | | 09 | DCSync | 滥用域复制权限,直接从 DC 提取所有域账户的 NTLM 哈希 | ⏳ 待定 | ## 仓库结构 ``` Active-Directory-Attack-Lab/ └── Attacks/ ├── 01-LLMNR-Poisoning/ │ └── attack-steps.md ├── 02-NTLMv2-Relay/ │ └── attack-steps.md ├── 03-Password-Spraying/ │ └── attack-steps.md ├── 04-Kerberoasting/ │ └── attack-steps.md ├── 05-AS-REP-Roasting/ │ └── attack-steps.md ├── 06-Pass-the-Hash/ │ └── attack-steps.md ├── 07-Pass-the-Ticket/ │ └── attack-steps.md ├── 08-Golden-Ticket/ │ └── attack-steps.md └── 09-DCSync/ └── attack-steps.md ``` 每个 `attack-steps.md` 包含: - **攻击是什么** — 被滥用的底层协议或机制 - **为什么有效** — 使攻击成为可能的配置错误或设计弱点 - **前置条件** — 运行此步骤之前所需的访问级别、工具和条件 - **分步命令** — 确切的语法及每个标志的解释 - **真实实验室输出** — 执行期间捕获的实际终端输出 - **如何处理结果** — 输出如何馈送到杀伤链的下一阶段 ## 使用的工具 | 工具 | 用途 | 用于 | |---|---|---| | Responder | LLMNR/NBT-NS/MDNS 投毒和哈希捕获 | 01 — LLMNR Poisoning | | Impacket ntlmrelayx | NTLMv2 中继攻击 | 02 — NTLMv2 Relay | | CrackMapExec | 跨域账户的密码喷洒 | 03 — Password Spraying | | Impacket GetUserSPNs | SPN 发现和票据请求 | 04 — Kerberoasting | | Impacket GetNPUsers | 为禁用预认证的账户检索 AS-REP | 05 — AS-REP Roasting | | CrackMapExec / Mimikatz | 基于哈希的认证 | 06 — Pass the Hash | | Rubeus / Mimikatz | 票据注入和操作 | 07 — Pass the Ticket | | Impacket secretsdump | DCSync 和凭证提取 | 08, 09 — Golden Ticket, DCSync | | Hashcat | 捕获的哈希和票据的离线破解 | 全程 | | BloodHound / SharpHound | AD 枚举和攻击路径可视化 | 全程 | ## 攻击路径背景 杀伤链的顺序反映了真实 engagement 如何从初始网络访问进展到完全域妥协。每一步都建立在前一步的基础上: ``` Passive Credential Capture (LLMNR/NTLMv2) ↓ Lateral Movement Preparation (Relay, Spray) ↓ Privilege Escalation (Kerberoasting, AS-REP) ↓ Domain User → Domain Admin (PTH, PTT) ↓ Full Domain Compromise + Persistence (Golden Ticket, DCSync) ``` 此序列反映了 HTB Academy CPTS、HackTheBox Pro Labs 和 OSCP Active Directory 套件中测试的方法论。 ## 认证对标 | 认证 | 相关技术 | |---|---| | eJPT | Password Spraying, 基本凭证攻击 | | HTB CPTS | 完整杀伤链 — 全部 9 个步骤 | | OSCP | Kerberoasting, AS-REP, Pass the Hash, DCSync |
标签:Active Directory, AD 攻击链, AS-REP Roasting, CPTS, Kerberoasting, Kill Chain, KQL, LLMNR 中毒, NTLMv2 中继, OSCP, PE 加载器, Plaso, SPL, Terraform 安全, Web报告查看器, Windows Server, 域渗透, 安全实验, 家庭实验室, 密码喷射, 攻击模拟, 数据展示, 检测规则, 模拟器, 漏洞靶场, 电子数据取证, 红队, 网络安全, 网络资产发现, 防御检测, 隐私保护, 驱动签名利用