88tcp/udp - Pentesting Kerberos

Support HackTricks

Basic Information

Kerberos працює за принципом, де він аутентифікує користувачів, не керуючи безпосередньо їх доступом до ресурсів. Це важливе розрізнення, оскільки воно підкреслює роль протоколу в рамках безпеки.

У таких середовищах, як Active Directory, Kerberos відіграє важливу роль у встановленні особи користувачів, перевіряючи їхні секретні паролі. Цей процес забезпечує підтвердження особи кожного користувача перед тим, як вони взаємодіють з мережевими ресурсами. Однак Kerberos не розширює свою функціональність для оцінки або забезпечення прав доступу, які має користувач до конкретних ресурсів або послуг. Натомість він забезпечує безпечний спосіб аутентифікації користувачів, що є критично важливим першим кроком у процесі безпеки.

Після аутентифікації за допомогою Kerberos процес прийняття рішень щодо доступу до ресурсів делегується окремим службам у мережі. Ці служби потім відповідають за оцінку прав і дозволів аутентифікованого користувача на основі інформації, наданої Kerberos про привілеї користувача. Такий дизайн дозволяє розділити обов'язки між аутентифікацією особи користувачів і управлінням їх правами доступу, що забезпечує більш гнучкий і безпечний підхід до управління ресурсами в розподілених мережах.

Default Port: 88/tcp/udp

PORT   STATE SERVICE
88/tcp open  kerberos-sec

Щоб навчитися зловживати Kerberos, вам слід прочитати пост про Active Directory.

Більше

Shodan

  • port:88 kerberos

MS14-068

Уразливість MS14-068 дозволяє зловмиснику підробити токен входу Kerberos легітимного користувача, щоб неправомірно заявити про підвищені привілеї, такі як бути адміністратором домену. Ця підроблена вимога помилково підтверджується контролером домену, що дозволяє несанкціонований доступ до мережевих ресурсів у лісі Active Directory.

Інші експлойти: https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS14-068/pykek

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: |
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
Підтримайте HackTricks

Last updated