CTF: TryHackMe RootMe Çözümü

Merhaba, bu yazıda Tryhackme’de bulunan RootMe makinesinin çözümünü inceleyeceğiz. Openvpn bağlantısı sağlandıktan sonra Tryhackme’de bulunan makine deploy edilir ve makinenin ip adresi öğrenilir. Bu çözümde kullandığım ip adresi 10.10.71.92 olarak belirlendi. Artık bilgi toplama aşamasına geçilebilir.

 

nmap -A -T4 10.10.71.92 ile nmap taraması yapıldığında 22 ve 80 portunun açık olduğu görülüyor. Apache http sunucu versiyonu 2.4.29 olduğu görülüyor.

gobuster dir -u 10.10.71.92 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt komutu ile ilgili web siteyi ait uzantıları aratılır.

10.10.71.82/panel sayfasında dosya yükleme paneli bulunuyor. 10.10.71.82/index.php sayfası açıldığı için sayfanın php ile yazıldığı biliniyor. 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üklemi işlemi yapılmadan önce dikkat edilmesi gereken nokta php reverse shell kodunda ip adresi kısmının kendi ip adresiniz ile değiştiriniz. Port kısmına dinleme yapacağınız portu giriniz.

Dosyanın yüklenip yüklenmediği 10.10.71.92/uploads sayfasından kontrol edilebilir. nc -lvnp 1234 komutuyla 1234 portunda netcat ile dinleme başlatılır. Bu sayfadan yüklenilen php-reverse-shell.php5 dosyasına tıklanır ve netcat bağlantısı sağlanır.

python -c ‘import pty;pty.spawn(“/bin/bash”)’ ile bağlantı stabil hale getirilir. Diğer shell komutlarına göz atmak isterseniz netsec sayfasını inceleyebilirsiniz.

find / -type f -name user.txt ile flag dosyası aratılır.

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

 

 

 

 

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

Burada /usr/bin/python dikkat çekiyor. Bu yolun daha doğru yazımı /usr/bin/env python şeklindedir.  Daha detaylı bilgi almak için shebang adlı makaleyi inceleyebilirsiniz.

GTFOBins sayfasında python üzerinden yetki yükseltme ile ilgili komut bulunuyor.

 

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

cat /root/root.txt ile root flag’ına ulaşılınır.

 

About The Author

Reply