¿Qué es la autenticación Kerberos y cómo funciona?
¿Qué es la autenticación Kerberos?
Kerberos es un protocolo de autenticación de red que se utiliza ampliamente en redes informáticas para validar las identidades de usuarios y sistemas. Proporciona una forma segura de autenticar usuarios, garantizando que solo las personas autorizadas puedan acceder a los recursos de una red. Kerberos utiliza un servidor de terceros confiable llamado Centro de distribución de claves (KDC) para facilitar el proceso de autenticación. Cuando un usuario intenta acceder a un recurso, envía una solicitud al KDC, que luego verifica su identidad y emite un ticket de concesión de ticket (TGT). El TGT se utiliza para solicitar un ticket de servicio, que otorga acceso a recursos específicos. La autenticación Kerberos utiliza un sistema de tickets cifrados, lo que garantiza que las credenciales del usuario se transmitan de forma segura y no puedan ser manipuladas.
¿Cómo funciona la autenticación Kerberos?
El proceso de autenticación comienza cuando un cliente solicita acceso a un servidor. El cliente envía sus credenciales al KDC, que verifica si el nombre de usuario y la contraseña proporcionados son válidos. Tras la verificación, el KDC genera una clave de sesión conocida como ticket de concesión de tickets (TGT) y la envía al cliente. Luego, el cliente presenta el TGT al KDC junto con una solicitud para un servidor específico. El KDC emite un ticket de servicio para el servidor solicitado, cifrado con la clave de sesión. Finalmente, el cliente presenta el ticket de servicio al servidor, confirmando su identidad y estableciendo una conexión segura.
Los beneficios de la autenticación Kerberos
Algunos de los beneficios de la autenticación Kerberos son los siguientes:
- Las contraseñas nunca están expuestas a escuchas ilegales ya que no se transmiten a través de la red.
- Los usuarios sólo necesitan escribir su contraseña en su estación de trabajo local, evitando que se almacene en servidores remotos.
- Las técnicas de cifrado utilizadas en Kerberos dificultan la tarea de adivinar la contraseña.
- Permite el inicio de sesión único (SSO), lo que reduce la necesidad de que los usuarios recuerden varias contraseñas.
- Los billetes robados son difíciles de reutilizar ya que requieren el autenticador correspondiente.
- Kerberos permite la gestión centralizada de la autenticación, lo que facilita la protección de un pequeño conjunto de máquinas de acceso limitado y la recuperación de compromisos del host.
- La administración de cuentas de usuario también está centralizada, lo que simplifica el proceso de administración.
Los componentes de la autenticación Kerberos
Los componentes principales de la autenticación Kerberos incluyen:
- Authentication Server (AS)
-
El AS es responsable de autenticar la identidad del usuario y proporcionar el Boleto de Otorgamiento de Boleto (TGT) inicial.
- Ticket Granting Server (TGS)
El TGS es responsable de emitir los Boletos de Otorgamiento de Servicios (SGT) utilizados para acceder a servicios específicos.
- Key Distribution Center (KDC)
La KDC actúa como una entidad combinada que incluye tanto a la AS como a la TGS. Almacena las credenciales del usuario y es responsable de la autenticación y la concesión de tickets.
- Client
- Service Server
El servidor de servicio aloja el servicio deseado y valida el SGT presentado por el cliente.
- Tickets
Los tickets son las credenciales cifradas que emite el KDC y que utiliza el cliente para demostrar su identidad al servidor de servicio.
- Encryption and Decryption Keys
Kerberos utiliza técnicas de cifrado de claves simétricas y, por tanto, las claves de cifrado y descifrado desempeñan un papel crucial a la hora de proteger los mensajes intercambiados entre componentes.
- Authentication Protocol
Kerberos emplea un protocolo de autenticación específico para una comunicación segura entre el cliente, AS, TGS y el servidor de servicio. El protocolo incluye varios intercambios de mensajes que involucran solicitudes, autenticadores y respuestas.
El proceso de autenticación Kerberos
Durante el proceso de autenticación, Kerberos guarda un ticket específico para cada sesión en el dispositivo del usuario final. En lugar de una contraseña, un servicio compatible con Kerberos busca este ticket. La autenticación Kerberos ocurre dentro de un ámbito Kerberos, que es un entorno donde un KDC está autorizado para autenticar un servicio, host o usuario.
La autenticación Kerberos comprende varios pasos que involucran diferentes componentes, que incluyen:
Paso 1: El cliente, iniciando la solicitud de un servicio en nombre del usuario.
Paso 2: El servidor, aloja el servicio al que el usuario desea acceder.
Paso 3: El AS (Servidor de Autenticación), responsable de la autenticación del cliente. Si la autenticación es exitosa, el cliente recibe un ticket de otorgamiento de boletos (TGT) o un token de autenticación de usuario, que sirve como prueba de la autenticación exitosa.
Paso 4: El KDC (Centro de distribución de claves) que consta de tres componentes: el AS, el TGS (Servidor de concesión de entradas) y la base de datos Kerberos.
Paso 5: La aplicación TGS, que emite tickets de servicio.
Los diferentes tipos de tickets Kerberos
Los tickets tienen propiedades que dictan su uso y se pueden asignar o modificar cuando se crean. Estas propiedades incluyen ser reenviable, inicial, no válida, posdatable, proxiable y renovable, que se explican a continuación.
- Forwardable
Un ticket reenviable permite enviar un ticket de un host a otro sin necesidad de volver a autenticarse.
- Initial
Un billete inicial se emite directamente y no se basa en un billete que concede el billete.
- Invalid
Un billete no válido tiene una fecha posterior y no se puede utilizar hasta que se valide.
- Postdatable
Un billete posfechado se vuelve válido después de un tiempo específico.
- Proxiable
-
Un billete proxy permite que un servicio realice una operación en nombre del principal.
- Renewable
Los tickets renovables tienen dos tiempos de vencimiento: el vencimiento de la instancia actual y la vida útil máxima del ticket, que suele ser una semana. Los boletos renovables deben renovarse antes del tiempo de vencimiento inicial para continuar su uso. Una vez que se alcanza la vida útil máxima, el boleto caduca y no se puede renovar.
Ataques comunes de autenticación Kerberos
A continuación se muestran algunos de los ataques de autenticación Kerberos más conocidos:
Escaneo de SPN: este ataque implica la búsqueda de servicios solicitando los nombres principales del servicio (SPN) que pertenecen a una clase/tipo de SPN en particular. Los atacantes utilizan esta técnica para recopilar información sobre los servicios disponibles dentro de un entorno de Active Directory (AD) objetivo.
Ticket de Plata: en este ataque, los adversarios falsifican un ticket del Servicio de concesión de tickets (TGS) de Kerberos. Al generar un ticket TGS malicioso, los atacantes pueden obtener acceso no autorizado a servicios específicos dentro del entorno AD sin tener que proporcionar credenciales de usuario válidas.
Golden Ticket: similar al ataque Silver Ticket, el ataque Golden Ticket implica falsificar un ticket de autenticación de Ticket Granting Ticket (TGT). Al crear un TGT malicioso, los adversarios pueden establecer un control total sobre el dominio AD, otorgándose acceso persistente y no autorizado a varios servicios sin la necesidad de credenciales de usuario válidas.
MS14-068 Exploit PAC falsificado: este ataque aprovecha una vulnerabilidad en el protocolo Kerberos presente en los controladores de dominio. Los adversarios aprovechan esta vulnerabilidad para crear un Certificado de atributo de privilegio (PAC) falsificado, lo que les permite elevar sus privilegios dentro del entorno AD y potencialmente obtener acceso no autorizado o realizar acciones maliciosas.
