miércoles, 24 de julio de 2019

Resumiendo Kerberos


¿Qué es Kerberos?

Informáticamente hablando Kerberos es un protocolo de autenticación cliente-servidor, y quizás su exponente más famoso sea su uso por parte del Directorio Activo de Windows.

Es decir, su funcionamiento gira alrededor de un servidor que autentica al usuario, comprueba y autoriza a ponerse en contacto con los diferentes servidores y equipos cliente, con la intención de hacer uso de los servicios que existen en la red. Pero, y esto es crucial, NO AUTORIZA EL USO DE LOS RECURSOS, eso lo hacen otros protocolos.

En definitiva, Kerberos se utiliza para autenticar usuarios dentro un dominio, con dos intenciones:

1.- Validarse dentro de un dominio.

Esto permitirá al usuario obtener un ticket TGT (Ticket Granting Ticket), que le permitirá moverse por los recursos del dominio y solicitar a posteriori tickets TGS para el servicio al que se quiera acceder. Para lo cual, se deben seguir los siguientes pasos:

1.1.- Petición de autenticación entre el usuario y el controlador de dominio.
 


               Ataques que pueden llevarse a cabo en este punto: Overpass-the-Hash

1.2.- Respuesta del controlador de dominio siempre y cuando la autenticación sea SATISFACTORIA.

NOTA: Esto se determina por parte del controlador de dominio descifrando el timestamp con la clave del usuario que almacena el propio controlador




Ataques que pueden llevarse a cabo en este punto: Golden Ticket

2.- Validarse contra un servicio/recurso interno del dominio.

Esto permitirá al usuario conectarse con un recurso/servicio existente dentro del dominio. Para ello se necesita obtener un ticket TGS (Ticket Granting Service), que le permitirá acceder al recurso solicitado. Para lo cual, se deben seguir los siguientes pasos:

2.1.- Solicitud del ticket TGS al controlador de dominio


Ataques que pueden llevarse a cabo en este punto: Golden Ticket y Pass-the-Ticket
 
2.2.- Respuesta del controlador de dominio siempre y cuando el ticket TGT enviado sea correcto.


2.3.- Entrega del ticket TGS al servidor que comparte el recurso/servicio



 
A partir de aquí ya se podría acceder al recurso/servicio, eso sí, el servidor de aplicaciones ha debido validar los permisos del usuario.

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.