88tcp/udp - Pentesting Kerberos

Support HackTricks

Informazioni di base

Kerberos opera su un principio in cui autentica gli utenti senza gestire direttamente il loro accesso alle risorse. Questa è una distinzione importante perché sottolinea il ruolo del protocollo nei framework di sicurezza.

In ambienti come Active Directory, Kerberos è strumentale nell'estabilire l'identità degli utenti convalidando le loro password segrete. Questo processo garantisce che l'identità di ogni utente sia confermata prima che interagiscano con le risorse di rete. Tuttavia, Kerberos non estende la sua funzionalità per valutare o far rispettare i permessi che un utente ha su risorse o servizi specifici. Invece, fornisce un modo sicuro per autenticare gli utenti, che è un passo critico nel processo di sicurezza.

Dopo l'autenticazione da parte di Kerberos, il processo decisionale riguardante l'accesso alle risorse è delegato ai singoli servizi all'interno della rete. Questi servizi sono quindi responsabili della valutazione dei diritti e dei permessi dell'utente autenticato, basandosi sulle informazioni fornite da Kerberos sui privilegi dell'utente. Questo design consente una separazione delle preoccupazioni tra l'autenticazione dell'identità degli utenti e la gestione dei loro diritti di accesso, abilitando un approccio più flessibile e sicuro alla gestione delle risorse nelle reti distribuite.

Porta predefinita: 88/tcp/udp

PORT   STATE SERVICE
88/tcp open  kerberos-sec

Per imparare a sfruttare Kerberos dovresti leggere il post su Active Directory.

Altro

Shodan

  • port:88 kerberos

MS14-068

Il difetto MS14-068 consente a un attaccante di manomettere il token di accesso Kerberos di un utente legittimo per rivendicare falsamente privilegi elevati, come essere un Domain Admin. Questa rivendicazione contraffatta viene erroneamente convalidata dal Domain Controller, consentendo l'accesso non autorizzato alle risorse di rete nell'intera foresta di Active Directory.

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

HackTricks Comandi Automatici

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: |
Kerberos operates on a principle where it authenticates users without directly managing their access to resources. This is an important distinction because it underlines the protocol's role in security frameworks.
In environments like **Active Directory**, Kerberos is instrumental in establishing the identity of users by validating their secret passwords. This process ensures that each user's identity is confirmed before they interact with network resources. However, Kerberos does not extend its functionality to evaluate or enforce the permissions a user has over specific resources or services. Instead, it provides a secure way of authenticating users, which is a critical first step in the security process.

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 clone https://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
Supporta HackTricks

Last updated