Skip to main content

kerberos golden ticket attack | how it works | dcsync | secretsdump.py

https://www.youtube.com/watch?v=o98_eRt777Y&list=PL3B8L-z5QU-Z0bWmjwgUSLGTzm1k_kVZo&index=3

assuming you have already compromised the domain and AD is in your control. this attack is mainly done for maintaining persistency. if they get to know this and change the administrator account password, they cannot prevent this attack.

 

in every AD there is an account called krbtgt. through this account is disabled, but the system use this account's password hash to encrypt data that are send by kerberos protocol. if we get the ntlm password hash of this account, then we can create tickets using mimikatz, which is called golden ticket to impersonate anyone in the domain. 

so now we need to get the ntlm hash of krbtgt account. 


first go to properties of scrm.local

security tab> advanced

here you can see that Tom Star user has replicating directory changes access. when any user has this permission then he/she can perform dcsync attack. it allows them to impersonate domain controller and synchronize password hashes. it basically tells other dc that hey we are same. in order to walk together i need your password hashes. 

 


scrm.local is the domain name. here we already configured the local dns server to point to that domain so that we can use domain name here. 

192.168.0.79 is the domain controller ip. 

now we get the hash of krbtgt account. 


 

sid: sid can be any domain account sid. as you have able to compromise tstar user account so we are assuming that you have that user sid. btw here we have given scrm domain administrator accounts sid. 

/user:Administrator means we want to make ticket of Administrator user account as we want to impersonate this account.

/krbtgt hash that we have captured earlier using tstar account. 

/ptt --> if you dont give this then it will just create the ticket and save it on a file. but when you give this then it will associates the ticket with the logon session. you can check with klist windows command. 


we are performing this attack from a non-domain machine. 


now lets mount the domain controller share. this would not have been possible if it is done by the normal user (it will ask for password for the username), but as we have administrator token, so we can. you can see that the share mount went successfully.

 

 

 

Avi

Comments

Popular posts from this blog

Install Nessus from docker

The below two commands you need to run first one by one:  docker run -itd --name=ramisec_nessus -p 8834:8834 ramisec/nessus docker exec -it ramisec_nessus /bin/bash /nessus/update.sh Username: admin And you need to change the password: #Enter the command line of the docker container docker exec -it ramisec_nessus bash #Execute the following commands in sequence # Enter this directory cd /opt/nessus/sbin # List logged in users ./nessuscli lsuser # Modify the password of the specified user (take admin as an example) ./nessuscli chpasswd admin After access to the nessus, make sure you turn off the automatic updates otherwise crack will not work after some time. Before any scan you need to run the update.sh command (shown above) to have the latest plugins. Now everytime your system reboots, your docker instance will be shutdown. You need to up it again manually. Here are the commands.  1. docker ps -a    Now note down the container id. 2. docker start <container id> C

net command cheat sheet

  To see what users present in the system: net user To see local groups in the system: net localgroup To see domain groups. This should be run on a domain controller: net group To see the details of a user along with his/her group membership: net user mahim To see who are the members of a particular group (local machine): net localgroup "administrators"    (These are not case sensitive. You can use administrators or Administrators. Both will give you same result. To see who are the members of a particular group (domain machine): net group "domain admins" Create a local user: net user localuser1 MyP@ssw0rd /add Create a domain user: net user domainuser1 MyP@ssw0rd /add /domain Add the local user to local admin group: net localgroup Administrators localuser1 /add Add the user to domain admin group: net group "Domain Admins" domainuser1 /add /domain Avi