💻
My Personal Hacking Path
  • 👓Wellcome
    • My Personal Hacking Path
      • Whoami
  • 📚Mi Metodología de Pentesting
    • Tipos de evaluaciones
      • El día a día en pentesting
    • Metodología Propia
      • OWASP
      • OSSTMM
      • PTES
      • CEH Hacking Metodology (CHM)
      • Cyber Kill Chain
      • MITRE Att&ck
    • Fase 0 - Pre Evalaución
    • Fase 1 - Reconocimiento
      • Web / Host
      • SubDominios
      • Descubrimiento de correos electrónicos
      • Escaneo de Puertos
      • Credenciales y brechas de seguridad
      • ¿Sin Ideas?
    • Fase 2 - Explotación
      • Shells
        • Diferencia entre una WebShell y Reverse Shell
      • Payload
      • Network Penetration Services
        • 20|21 - FTP
        • 22 - SSH
        • 139|445- SMB
        • 80|443 - HTTP/HTTPS
    • Fase 3 - Post Explotación
      • Enumeración
      • Linux
        • Enumeración
        • Privilege Escalation
      • Windows
        • Revershell
        • Windows Enum
        • Privilege Escalation
    • Fase 4 - Reporting
      • CVSS
        • v4.0
      • Toma de notas
  • 👾Malware
    • Malware DevOps
    • Arquitectura de Windows
      • Windows API
      • Procesos de Windows
      • Estructuras no documentadas
    • PE
      • DLL
    • Almacenamiento del Payload
      • .data & .rdata
      • .text
      • .rsrc
    • Cifrado de Payload
      • XOR
      • RC4
      • AES
    • Ofuscación de Payload
      • IPv4/IPv6Fuscation
      • MACFucscation
      • UUIDFuscation
    • Process Injectión
      • DLL Injection
      • Shellcode Injection
      • APC Injection
  • 🌐Web-Pentesting
    • Metodología para Pentesting Web
    • Footprinting
      • Identificación Tecnologías web
        • WordPress
        • Joomla
        • Drupal
        • Magento
      • Fuzzing
      • Validación de los certificados
    • Vulnerabilidades comunes
      • File Upload
      • SQL Injection
      • Cross-site scripting
      • XXE Injection
      • LFI - Local File Inclusion
        • Log Poisoning
      • RFI - Remote File Inclusión
      • CSRF - Cross-Site Request Forgery
      • SSRF - Server-Side Request Forgery
      • SSTI - Server-Side Template Injection
      • CSTI - Client-Side Template Injection
      • Padding Oracle Attack
      • NoSQL Injection
      • LDAP Injection
    • Laboratorios
  • ☁️AWS Pentesting
    • Introducción a Amazon Web Services AWS
    • Acceso Inicial
    • IAM
      • Políticas de IAM
      • Enumeraciones
      • Privesc-Paths
        • Permisos de IAM
        • Permisos sobre políticas
        • AssumeRolePolicy Update
        • IAM:PassRole*
          • PassExistingRoleToCloudFormation
    • S3
      • Enumeración
      • S3_public
      • OSINT
    • Lambda
      • Enum Lambda
      • Enum API Gateway
      • Privesc-Paths
        • RCE sobre Lambda
        • PassExistingRoleToNewLambdaThenInvoke
        • PassRoleToNewLambdaThenTrigger
        • EditExistingLambdaFunctionWithRole
    • EC2
      • Enumeración
      • Privesc-Paths
        • EC2_SSRF
        • CreateEC2WhithExistingIP
        • PassExistingRoleToNewGlueDevEndpoint
        • ECS_takeover
    • VPC
      • Enumeración
      • PivotingInTheCloud
    • Bases de Datos
      • RDS
        • Enumeración
      • DynamoDB
        • Enumeración
    • ECS
      • Enum ECR
      • Enum ECS
      • Enum EKS
    • AWS Secrets Manager
      • Enumeración
    • Análisis de vulnerabilidades Automatizado
    • Blue Team AWS
      • CloudTrail
      • CloudWatch
      • GuardDuty
      • AWS Inspector
      • AWS Shield
      • Web Application Firewall
    • Notas
      • Terraform
  • 🔫Red_Team
    • Introducción a Red Team
      • Assume breach
    • ¿Qué es MITRE ATT&CK?
      • Guia de uso de Invoke-AtomicRedTeam
    • C2 Comando y control
      • Sliver C2
        • Instalación
        • Beacons y Sesiones
        • Perfiles
        • mTLS y WiewGuard
        • HTTP / HTTPS
        • DNS
        • Stagers: Basics
        • Stagers: Proccess Injection
        • Basics de Implates
        • Ejecución de Assembly
        • Sideload
        • SpawnDLL
        • Sliver Extensions
  • 💾Active Directory
    • Teoria
      • Componentes Físicos
      • Componentes Lógicos
      • GPO VS ACL
      • Kerberos
        • Funcionamiento de Kerberos
      • Usuarios por defecto
    • Enumeraciones
      • ¿Por qué enumerar?
      • Enumeración manual
      • Enumeración con PowerView
    • Ataques en AD
      • Mimikats
        • Comandos
      • Password Spraying
      • LLMNR Poisoning
      • Relay Attacks
        • NTLM
      • Kerberoasting
    • Tools
      • AuxRecon
      • Powershell
      • PowerView.ps1
      • ADPeas
      • Mimikatz
        • Comandos
    • AD Lab
  • 🌩️Azure Coud Pentesting
    • Introducción a Azure y Office 365
    • Introducción a Microsoft Indentity Services
    • Enumeración
    • Azure Files
      • Encontrar Fuga de Datos
    • Microsoft Graph
    • Notas
  • 📱Mobile Pentesting
    • Análisis de Aplicaciones Móviles en MobSF
    • ¿Cómo interceptar tráfico de una aplicación Flutter Android con Burp?
  • 📶Wireless
    • Terminología
    • Tipos de Wireless Networks
    • Formas de Autenticación
    • Cifrados
      • WEP
      • WPA
      • WPA2
      • WPA3
    • Ataques
  • 😎Extras
    • Docker
      • Port Forward y volúmenes
      • Docker Compose
      • Container Breakouts
    • Comandos Utiles
    • Fliper Zero
    • Páginas útiles
  • Kali Set Up
