Hacking en Active Directory - [CPAD-100]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacking en ACTIVE DIRECTORY
    • ADVERTENCIA
    • Conoce a tu academia
    • Conoce a tu instructor
    • Aprende con nuestro curso
      • ¿Que Significa CPAD-100?
  • Introducción a Directorio Activo – (AD)
    • Fundamentos de AD
    • Componentes importantes de un Active Directory
    • Principales conceptos de un Directorio Activo
      • Diferencias entre GPO y ACL
    • ¿Por qué los atacantes van tras los controladores de dominio?
      • Ransomware en AD
    • Introduccion a Kerberos
      • Capa de transporte
      • Agentes
      • Claves de cifrado
      • Tickets
      • Privilege Attribute Certificate (PAC)
      • Mensajes
    • Proceso de autenticación en Kerberos
      • Kerberos Explicado con Parques y Atracciones
    • ¿Como funciona Kerberos?
    • S4U (Service for User)
    • Usuarios y grupo por defectos en AD
    • Biblia de comandos para el CPAD
  • Fundamentos Ofensivos
    • Introduccion al Curso Profesional de Pentesting para Juniors - [CPPJ]
    • ¿Qué es un Red Team?
      • Assume breach
    • ¿Qué es un Pentesting?
    • Instalacion de Kali Linux
      • Utilizando IP publica para auditorias reales
    • Transferencias de archivos
    • Cyber Kill Chain
    • MITRE
      • Ejemplo teorico
  • Enumeracion Externa
    • Credenciales expuestas
    • La importancia de la enumeracion en un red team
    • Reconocimiento y Recopilacion
    • Activos de informacion publicos
      • DNS records
      • Redes sociales
  • Vectores de ataque fisico
    • Physical Red Team Operations
    • Que es la intrusion fisica
      • Vectores de ataque
    • Rubber Ducky
    • Stuxnet
    • Introduccion a Flipper Zero
      • BadUSB
  • Introduccion Al Hacking Web
    • Tu primer Red Team contra Active Directory
      • Objetivos
      • CyberKillChain en CPAD
    • La importancia del hacking web en un red team contra AD
    • Curso gratuito con los labs de PortSwigger
    • Enumeracion sobre un servidor web desplegado en IIS
    • Inyeccion de comandos desde un formulario web
  • Post-explotacion en windows
    • Fundamentos de la Enumeracion local en un Windows
    • Enumeracion basica desde una WebShell
    • Fundamentos de escalacion de privilegios en Windows
      • ¿Que son altos privilegios en windows?
      • ¿Que son bajos privilegios en windows?
      • Identificando mis privilegios actuales
      • Tokens de acceso en Windows
      • Niveles de integridad en procesos de Windows
    • Privilegios en Windows
    • Abusando de los privilegios SeImpersonatePrivilege SeAssignPrimaryTokenPrivilege
    • Introduccion al Curso Profesional de Pentesting contra Windows - [CPPW]
    • NT AUTHORITY\SYSTEM
    • Reverse Shell en PowerShell Indetectable
      • Introduccion al Curso RedTeam Ops Developer Senior
    • Migracion de WebShell a BurpSuite
    • Migracion de WebShell a Reverse Shell via PowerShell
    • Diferencia entre una WebShell y Reverse Shell
    • Introducción a PowerUp
    • Introducción a WinPEAS
  • Persistencia en Windows Local
    • Introduccion a la post-explotación y persistencia en Windows
    • Creacion de usuarios con net
    • Qué es Mimikatz
      • LSASS
      • Extraccion de credenciales con Mimikatz con binario
      • Extraccion de credenciales con Mimikatz con PowerShell
      • Resolucion de errores con Mimikatz
      • Mimikatz en la actualidad
  • Enumeracion en AD
    • Identificando un Domain Controller (DC) en red
    • ActiveDirectoryRights en el Contexto de Red Team
    • Enumeracion manual con GUI
    • Enumeracion con PowerShell ofensivo
      • Guia de comandos de PowerView.ps1
        • Enumeracion de usuarios
        • Enumeracion de Grupos
        • Enumeracion de Computadores
        • Enumeracion de GPO
        • Enumeracion de ACL
      • Utilizando ADPeas
    • Enumeracion con AD Module DLL
    • Enumeracion con BloodHound
    • Enumeracion con klist
    • Security Identifiers (SIDs)
    • Distinguished Name o DN
  • Vulnerabilidades y ataques en AD
    • Fundamentos de vulnerabilidades en AD
    • Password Spraying
      • La importancia de generar contraseñas personalizadas
      • Kerbrute
    • Relay Attacks
      • ¿Que es NTLM?
      • Utilizando impacket-ntlmrelayx
        • Análisis de impacket-ntlmrelayx
    • Credenciales en descripcion
      • Utilizando CrackMapExec
      • Utilizando BloodHound
    • Kerberoasting
      • Utilizando BloodHound
      • Utilizando Rubeus
      • Utilizando Impacket-GetUserSPNs
      • Utilizando CrackMapExec
      • Utilizando PowerView
    • ASREProastable
      • Utilizando Rubeus
      • Utilizando CrackMapExec
      • Utilizando Impacket-GetNPUsers
      • CVE-2022-33679
    • Unconstrained Delegation
      • TrustedToAuthForDelegation vs TrustedForDelegation
    • Constrained Delegation
      • Usuario
      • Computadora
        • Utilizando Rubeus
    • DnsAdmins
      • Utilizando PowerView.ps1
      • Utilizando NET
      • Cargando una dll maliciosa con dnscmd
      • Generando una DLL maliciosa
    • LAPS Reader
    • (RBCD) Resource-based constrained
    • Abuso de ACL
      • Enumeracion con PowerView
      • Tipos de permisos
        • Tabla de Referencia de Permisos y Derechos en Active Directory
      • Access Control Entry (ACE)
      • WriteDacl sobre Computador
      • GenericAll sobre Grupo
      • GenericAll sobre usuario
      • GenericWrite sobre computador
    • Abuso de GPO
      • ¿Qué es SysVol?
      • Utilizando PowerView
      • Solicitando TGT para el usuario gpowrite.user
      • Utilizando SharpGPOAbuse
      • Forzando la actualizacion de GPO
    • Zerologon - CVE-2020-1472
  • Movimiento lateral
    • Fundamentos de movimiento lateral en AD
    • Impersonation
    • Pass-the-Hash (PtH)
      • Identificando servicios para realizar el PTH
      • Utilizando Evil-WinRm
      • Utilizando impacket-psexec
      • Utilizando RDP
  • Persistencia y post-explotacion en AD
    • Fundamentos de persistencia y la post-explotación en AD
    • DCSync
      • Extracción de Credenciales del Dominio de Active Directory
      • Utilizando CrackMapExec
      • Utilizando Mimikatz
      • Utilizando Impacket-secretsdump
    • Creacion de usuarios en el dominio con net
    • Silver Ticket
      • Service Principal Name (SPN)
      • Silver Ticket para CIFS
    • Golden Ticket
      • Diferencias entre Silver Ticket y Golden Ticket
      • ¿Que es KRBTGT?
      • Variantes del Golden Ticket
        • Golden Ticket tradicional utilizando Mimikatz
        • Golden Ticket Inter-realm TGT
    • Pass The Ticket
      • PTT en Linux
      • PTT en Windows
    • Diamond Ticket
    • Bosques y relaciones de confianza
      • TrustAttributes y TrustType
      • Enumeracion utilizando ADPeas.ps1
      • Enumeracion utilizando nltest
      • Enumeracion utilizando .NET Framework
      • Enumeracion utilizando con PowerView
      • Enumerando con SharpHound
  • Introduccion a la evasion de defensas
    • Fundamentos de evasión de defensas
    • Introduccion a UAC
      • Bypass UAC utilizando FodhelperUACBypass.ps1
      • Bypass utilizando Kerberos y SMBExec
    • Evasión de antivirus
      • Utilizando HoaxShell
    • Introduccion a LOLBAS
    • AMSI para Hackers
    • Utilizando IP publicas y dominios confiables para el almacenamiento de herramientas
    • Codificando tus comandos de PowerShell en base64
      • Transferencia de archivos con base64
    • Política de ejecución de PowerShell
    • Introduccion a Sysinternals
    • Introduccion a AppLocker
    • Apagando defensas basicas
  • Introduccion a ataques modernos en AD
    • Fundamentos de Azure Active Directory
    • DCSync utilizando MSOL
    • Introduccion al Curso de Pentesting Contra Azure - [CPAZ]
  • Introduccion al Blue Team en Active Directory
    • Blue Team y SOC
    • Introduccion al Curso Profesional de Blue Team - [CPBLT]
    • Introduccion a Sysmon
      • Deteccion de comportamiento anomalo con ElasticSearch
  • Muchas Gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página

¿Te fue útil?

  1. Introducción a Directorio Activo – (AD)
  2. Introduccion a Kerberos

Mensajes

AnteriorPrivilege Attribute Certificate (PAC)SiguienteProceso de autenticación en Kerberos

Última actualización hace 1 año

¿Te fue útil?

El protocolo Kerberos se basa en un intercambio estructurado y seguro de mensajes para facilitar la autenticación y autorización de usuarios en un entorno de red. Estos mensajes son fundamentales para el proceso de autenticación, ya que permiten la comunicación entre los usuarios, el Key Distribution Center (KDC), y los servicios o aplicaciones a los que los usuarios desean acceder. A continuación, se detallan los tipos de mensajes más relevantes en el protocolo Kerberos, resaltando su función en el proceso de autenticación:

  1. KRB_AS_REQ (Kerberos Authentication Service Request): Este mensaje es el punto de partida en la interacción Kerberos, enviado por el usuario o cliente al KDC para solicitar un Ticket Granting Ticket (TGT). El mensaje incluye la identidad del usuario y, opcionalmente, información sobre el tipo de cifrado preferido. Es el primer paso para establecer la identidad del usuario dentro del marco de Kerberos.

  2. KRB_AS_REP (Kerberos Authentication Service Reply): Es la respuesta del KDC al mensaje KRB_AS_REQ. Si la autenticación del usuario es exitosa, el KDC envía un TGT cifrado que solo el usuario puede descifrar, utilizando su clave secreta. Este mensaje confirma la validez del usuario ante el KDC y le permite continuar con solicitudes de acceso a servicios específicos.

  3. KRB_TGS_REQ (Ticket Granting Service Request): Una vez que el usuario posee un TGT válido, puede enviar un KRB_TGS_REQ al KDC para solicitar un Ticket Granting Service (TGS) para acceder a un servicio específico. Este mensaje incluye el TGT del usuario y la especificación del servicio que se desea utilizar, demostrando que el usuario ha sido autenticado previamente.

  4. KRB_TGS_REP (Ticket Granting Service Reply): En respuesta a un KRB_TGS_REQ, el KDC envía un KRB_TGS_REP que contiene el TGS solicitado, cifrado de tal manera que solo el servicio objetivo pueda descifrarlo. Este TGS permite al usuario autenticarse directamente ante el servidor de aplicación sin necesidad de revelar sus credenciales nuevamente.

  5. KRB_AP_REQ (Application Request): Este mensaje es utilizado por el usuario para autenticarse ante el servicio deseado, demostrando la posesión de un TGS válido para ese servicio. Es la clave para establecer una sesión segura entre el usuario y el servicio, permitiendo el acceso a los recursos solicitados.

  6. KRB_AP_REP (Application Reply): (Opcional) Si el servicio requiere una autenticación mutua, puede responder con un KRB_AP_REP, confirmando su autenticidad ante el usuario. Este paso asegura al usuario que el servicio es legítimo y refuerza la seguridad de la comunicación bilateral.

  7. KRB_ERROR: Este mensaje es utilizado por cualquier agente dentro del protocolo Kerberos (el KDC, el usuario, o el servicio) para notificar sobre situaciones de error que puedan surgir durante el proceso de autenticación o autorización. Los errores pueden incluir problemas como tickets expirados, fallos en la autenticación, o solicitudes malformadas.

Cada uno de estos mensajes cumple una función específica dentro del proceso de autenticación y autorización de Kerberos, asegurando una comunicación segura y eficiente entre todos los agentes involucrados. La estructura y secuencia de estos mensajes permiten que Kerberos ofrezca un mecanismo de autenticación robusto, minimizando el riesgo de exposición de credenciales y mejorando la seguridad general del entorno de red.

Aunque el protocolo Kerberos se centra en la autenticación y el manejo de tickets para acceder a servicios de manera segura, existen mecanismos complementarios en otros protocolos que pueden interactuar con Kerberos para fortalecer aún más la seguridad en la autenticación y la autorización. Un ejemplo de esto es el uso del mensaje KERB_VERIFY_PAC_REQUEST en el contexto del Name Resolution Protocol for Cloud (NRPC), que no es parte del conjunto de protocolos de Kerberos per se, pero muestra cómo sistemas externos pueden diseñarse para interactuar con Kerberos y añadir capas adicionales de validación.

El mensaje KERB_VERIFY_PAC_REQUEST permite que un Application Server (AP) envíe la firma del Privilege Attribute Certificate (PAC) al Key Distribution Center (KDC) para su verificación. Aunque la verificación del PAC en Kerberos generalmente se limita a asegurar que la firma sea válida y que el PAC no haya sido alterado (sin necesariamente validar la exactitud de los privilegios que contiene), el uso de KERB_VERIFY_PAC_REQUEST ofrece una opción para que los servicios validen explícitamente la firma del PAC con el KDC. Esto puede ser particularmente útil en escenarios donde se requiere una seguridad adicional para confirmar que los privilegios del usuario no solo son legítimos sino también actuales y correctamente asignados por una autoridad confiable.

Este mecanismo de verificación opcional con el KDC ayuda a asegurar que la información de privilegios del usuario, como se describe en el PAC, no solo proviene de una fuente auténtica sino que también es precisa y válida en el momento de la solicitud. Implementar una verificación de este tipo puede ser especialmente importante en entornos de alta seguridad o donde los cambios en los privilegios de usuario son frecuentes y críticos para la operación segura del sistema.

La integración de mecanismos de verificación como KERB_VERIFY_PAC_REQUEST en sistemas que no son inherentemente parte de Kerberos demuestra la flexibilidad y la extensibilidad del protocolo Kerberos en diversos entornos de red y sistemas de autenticación. Permite una mejor interoperabilidad entre sistemas y refuerza las prácticas de seguridad al proporcionar medios adicionales para la validación de credenciales y privilegios de usuario.

A continuación se muestra un resumen de los mensajes siguiendo la secuencia de autenticación: