Skip to main content

pass the hash pth attack

 attack synopsis:

1. attacker somehow got the password hashes of one or more users on a computer network. if that compromised account has admin rights on that system then that gives the attacker to access other credentials that are stored on the system. under the sam account database the users password hashes are stored but the file is locked when the system is running so that time it is not possible to access. but operating system still needs that data so they are stored in the memory space of lsass.exe . it can be captured using samdump, pwdump and mimikatz tool and even in offline imaging version of windows. 

C:\windows\system32\config\SAM

2. now using mimikatz tool the attacker leverage compromised users username and password hashes to authenticate other system resources where that user has access to. 

example:

lets say Jsmith is a normal user account in the domain. he clicked on a phishing mail and his account got compromised. now attacker have access on his account. but jsmith may not have any rights to access other resources on the domain. however jsmith has local admin rights on his system. leveraging this attacker can extract all the password ntlm hashes from the system memory. say IT admin or domain admin some day access jsmith computer. so their password hashes are stored already in jsmith's computer system memory. leveraging jsmith admin rights, attacker can grab those hashes and play pass the hash attack. 


the user is a part of local administrator group. not part of any other domain security group. 

in this case if you want to access your domain controller from this users pc, then you will get access denied message. 


now lets see how we can elevate our privileges to access the domain controller. the above command will dump out all the password hashes stored in this system. 


now we need to find out a domain administrator account who's account has all rights. we Tony.WOnder is administrator in our domain environment. so copy his ntlm hash. he may log on to this system to do some work. and his password is stored on the system memory. 


 now you just need to pass the hash of tony wonder. 

once you give enter a new command prompt will be spawned. 


in the spawned command prompt when you type whoami, it is still showing normal user account which is steveholt. but the elevated token is running behind as part of tony wonder account. so if you psexec this time you will now have access domain controller with the account of tony wonder. 


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