ASREProasting

Teoria

Como se crea: (Se le deshabilita la preauthenticacion de Kerberos)

Diagrama:

Envio de identificacion del usuario:

NOTA: Se realiza esta operacion y desde el DC escuchamos los paquetes y sigamos los pasos segun el diagrama para analizar las peticiones:

1: AS-REQ

No hay data en el envio del PAC debido a que no estamos enviando password

2: AS-REP

Aun sin el envio de la password nos devuelve el ticket debido a la pre-auth deshabilitada:

El hash que podemos obtener de Rubeus, impacket y otras herramientas son de la peticion AS-REP recibida del KDC:

lo que recibimos en la peticion AS-REP es igual:

El hash a crackear es el AS-REP.

Maneras de Obtener hashes de usuarios ASREProastables

Powerview-dev/RSAT y ASREPRoast.ps1:

1: Validamos los usuarios ASREPROAST:

ASREPRoast.ps1

PowerView-dev

2: Obtenemos el hash del usuario (ASREPRoast.ps1)

Rubeus

Impacket

Seteando usuario AS-REP

Forzar la deshabilitacion de Kerberos Preauth: (Powerview-dev)

NOTA: Esto es interesante porque si tienes permisos de escritura sobre un usuario y nada mas, un metodo para que el usuario no levante sospechas de obtener algo de valor del usuario seria volviendolo un usuario ASREProastable para asi obtener su hash y crackearlo.

Deteccion

Eventos:

Security Event ID 4769 - Se solicitó un ticket Kerberos

Dado que 4769 se registra con mucha frecuencia en un DC. Es posible que deseemos filtrar los resultados en función de la siguiente información de los registros:

  • El nombre del servicio no debe ser krbtgt

  • El nombre del servicio no termina con $ (para filtrar las cuentas de máquinas utilizadas para los servicios)

  • El nombre de la cuenta no debe ser máquina@dominio (para filtrar las solicitudes de las máquinas)

  • El código de falla es '0x0' (para filtrar las fallas, 0x0 es un éxito)

  • Lo más importante es que el tipo de cifrado del ticket es 0x17

Una sola línea de PowerShell para pruebas rápidas:

Mitigacion

Last updated