* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Consigue el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
**Esta información fue extraída del post:** [**https://www.tarlogic.com/en/blog/how-kerberos-works/**](https://www.tarlogic.com/en/blog/how-kerberos-works/)
El objetivo de esta serie de posts es aclarar cómo funciona Kerberos, más que simplemente presentar los ataques. Esto se debe a que en muchas ocasiones no está claro por qué algunas técnicas funcionan o no. Tener este conocimiento permite saber cuándo utilizar cualquiera de esos ataques en una prueba de penetración.
Por lo tanto, después de un largo viaje de inmersión en la documentación y varios posts sobre el tema, hemos intentado escribir en este post todos los detalles importantes que un auditor debería conocer para entender cómo aprovechar el protocolo Kerberos.
En este primer post solo se discutirá la funcionalidad básica. En los próximos posts se verá cómo realizar los ataques y cómo funcionan los aspectos más complejos, como la delegación.
En primer lugar, Kerberos es un protocolo de autenticación, no de autorización. En otras palabras, permite identificar a cada usuario, que proporciona una contraseña secreta, sin embargo, no valida a qué recursos o servicios puede acceder este usuario.
Kerberos se utiliza en Active Directory. En esta plataforma, Kerberos proporciona información sobre los privilegios de cada usuario, pero es responsabilidad de cada servicio determinar si el usuario tiene acceso a sus recursos.
Kerberos utiliza UDP o TCP como protocolo de transporte, que envía datos en texto claro. Debido a esto, Kerberos es responsable de proporcionar cifrado.
* **Cliente o usuario** que desea acceder al servicio.
* **AP** (Servidor de Aplicaciones) que ofrece el servicio requerido por el usuario.
* **KDC** (Centro de Distribución de Claves), el servicio principal de Kerberos, responsable de emitir los tickets, instalado en el DC (Controlador de Dominio). Es compatible con el **AS** (Servicio de Autenticación), que emite los TGT.
Hay varias estructuras manejadas por Kerberos, como tickets. Muchas de esas estructuras están cifradas o firmadas para evitar que terceros las manipulen. Estas claves son las siguientes:
Las principales estructuras manejadas por Kerberos son los tickets. Estos tickets se entregan a los usuarios para que los utilicen para realizar varias acciones en el reino de Kerberos. Hay 2 tipos:
* El **TGS** (Servicio de Concesión de Tickets) es el ticket que el usuario puede usar para autenticarse contra un servicio. Está cifrado con la clave del servicio.
* El **TGT** (Ticket de Concesión de Tickets) es el ticket presentado al KDC para solicitar TGS. Está cifrado con la clave KDC.
El **PAC** (Certificado de Atributos de Privilegio) es una estructura incluida en casi todos los tickets. Esta estructura contiene los privilegios del usuario y está firmada con la clave KDC.
Es posible que los servicios verifiquen el PAC comunicándose con el KDC, aunque esto no sucede con frecuencia. Sin embargo, la verificación del PAC consiste en verificar solo su firma, sin inspeccionar si los privilegios dentro del PAC son correctos.
Además, aunque no forma parte de Kerberos, pero de NRPC, el AP opcionalmente podría utilizar el mensaje **KERB\_VERIFY\_PAC\_REQUEST** para enviar al KDC la firma de PAC y verificar si es correcta.
En esta sección, se estudiará la secuencia de mensajes para realizar la autenticación, comenzando desde un usuario sin tickets, hasta ser autenticado contra el servicio deseado.
Nota: El timestamp encriptado solo es necesario si el usuario requiere preautenticación, lo cual es común, excepto si se establece la bandera [_DONT\_REQ\_PREAUTH_](https://support.microsoft.com/en-us/help/305144/how-to-use-the-useraccountcontrol-flags-to-manipulate-user-account-pro) en la cuenta de usuario.
Después de recibir la solicitud, el KDC verifica la identidad del usuario descifrando el timestamp. Si el mensaje es correcto, entonces debe responder con un _KRB\_AS\_REP_:
Para finalizar, si todo ha ido bien, el usuario ya tiene un TGS válido para interactuar con el servicio. Para usarlo, el usuario debe enviar al AP un mensaje _KRB\_AP\_REQ_:
Después de eso, si los privilegios del usuario son correctos, este puede acceder al servicio. Si es el caso, lo cual no suele suceder, el AP verificará el PAC contra el KDC. Y también, si se necesita autenticación mutua, responderá al usuario con un mensaje _KRB\_AP\_REP_.
* \[MS-KILE\] – Extensión de Kerberos: [https://msdn.microsoft.com/en-us/library/cc233855.aspx](https://msdn.microsoft.com/en-us/library/cc233855.aspx)
* \[MS-APDS\] – Soporte de protocolo de autenticación de dominio: [https://msdn.microsoft.com/en-us/library/cc223948.aspx](https://msdn.microsoft.com/en-us/library/cc223948.aspx)
* Ataques de Kerberos Mimikatz y Active Directory: [https://adsecurity.org/?p=556](https://adsecurity.org/?p=556)
* Explicado como si tuviera 5 años: Kerberos: [https://www.roguelynn.com/words/explain-like-im-5-kerberos/](https://www.roguelynn.com/words/explain-like-im-5-kerberos/)
* Kerberos y KRBTGT: [https://adsecurity.org/?p=483](https://adsecurity.org/?p=483)
* Mastering Windows Network Forensics and Investigation, 2nd Edition. Autores: S. Anson, S. Bunting, R. Johnson y S. Pearson. Editorial Sibex.
* Active Directory, 5ª edición. Autores: B. Desmond, J. Richards, R. Allen y A.G. Lowe-Norris
* Nombres principales de servicio: [https://msdn.microsoft.com/en-us/library/ms677949(v=vs.85).aspx](https://msdn.microsoft.com/en-us/library/ms677949\(v=vs.85\).aspx)
* Niveles funcionales de Active Directory: [https://technet.microsoft.com/en-us/library/dbf0cdec-d72f-4ba3-bc7a-46410e02abb0](https://technet.microsoft.com/en-us/library/dbf0cdec-d72f-4ba3-bc7a-46410e02abb0)
* OverPass The Hash – Blog de Gentilkiwi: [https://blog.gentilkiwi.com/securite/mimikatz/overpass-the-hash](https://blog.gentilkiwi.com/securite/mimikatz/overpass-the-hash)
* Pass The Ticket – Blog de Gentilkiwi: [https://blog.gentilkiwi.com/securite/mimikatz/pass-the-ticket-kerberos](https://blog.gentilkiwi.com/securite/mimikatz/pass-the-ticket-kerberos)