Blog

HTB-Traceback

Bu blog içerisinde Hhackthebox’ta henüz emekli olmamış bir makine çözümü yer aldığı için içerik parola ile korunmuştur.

Makine çözümünü blog olarak yayınlamaktaki maksadım metodolojimi kayıt etmekdir. O yüzden adım adım tüm detayları yazmayacağım. Genel olarak Traceback Makinesinde (10.10.10.181) user ve root flag hashlerini nasıl elde ettiğimi yazacağım.

 

Metodoloji

Hedef sisteme yönelik yaptığım bilgi toplama işlemlerinde 22 ve 80 numaralı portların açık olduğunu tespit ettim.Öncelikle browser üzerinden Traceback‘in IP adresi (10.10.10.181) ile erişim denemesi yaptığımda bir websitesiyle karşılaştım. Bu sayfada makine sahibi bize bir ipucu vermişti. İpucundan yola çıkarak google’da araştırma yaptım ve web shellerin depo edildiği bir repository keşfettim. Repository içerisindeki shell’leri basit bir python scripti yazarak hedef domain üzerinde denemelerini gerçekleştirdim. Burada kullanacağım shelli tespit ettikten sonra reverse_tcp bağlantısı alabileceğim bir php payload yazarak hedef sunucuya yükledim. Terminalden netcat ile dinlemekte olduğum port üzerinden bağlantıyı elde ettim. Daha sonrasında bu bağlantı üzerinden Traceback makinesi içerisinde araştırma ve bilgi toplama işlemlerini gerçekleştirdim. Sağolsun xh4h tarafından bırakılmış olan bir takım ipuçlarını değerlendirip parolasız yetkili olarak çalıştırabileceğim bir dosya keşfettim ve bu sayede user flag değerine ulaştım. Root flag değeri için sistem içerisinde çalışsan servis ve crontabları kontrol ettim. Buraları kurcalarken pspy aracını keşfettim ve sistemde yürütülen processleri görüntülemeye çalıştım.

Burada sistem 30 saniyede bir olmak üzere periyodik bir şekilde /var/backups/.update-motd.d içeriğini /etc/update-motd.d‘ye kopyaladığını gördüm. Google update-motd.d hakkında araştırma yapabilir ve detaylı bilgi alabilirsiniz.

(Detaylı Bilgi İçin : http://manpages.ubuntu.com/manpages/bionic/man5/update-motd.5.html )

Bunun yanısıra başta belirttiğim ssh bağlantısıyla ilgili denemeler yapmaya başladım. ssh ortak anahtar ile traceback’e bağlanmayı denedim. Her ssh bağlantısı kurulduğunda 00-Header dosyası yürütülmekte olduğu için update-motd.d dosyasında root.txt dosyasını okuyarak ssh bağlantısı kurduğumda bana verebilmesi için basit bir python scripti yazarak dizine ekledim ve 30 sn. periyodik olarak çalıştırıldı. Böylece yetkili bir dizinde bulunan dosyadaki komutlar ssh bağlantısını  yapmamla birlikte çalıştırıldı ve sonuç olarak root flag değerini elde etmiş oldum.

Makine çözümü esnasında almış olduğum ekran görüntülerini aşağıda paylaşıyorum.

 

Öncelikle hedef sistem üzerinde nmap taraması yaparak bilgi topladım ve elde ettiğim bilgiler yukarıdaki gibi.

 

https servisinin açık olduğunu az önce görmüştük.

Browser üzerinden Traceback IP adresi ile arama yapınca karşımıza çıkan websitesi.

 

Hedef sisteme giriş yapacağımız ve payload yüklememizi sağlayacak olan sheel kodları.

Burada admin ve pass bilgileriyle doğrudan giriş yapılabilir.

 

10.10.10.181/smevk.php yolundaki shell arayüzü.

 

Bu payload yerine msfvenom vs. ile farklı bir php payload yazılabilir.

 

Yüklediğimiz payload yoluna giderek netcat ile dinlenen porta bağlantının gelmesi sağlandı.

Burada yetkili olarak /home/sysadmin/luvit dizininde parolasız işlem yapabiliyoruz.

 

os.execute fonksiyonunu kullanarak bir sh kabuğu açıyoruz.

Daha sonra id komutu ile sysadmin kullanıcı yetkilerine eriştiğimizi görebiliriz.

 

 

Burada user.txt dosyasına eriştik ve flag değerini elde ettik.

 

Enumaration aşamaları ve toplanan veriler.

 

Enumaration aşamaları ve toplanan veriler.

 

Enumaration aşamaları ve toplanan veriler.

 

 

ssh ortak anahtar kullanarak ssh bağlantısı için .ssh/authorized_keys dosyasına ssh-rsa keyimizi ekliyoruz.

 

Son olarak root flag değerini elde ettik.

 

Okuduğunuz için teşekkür ederim. Görüşmek üzere, sağlıcakla kalın..

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir