88tcp/udp - Pentesting Kerberos

Support HackTricks

Podstawowe informacje

Kerberos działa na zasadzie, w której uwierzytelnia użytkowników bez bezpośredniego zarządzania ich dostępem do zasobów. To ważne rozróżnienie, ponieważ podkreśla rolę protokołu w ramach bezpieczeństwa.

W środowiskach takich jak Active Directory, Kerberos odgrywa kluczową rolę w ustalaniu tożsamości użytkowników poprzez weryfikację ich tajnych haseł. Proces ten zapewnia, że tożsamość każdego użytkownika jest potwierdzana przed interakcją z zasobami sieciowymi. Jednak Kerberos nie rozszerza swojej funkcjonalności na ocenę lub egzekwowanie uprawnień, jakie użytkownik ma do konkretnych zasobów lub usług. Zamiast tego zapewnia bezpieczny sposób uwierzytelniania użytkowników, co jest kluczowym pierwszym krokiem w procesie bezpieczeństwa.

Po uwierzytelnieniu przez Kerberos, proces podejmowania decyzji dotyczących dostępu do zasobów jest delegowany do poszczególnych usług w sieci. Usługi te są następnie odpowiedzialne za ocenę praw i uprawnień uwierzytelnionego użytkownika, na podstawie informacji dostarczonych przez Kerberos o uprawnieniach użytkownika. Taki projekt pozwala na rozdzielenie zadań między uwierzytelnianiem tożsamości użytkowników a zarządzaniem ich prawami dostępu, co umożliwia bardziej elastyczne i bezpieczne podejście do zarządzania zasobami w rozproszonych sieciach.

Domyślny port: 88/tcp/udp

PORT   STATE SERVICE
88/tcp open  kerberos-sec

Aby nauczyć się, jak nadużywać Kerberos, powinieneś przeczytać post o Active Directory.

Więcej

Shodan

  • port:88 kerberos

MS14-068

Wada MS14-068 pozwala atakującemu na manipulację tokenem logowania Kerberos legalnego użytkownika, aby fałszywie twierdzić o podwyższonych uprawnieniach, takich jak bycie administratorem domeny. To fałszywe roszczenie jest błędnie weryfikowane przez kontroler domeny, co umożliwia nieautoryzowany dostęp do zasobów sieciowych w całym lesie Active Directory.

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

HackTricks Automatyczne Komendy

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
Wsparcie HackTricks

Last updated