Qué es
Kerberos es el protocolo de autenticación por defecto en Active Directory. Prueba tu identidad con tickets cifrados, no enviando la contraseña por la red. Cada ataque a Kerberos abusa de una propiedad de este flujo, así que entenderlo es el paso previo a todos.
Cómo funciona
El KDC vive en el Domain Controller y conoce la clave secreta de cada cuenta. El flujo tiene tres fases. Fase AS: el usuario prueba su identidad una vez y recibe un TGT, cifrado con la clave del KDC. Fase TGS: el usuario presenta el TGT y recibe un ticket de servicio, cifrado con la clave de la cuenta de servicio. Fase AP: el usuario presenta ese ticket de servicio y accede. El servicio descifra el ticket, lee la identidad del usuario y decide el acceso por su cuenta. La contraseña no vuelve a viajar por la red: el objetivo pasa a ser el ticket y la clave que lo cifra. Quien roba o falsifica un ticket suplanta al usuario sin conocer la contraseña.
Comandos
Pedir un TGT (fase AS) con Impacket:
getTGT.py <DOMAIN>/<USER>:<PASSWORD> -dc-ip <IP>Ese comando guarda el TGT en un archivo de credenciales en caché. Apunta las herramientas a él:
export KRB5CCNAME=<FILE>Pedir un ticket de servicio (fase TGS) para un SPN, reutilizando el TGT:
getST.py -spn <SPN> -dc-ip <IP> <DOMAIN>/<USER> -k -no-passVer los tickets que tienes en caché:
klistEn Windows, pedir el TGT con Rubeus:
Rubeus.exe asktgt /user:<USER> /password:<PASSWORD> /domain:<DOMAIN> /dc:<HOST>Autenticarte contra un servicio usando Kerberos en vez de la contraseña:
netexec smb <HOST> -u <USER> -p <PASSWORD> -kCómo defenderse
Trata la clave de la cuenta krbtgt como el secreto más crítico del dominio: quien la obtiene falsifica cualquier ticket.