Repaso CRTP

Conceptos, técnicas y comandos que se recomienda entender antes de presentarse al examen

1. Enumeración

  • Importar script

. .\Powerview.ps1
  • Obtener el dominio

Get-NetDomain
Get-NetDomain -Domain powershell.local
  • Obtener los Controladores de Dominio (DC)

Get-NetDomainController
Get-NetDomainController -Domain powershell.local
  • Obtener usuarios de un dominio

Get-NetUser
Get-NetUser -Domain powershell.local
Get-NetUser –Username labuser
whoami /priv
  • Obtejer 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

  • 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?