hacktricks/network-services-pentesting/pentesting-kerberos-88
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00
..
harvesting-tickets-from-linux.md f 2023-06-05 20:33:24 +02:00
harvesting-tickets-from-windows.md f 2023-06-05 20:33:24 +02:00
README.md f 2023-06-05 20:33:24 +02:00

88tcp/udp - Pentesting Kerberos

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Información básica

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.

Puerto predeterminado: 88/tcp/udp

PORT   STATE SERVICE
88/tcp open  kerberos-sec

Para aprender cómo abusar de Kerberos, debes leer el post sobre Active Directory.

Más

Shodan

  • port:88 kerberos

MS14-068

En términos simples, la vulnerabilidad permite a un atacante modificar un token de inicio de sesión de usuario de dominio existente y válido (Ticket Granting Ticket de Kerberos, TGT) agregando la falsa afirmación de que el usuario es miembro de Domain Admins (u otro grupo sensible) y el controlador de dominio (DC) validará esa afirmación (falsa) permitiendo al atacante acceso indebido a cualquier recurso de dominio (en el bosque de AD) en la red.

{% embed url="https://adsecurity.org/?p=541" %}

Otros exploits: https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS14-068/pykek

Comandos Automáticos de HackTricks

Protocol_Name: Kerberos    #Protocol Abbreviation if there is one.
Port_Number:  88   #Comma separated if there is more than one.
Protocol_Description: AD Domain Authentication         #Protocol Abbreviation Spelled out

Entry_1:
  Name: Notes
  Description: Notes for Kerberos
  Note: |
    Firstly, Kerberos is an authentication protocol, not authorization. In other words, it allows to identify each user, who provides a secret password, however, it does not validates to which resources or services can this user access.
    Kerberos is used in Active Directory. In this platform, Kerberos provides information about the privileges of each user, but it is the responsability of each service to determine if the user has access to its resources.

    https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88

Entry_2:
  Name: Pre-Creds
  Description: Brute Force to get Usernames
  Command: nmap -p 88 --script=krb5-enum-users --script-args krb5-enum-users.realm="{Domain_Name}",userdb={Big_Userlist} {IP}

Entry_3:
  Name: With Usernames
  Description: Brute Force with Usernames and Passwords
  Note: consider git clonehttps://github.com/ropnop/kerbrute.git ./kerbrute -h

Entry_4:
  Name: With Creds
  Description: Attempt to get a list of user service principal names
  Command: GetUserSPNs.py -request -dc-ip {IP} active.htb/svc_tgs
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