88tcp/udp - Pentesting Kerberos
Reading time: 6 minutes
tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Kerberos werk op 'n beginsel waarby dit gebruikers verifieer sonder om hul toegang tot hulpbronne direk te bestuur. Dit is 'n belangrike onderskeid omdat dit die protokol se rol in veiligheidsraamwerke beklemtoon.
In omgewings soos Active Directory, is Kerberos instrumenteel in die vestiging van gebruikersidentiteit deur hul geheime wagwoorde te valideer. Hierdie proses verseker dat elke gebruiker se identiteit bevestig is voordat hulle met netwerkhulpbronne interaksie het. Kerberos strek egter nie sy funksionaliteit uit tot die evalueer of afdwing van die toestemmings wat 'n gebruiker oor spesifieke hulpbronne of dienste het nie. In plaas daarvan bied dit 'n veilige wyse om gebruikers te verifieer, wat 'n kritieke eerste stap in die sekuriteitsproses is.
Na verifikasie deur Kerberos word die besluitnemingsproses oor toegang tot hulpbronne gedelegeer aan individuele dienste binne die netwerk. Hierdie dienste is dan verantwoordelik om die geverifieerde gebruiker se regte en toestemmings te evalueer, gebaseer op die inligting wat deur Kerberos verskaf word oor die gebruiker se voorregte. Hierdie ontwerp maak 'n skeiding van bekommernisse tussen die verifikasie van gebruikersidentiteite en die bestuur van hul toegangsregte moontlik, wat 'n meer buigsame en veilige benadering tot hulpbronbestuur in verspreide netwerke moontlik maak.
Standaardpoort: 88/tcp/udp
PORT STATE SERVICE
88/tcp open kerberos-sec
Om te leer hoe om Kerberos te misbruik moet jy die pos oor Active Directory.
Kerberos-only omgewings: kliëntvoorbereiding en probleemoplossing
Wanneer NTLM op domein-dienste (SMB/WinRM/etc.) gedeaktiveer is, moet jy met Kerberos authentiseer. Algemene struikelblokke en 'n werkende workflow:
- Tydsynchronisasie is verpligtend. As jou gasheerklok met meer as 'n paar minute skeef is, sal jy
KRB_AP_ERR_SKEWsien en alle Kerberos auth sal misluk. Sinkroniseer teen die DC:
# quick one-shot sync (requires sudo)
sudo ntpdate <dc.fqdn> || sudo chronyd -q 'server <dc.fqdn> iburst'
- Genereer 'n geldige krb5.conf vir die teiken realm/domein.
netexec(CME fork) kan een vir jou genereer terwyl jy SMB toets:
# Generate krb5.conf and install it
netexec smb <dc.fqdn> -u <user> -p '<pass>' -k --generate-krb5-file krb5.conf
sudo cp krb5.conf /etc/krb5.conf
- Verkry 'n TGT en verifieer die ccache:
kinit <user>
klist
- Gebruik Kerberos met SMB gereedskap (geen wagwoorde gestuur nie, gebruik jou ccache):
# netexec / CME
netexec smb <dc.fqdn> -k # lists shares, runs modules using Kerberos
# impacket examples also support -k / --no-pass to use the ccache
smbclient --kerberos //<dc.fqdn>/IPC$
- GSSAPI SSH single sign-on (OpenSSH na Windows OpenSSH server):
# Ensure krb5.conf is correct and you have a TGT (kinit)
# Use the FQDN that matches the host SPN. Wrong names cause: "Server not found in Kerberos database"
ssh -o GSSAPIAuthentication=yes <user>@<host.fqdn>
Wenke:
- Maak seker jou
/etc/hostslos die presiese FQDN op waarna jy per SSH/SMB gaan, en dat dit voor enige blote domeininskrywings kom as jy DNS oorbeskryf. SPN-onversoenbaarhede breek GSSAPI. - As NTLM op SMB gedeaktiveer is, kan jy
STATUS_NOT_SUPPORTEDsien by NTLM-pogings; voeg-kby om Kerberos af te dwing.
Meer
Shodan
port:88 kerberos
MS14-068
Die MS14-068-kwesbaarheid stel 'n aanvaller in staat om 'n wettige gebruiker se Kerberos-aanmeldings-token te manipuleer om valslik verhoogde voorregte te beweer, soos om 'n Domain Admin te wees. Hierdie vervalste aanspraak word per fout deur die Domain Controller gevalideer, wat ongemagtigde toegang tot netwerkbronne regoor die Active Directory forest moontlik maak.
Other exploits: https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS14-068/pykek
Verwysings
- NetExec (CME) wiki – Kerberos and krb5.conf generation
- OpenSSH GSSAPIAuthentication
- MIT Kerberos – Using Kerberos on UNIX
- 0xdf – HTB: TheFrizz
HackTricks Outomatiese Opdragte
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
tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks