Repaso CRTP
Conceptos, técnicas y comandos que se recomienda entender antes de presentarse al examen
1. Enumeración
Importar script
. .\Powerview.ps1Import-Module ActiveDirectory.ps1
. .\ActiveDirectory.ps1Obtener el dominio
Get-NetDomain
Get-NetDomain -Domain powershell.localGet-ADDomain
Get-ADDomain -Identity powershell.local
(Get-ADDomain).DomainSID.ValueObtener los Controladores de Dominio (DC)
Get-NetDomainController
Get-NetDomainController -Domain powershell.localGet-ADDomainController
Get-ADDomainController -Discover -DomainName powershell.localObtener usuarios de un dominio
Get-NetUser
Get-NetUser -Domain powershell.local
Get-NetUser –Username labuser
whoami /privGet-ADUser -Filter * -Properties *
Get-ADUser -Server ps-dc.powershell.local
Get-ADUser -Identity labuserObtejer listado de propiedades de los usuarios del Dominio
Get-UserProperty
Get-UserProperty –Properties pwdlastset
Get-ADUser -Filter * -Properties * | select -First 1 | Get-Member -MemberType *Property | select Name
Get-ADUser -Filter * -Properties * | select name,@{expression={[datetime]::fromFileTime($_.pwdlastset)}}Obtener los grupos de un dominio
Get-NetGroup Get-NetGroup *Get-ADGroup -Filter * | select Name Get-ADGroup -Filter 'Name -like "admin"' | select NameGet-ADGroup -Filter * | select Name Get-ADGroup -Filter 'Name -like "admin"' | select Nameadmin*
Obtener los miembros del grupo "Domain Admins"
Obtener los grupos a los que pertenece el usuario "labuser"
Obtener todos los equipos de un dominio
Obtener todos los grupos de un dominio
Obtener todos los grupos locales de una máquina
Obtener los usuarios autenticados en una máquina
Obtener el último usuario autenticado en una máquina
Obtener recursos compartidos en el dominio
Obtener todas las máquinas del dominio donde el usuario autenticado tiene privilegios de local admin
Obtener las sesiones de una máquina
Obtener máquinas donde el Domain Admin se ha autenticado
Obtener las relaciones de confianza del dominio
Obtener la información de los forests
Obtener los dominios de los forests
Obtener las relaciones de confianza en los forests
GPOs (Group Policy Object)
Obtener las GPOs del dominio
Obtener equipos donde un usuario es miembro de un grupo
OU (Organizational Unit)
Obtener OUs de un dominio
Obtener GPO que aplica a una OU
ACLs (Access Control List)
Obtener ACL de un usuario
Obtener ACLs con un path específico
BloodHound
2. Escalada de Privilegios Local
Obtener los servicios que el usuario actual puede modificar
Ejecutar AllChecks
Herramientas para enumerar información de la máquina que permita eleva privilegios
PowerUp
BeRoot
Privesc
3. Movimiento Lateral
Powershell Remoting
Cmdlets útiles
Ejecutar comandos/scripts en equipos
Usa –Credential para indicar el username/password.
Ejecutar scripts de ficheros
Crear sesiones remotas con "estado" (Stateful)
Mimikatz & tokens
Mostrar las credenciales en una máquina local
Mostrar los certificados de una máquina local
Mostrar las credenciales de máquinas remotas
Ejecutar una consola de powershell suplantando al usuario Administrator.
Manipulación de tokens
Listar todos los tokens de una máquina
Comenzar un proceso con el token de un usuario
4. Persistencia
Silver Ticket
Usa el hash del usuario Administrator en la máquina dc.domain.local para solicitar acceso a los recursos compartidos (servicio CIFS)
Golden Ticket
Los golden ticket están firmados con el hash del usuario krbtgt.
Ejecutar mimikatz en el DC como DA para conseguir el hash del usuario krbtgt
Crear un golden ticket
5. Escalada de Privilegios
Kerberoast
Enumerar usuarios
Solicitar un TGS
Comprobar si se ha creado
Exportar todos los tickets
Crackear la contraseña con tgsrepcrack, john o hashcat
AS-REP Roasting
Enumerar usuarios
Enumerar los usuarios con la pre-autenticación deshabilitada
SPN
Enumerar usuarios (PowerView_dev)
Configurar SPN para un usuario
Solicitar un TGS
Comprobar si se ha creado el TGS
Exportar los tickets
Crackear la contraseña con tgsrepcrack, john o hashcat
Delegations
Unconstrained
Es posible solicitar cualquier servicio en cualquier máquina del dominio
Discover domain computers which have unconstrained delegation enabled using PowerView:
Run following command on it to check if any DA token is available:
Constrained
Es posible solicitar servicios específicos en máquinas específicas del dominio
Enumerar usuarios
A través de Kekeo se solicita un TGT
A través de kekeo se usa el TGT para crear un TGS con el servicio CIFS
Inyecta el ticket con mimikatz
También es posible crear el TGS con Rubeus
Se comprueba que el servicio se ha validado correctamente
DNSAdmin
Enumerar los miembros del grupo DNSAdmin
Configurar la DLL usando dnscmd.exe (necesita RSAT DNS)
Usar el módulo de DNS (necesita RSAT DNS)
Reiniciar el servicio DNS
6. MSSQL Servers
Usamos PowerUpSQL
Para enumerar
Comprobar accesibilidad
Obtener información
Database Links
Buscar servidores
La función Openquery() se puede usar para ejecutar peticiones
Ejecutar comandos a través de xp_cmdshell
Last updated
Was this helpful?