CTF: TryHackMe Inclusion Çözümü

Merhaba, Tryhackme’de bulunan Inclusion makinesinin çözümünü inceleyeceğiz. Openvpn bağlantısı ile ilgili bilgi almak istiyorsanız Tryhackme CTF’deki ilk içeriği okuyabilirsiniz. Bağlantı sağlandıktan sonra Tryhackme’deki makine deploy edilir ve makinenin ip adresi öğrenilir. Bu işlemler tamamlandıktan sonra artık bilgi toplama aşamasına geçilebilir. Bu çözümde kullanılan ip adresi 10.10.126.120 oldu.

 

 

nmap -Pn -sS -sV 10.10.239.3 komutu ile port taraması yapılır. 22(ssh) ve 80(http) portunun açık olduğu görülüyor.

 

 

http://10.10.126.120 sayfasına gidildiğinde arama kutusunun ve butonların olduğu bir sayfa ile karşılaşılır. Önce butonlar test edilir. Learn More butonuna tıklandığında bir şey olmuyor.

Herhangi bir View details butonuna tıklandığında adres çubuğunda bir zafiyet göze çarpıyor. Örneğin Hacking this world başlığının altındaki View details butonuna tıklandığında http://10.10.126.120/article?name=hacking sayfasına yönlendiriyor. Php web sayfalarında adres çubuğunda bu şekilde arama yapılabiliyorsa LFI açığının var olduğunu gösterir. =’den sonrasına bazı eklemeler yapılarak bazı dosyalar bulunabilir. Örneğin:

/etc/passwd

/etc/shadow

/etc/hosts gibi dosyalar aratılabilir.

Ssh bağlantısı kurmak için kullanıcı adı ve parolası gibi bilgiler gerekecektir. Bu yüzden önce /etc/passwd dosyasından faydalanılabilir. Bunun adres çubuğunda http://10.10.126.120/article?name=/etc/passwd aratılır. Dosya bulunamadığı için hata ile karşılaşıldı. Bunun için başa ../ eklenerek bir üst dizin kontrol edilir.

Bir üst dizin http://10.10.126.120/article?name=../etc/passwd gidildiğinde yine hata alındı. Hata almayana kadar ../ eklenir.

Bu şekilde http:10.10.126.120/articles?name=../../../etc/passwd sayfasına gidildiğinde /etc/passwd dosyası bulunur.

Zaten kullanıcı adı ve parola görülüyor ama dosya sağ tık, view page source denilerek daha iyi görüntülenebilir. Makinenin kullanıcı adı falconfeast ve parolası öğrenildi.

 

 

ssh falconfeast@10.10.126.120 komutu ile ssh bağlantısı başlatılır.

ls -la tüm dosya ve klasörler görüntülenir ve user.txt farkedilir.

cat user.txt ile user flag’ına ulaşılır.

 

 

Root yetkisi elde etmek için sudo -l komutu çalıştırıldığında /usr/bin/socat dosyasının yapılandırılmış olduğu görülüyor.

Bu yapılandırmayı bypass etmek için GTFOBins sitesine gidilir ve socat aratılır. Bu socat sayfasında kendi makinemizde root olunduktan sonra reverse shell komutu ile bağlantı sağlanabilir ya da shell komutuna sudo eklenerek kullanıldığında root yetkisine kolay yoldan ulaşılabilir.

sudo socat stdin exec:/bin/sh ile root yetkili kabuk hedef makine başlatılır.

cd /root ile root dizinine gidilir.

cat root.txt ile root flag’ı da bulunur.

 

 

 

About The Author

Reply