# 88tcp/udp - Pentesting Kerberos {{#include ../../banners/hacktricks-training.md}} ## Основна інформація **Kerberos** працює за принципом, де він аутентифікує користувачів, не керуючи безпосередньо їх доступом до ресурсів. Це важливе розрізнення, оскільки воно підкреслює роль протоколу в рамках безпеки. У таких середовищах, як **Active Directory**, **Kerberos** відіграє важливу роль у встановленні особи користувачів, перевіряючи їхні секретні паролі. Цей процес забезпечує підтвердження особи кожного користувача перед тим, як вони взаємодіють з мережевими ресурсами. Однак **Kerberos** не розширює свою функціональність для оцінки або забезпечення дозволів, які має користувач на конкретні ресурси або послуги. Натомість він забезпечує безпечний спосіб аутентифікації користувачів, що є критично важливим першим кроком у процесі безпеки. Після аутентифікації за допомогою **Kerberos** процес прийняття рішень щодо доступу до ресурсів делегується окремим службам у мережі. Ці служби потім відповідають за оцінку прав і дозволів аутентифікованого користувача на основі інформації, наданої **Kerberos** про привілеї користувача. Такий дизайн дозволяє розділити обов'язки між аутентифікацією особи користувачів і управлінням їх правами доступу, що забезпечує більш гнучкий і безпечний підхід до управління ресурсами в розподілених мережах. **Порт за замовчуванням:** 88/tcp/udp ``` PORT STATE SERVICE 88/tcp open kerberos-sec ``` ### **Щоб навчитися зловживати Kerberos, вам слід прочитати пост про** [**Active Directory**](../../windows-hardening/active-directory-methodology/index.html)**.** ## Більше ### Shodan - `port:88 kerberos` ### MS14-068 Уразливість MS14-068 дозволяє зловмиснику підробити токен входу Kerberos легітимного користувача, щоб неправомірно заявити про підвищені привілеї, такі як бути адміністратором домену. Ця підроблена вимога помилково підтверджується контролером домену, що дозволяє несанкціонований доступ до мережевих ресурсів у лісі Active Directory. {{#ref}} https://adsecurity.org/?p=541 {{#endref}} Інші експлойти: [https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS14-068/pykek](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.wiki/en/network-services-pentesting/pentesting-kerberos-88/index.html 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 ``` {{#include ../../banners/hacktricks-training.md}}