Con tecnología de GitBook
En esta página
  • ¿Qúe es Kerberos?
  • Elementos de kerberos
  1. Active Directory
  2. Teoria

Kerberos

AnteriorGPO VS ACLSiguienteFuncionamiento de Kerberos

Última actualización hace 1 año

¿Qúe es Kerberos?

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, pero no valida a qué recursos o servicios puede acceder dicho usuario.

Elementos de kerberos

Capa de transporte

Kerberos utiliza UDP o TCP como protocolo de transporte, que envía datos en texto claro. Debido a esto Kerberos es responsable de proporcionar encriptación. Los puertos utilizados por Kerberos son UDP/88 y TCP/88, que deben escucharse en el KDC (se explica en la siguiente sección).

Agentes

Varios agentes trabajan juntos para proporcionar autenticación en Kerberos. Estos son los siguientes:

  • Client or user who wants to access to the service.

  • AP (Application Server) which offers the service required by the user.

  • KDC (Key Distribution Center), the main service of Kerberos, responsible of issuing the tickets, installed on the DC (Domain Controller). It is supported by the AS (Authentication Service), which issues the TGTs.

Encryption keys

Varias estructuras manejadas por Kerberos, como los tickets, se transmiten cifradas o firmadas. Esto evita que sean manipuladas por terceros. Las claves de cifrado utilizados por Kerberos, en Active Directory, son las siguientes:

  • Clave del KDC o krbtgt: clave derivada del hash NTLM de la cuenta .

  • Clave de usuario: clave derivada del hash NTLM del propio usuario.

  • Clave de servicio: clave derivada del hash NTLM del propietario del servicio, que puede ser una cuenta de usuario o del servidor.

  • Clave de sesión: clave negociada por el cliente y el KDC.

  • Clave de sesión de servicio: clave negociada para utilizar entre el cliente y el AP.

Tickets

Kerberos maneja unas estructuras llamadas “Tickets”, que son entregados a los usuarios autenticados para que estos puedan realizar ciertas acciones dentro del dominio de Kerberos. Se distinguen 2 tipos:

  • El TGS (Ticket Granting Service) es el ticket que se presenta ante un servicio para poder acceder a sus recursos. Se cifra con la clave del servicio correspondiente.

  • El TGT (Ticket Granting Ticket) es el ticket que se presenta ante el KDC para obtener los TGS. Se cifra con la clave del KDC.

PAC

El PAC (Privilege Attribute Certificate) es una estructura incluida en la mayoría los tickets. Esta estructura contiene los privilegios del usuario y está firmada con la clave del KDC.

Es posible para los servicios verificar el PAC comunicándose con el KDC, aunque esto no es común. No obstante, la verificación del PAC solo consiste en comprobar su firma, sin comprobar si los privilegios son correctos.

Por otra parte, un cliente puede evitar que se incluya el PAC especificándolo en el campo KERB-PA-PAC-REQUEST de la petición del ticket.

Mensajes

El protocolo Kerberos permite la comunicación de los diferentes agentes a través de diferentes tipos de mensajes. A continuación se enumeran los más interesantes:

  • KRB_AS_REQ: Utilizado por el usuario para solicitar el TGT al KDC.

  • KRB_AS_REP: Respuesta del KDC para enviar el TGT al usuario.

  • KRB_TGS_REQ: Utilizado por el usuario para solicitar el TGS al KDC, utilizando el TGT.

  • KRB_TGS_REP: Respuesta del KDC para enviar el TGS solicitado al usuario.

  • KRB_AP_REQ: Utilizado por el usuario para identificarse contra el servicio deseado, utilizando el TGS del propio servicio.

  • KRB_AP_REP: (Opcional) Utilizado por el servicio para autenticarse frente al usuario.

  • KRB_ERROR: Utilizado por los diferentes agentes para notificar situaciones de error.

Además, aunque no es parte de Kerberos, sino de NRPC, el AP puede opcionalmente utilizar el mensaje KERB_VERIFY_PAC_REQUEST para enviar la firma del PAC al KDC, y verificar si ésta es correcta.

💾
krbtgt
Kerberos (I): ¿Cómo funciona Kerberos? - TeoríaTarlogic Security
Kerberos AuthenticationHackTricks
Logo
Logo