hacktricks/network-services-pentesting/pentesting-kerberos-88/README.md
2023-06-06 18:56:34 +00:00

6 KiB

88tcp/udp - Pentesting Kerberos

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

Informações Básicas

Primeiramente, o Kerberos é um protocolo de autenticação, não de autorização. Em outras palavras, ele permite identificar cada usuário, que fornece uma senha secreta, no entanto, ele não valida a quais recursos ou serviços esse usuário pode acessar.
O Kerberos é usado no Active Directory. Nessa plataforma, o Kerberos fornece informações sobre os privilégios de cada usuário, mas é responsabilidade de cada serviço determinar se o usuário tem acesso aos seus recursos.

Porta padrão: 88/tcp/udp

PORT   STATE SERVICE
88/tcp open  kerberos-sec

Para aprender a abusar do Kerberos, você deve ler o post sobre Active Directory.

Mais

Shodan

  • port:88 kerberos

MS14-068

Simplificando, a vulnerabilidade permite que um invasor modifique um token de logon de usuário de domínio existente e válido (Ticket Granting Ticket do Kerberos, TGT) adicionando a falsa declaração de que o usuário é um membro do Domain Admins (ou outro grupo sensível) e o Controlador de Domínio (DC) validará essa reivindicação (falsa), permitindo acesso impróprio do invasor a qualquer recurso de domínio (na floresta AD) na rede.

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

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

Comandos Automáticos do 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 🎥