Merhaba, bu yazıda Tryhackme’de bulunan Bounty Hacker makinesinin çözümünü inceleyeceğiz. Openvpn bağlantısı ile ilgili bilgi almak istiyorsanız Tryhackme CTF’deki ilk yazımızı okuyabilirsiniz. Bağlantı sağlandıktan sonra Tryhackme’de bulunan makine deploy edilir ve makinenin ip adresi öğrenilir. Bu çözümde kullandığım ip adresi 10.10.34.201 oldu.
Öncelikle nmap -sS -sC -sV 10.10.34.201 ile port taraması başlatılır. Tarama sonucu dosya transfer protokolünün tanımlı olduğu 21 numaralı ftp portunun açık olduğu ve anonymous olarak giriş yapılabildiği gözüküyor. 22 ssh ve 80 http portu da açık.
Ftp portuna bağlantı gerçekleştirmeden önce 80 http portu açık olduğu için http://10.10.34.201 sayfasına gidilir. Bu sayfada sadece Spike, Jet, Ed, Faye adında 4 karakter kendi aralarındaki konuşmalar var.
Sırasıyla sağ tık view page source denilerek sayfanın kaynak koduna bakıldığında gizlenmiş hash, username, password bulunmuyor.
Sayfanın sahip olduğu diğer dizinleri öğrenmek için gobuster aracı ile dizin taraması başlatılır.
gobuster dir -u 10.10.34.201 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt komutuyla tarama yapıldığında /images adında bir dizin bulunuyor.
http://10.10.34.201/images sayfasına gidildiğinde crew.jpg adında bir dosya ile karşılaşılıyor. Bu dosya http://10.10.34.201 bulunan görsel ile aynı. Belki bu görsele gerekirse steganografi yapılabilir ama şimdi öncelik sırasında diğer bulgular var.
ftp 10.10.34.201 ile ftp bağlantısı gerçekleştirilir. İsim sorusuna anontmous girilerek parola girmeden başarılı bir bağlantı sağlanır. Dosya transfer sistemine bağlandıktan sonra ls komutu ile tüm klasör ve dosyalar listelenir. Burada locks.txt ve task.txt adında iki dosya bulunuyor.
mget * komutu ile tüm dosyalar kendi bilgisayarımıza talep edilir ve y(yes) harfiyle transferler tek tek onaylandıktan sonra aktarımlar tamamlanır.
İlk soruda görevleri veren kişinin adı soruluyor. Burada görev anlamına task.txt dosyasına cat task.txt komutu ile bakıldığında lin adında bir kişinin 2 tane emir verdiği gözüküyor ve ilk sorunun doğru cevabı lin oluyor. Diğer dosya locks.txt bakıldığında bir wordlist’e benziyor ve ikinci soruda bulunan wordlist ile hangi servise brute force saldırısı yapılabileceği soruluyor. 22 ssh portu açıktı, bu porta hydra aracı ile brute force aracı ile saldırı yapılabilir. Bu sorunun cevabı da ssh oluyor böylelikle.
hydra -l lin -P /home/kali/Masaüstü/locks.txt 10.10.34.201 -t 4 ssh komutuyla lin kullanıcı adı ile locks.txt wordlistini kullanarak hydra aracı ile ssh servisine brute force saldırısı gerçekleştirildiğinde RedDr4gonSynd1cat3 parolasıyla başarılı bir giriş gerçekleşiyor. Bu parola aynı zamanda kullanıcı parolasına soran üçüncü sorunun cevabı oluyor.
ssh lin@10.10.34.201 bağlantısı talep edildiğinde parola olarak brute force saldırısı ile bulunan RedDr4gonSynd1cat3 parolası girilir ve ssh bağlantısı kurulur.
cat user.txt ile ilk flag bulunur.
cd /
cd root komutu ile root dosyasına girilmek istendiğinde erişim reddediliyor.
sudo -l komutuyla yetki yükseltmek istendiğinde bir hata veriyor. Bu hatadan tar dosyasının doğru şekilde bypass edilirse gerekli yetkilere ulaşılabileceği çıkarımı yapılabilir. Bunun için GTFOBins sitesine gidilir.
GTFOBins, farklı kısıtlamaların bulunduğu sistemlerde yetki yükseltmek için çeşitli komutlarının bulunduğu bir sitedir. Siteye buradan ulaşabilirsiniz. Tar kelimesi aratılır.
Tar sekmesine gidildikten sonra sayfada tar dosyası üzerinde yetki yükseltme komutunun bulunduğu sudo komutuna gelinir ve komut kopyalanır.
sudo tar -cf /dev/null –checkpoint=1 –checkpoint-action=exec=/bin/sh komutu ile yetki yükseldikten sonra
id
whoami ile root yetkisine sahip olunup olunmadığı kontrol edilebilir.
cd root ile root dizinine gidilir
cat root.txt ile son flag bulunur.