AS-REQ Roasting
Last updated
Last updated
Esta tecnica consiste en que cuando nosotros hacemos una conexion con el AS-REQ
una primera vez con el nombre de usuario, el AS
quiere una Preautenticacion
teniendole que enviar un Timestamp
de forma cifrada con nuestra clave privada
para que lo verifique el AS
, pues con esta tecnica lo que haremos sera interceptar ese paquete del timestap
que esta cifrado con la clave privada
del usuario y crackearla de forma offline para sacarle la contraseña a dicho usuario.
Lo que vamos hacer primeramente es abrir Wireshark
para ver todas las peticiones a nivel de red, filtrarlo por kerberos
y reiniciaremos la maquina empleado2
, una vez echo esto y estando en la parte de inicio de sesion, le daremos a Otro usuario
, y nos logearemos con el usuario Administrador
como si un administrador estuviera accediendo mediante otro equipo, cosa que suele ser comun ver.
Pondremos las siguientes credenciales:
Le daremos a iniciar sesion con el Administrador
mientras estamos capturando con Wireshark
, una vez que estemos en el escritorio, pararemos de capturar con Wireshark
y veremos todo esto:
Vemos que nos capturo bastante informacion sobre kerberos
y la autenticacion.
Si nos vamos a un AS-REQ
el primero en concreto:
Y vemos sus datos a nivel de red en la parte de abajo, desplegamos un poco la informacion de kerberos
en concreto el cname
que es el que nos interesa para saber sobre que usuario es y vemos lo siguiente:
Vemos que es sobre el usuario Administrador
, si seguimos bajando en los paquetes de datos, vemos que AS
necesita una Preautenticacion
como mencione anteriormente y el siguiente paquete es el paquete cifrado con la clave privada
del usuario en este caso Administrador
:
Si le damos a ese segundo AS-REQ
sera el paquete con el timestamp
cifrada con la clave privada
del Administrador
el cual nos va a interesar obtener.
Nos vamos a ir a la parte de la informacion del paquete donde pone padata-type: ... TIMESTAMP...
y cogeremos el valor donde pone cipher: ...
:
Que esa sera la clave que nos interesa, en mi caso seria esta:
Para copiarla, le daremos click derecho -> Copy
-> Value
.
Vemos que esta cifrado en AES256
, por lo que necesitaremos otra cosa a parte de ese hash
que hemos obtenido, que seria el salt
, esto lo podremos obtener en la siguiente respuesta que le hacer el AS-REP
.
Y si nos vamos a la informacion, veremos lo siguiente:
Ahi estamos viendo el salt
con el que esta cifrado, por lo que copiaremos de la misma forma los valores como hicimos antes y obtendremos algo asi:
Ahora lo que vamos a intentar es crackear
este hash
con este salt
, por lo que en este caso podremos utilizar john
o hashcat
, en mi caso utilizare john
, en la siguiente pagina podremos ver los diferentes formatos que hay para poder crackear
con hashcat
:
URL = Hashcat Wiki
Si nos metemos en la pagina nos interesara el siguiente formato:
Que el ejemplo seria algo asi:
Entonces donde pone $hashcat
seria el nombre de usuario, donde pone $HASHCATDOMAIN.COM
seria el dominio de Windows Server
, todo lo demas seria el hash
de la clave privada
del usuario, pero el salt
creo que no lo soporta en este caso, por eso vamos a utilizar john
ya que es mas sencillo de utilizar tambien.
Pero el hash
de ejemplo de arriba nos sirve para preparar el formato para john
por lo que el archivo del hash
tiene que quedar algo tal que asi:
hash
Lo unico que tenemos que añadir es el $<SALT>
entre el $<DOMINIO>
y el $<HASH>
.
Ahora lo vamos a crackear
utilizando john
de la siguiente forma:
Info:
Y como vemos lo ha conseguido crackear
por lo que sabremos que la contraseña del Administrador
es Passw0rd
.