Hack The Box – Traceback (TR)

hackthebox

Merhaba Arkadaşlar, bu yazıda hack the box platformunda yer alan, zorluk seviyesi kolay olan makinelerden Traceback makinesinin çözümünü anlatmaya çalışacağım.

hackthebox

Kullanıcı Alma

İlk olarak Traceback makinesinin IP sini kullanarak nmap aracıyla mevcut portlara bakalım.

sudo nmap -sS -sC -sV 10.10.10.181

22 – ssh portu ve 80 portu açık. Öncelikle 80 portu açık olduğundan tarayıcı üzerinden siteyi inceleyelim.

“Bize yardım et”, “Arka kapı bıraktım” gibi söylemler mevcut. Sayfanın kaynak kodunda birşeyler var mı diye de bakalım.

Kırmızı oklarla işaretlenmiş yerde yorum satırı var. “İhtiyacın olabilecek bazı webshelller” diye bir cümle mevcut. Arka kapı bıraktım cümlesini de referans alırsak sitede bir webshell olabileceği gözüküyor. Bazı webshelleri denedim ancak olmadı. “Xh4H” kullanıcı adı dikkatimi çekti ve biraz araştırma yaptım ve bir github adresine ulaştım. Webshelller içeren bir repo buldum ve içine girdiğimde birkaç php uzantılı shell listesine ulaştım.

Hepsini teker teker denedikten sonra arka kapı olan “smevk.php” ye ulaştım.

“admin:admin” kullanıcı adı ve parolasıyla giriş yaptım. “whoami” komutu ile “webadmin” kullanıcısı olduğumu öğrendim.

webshell üzerinde dizinleri gezerken “/home/” dizini altında “webadmin” dışında “sysadmin” adında da bir kullanıcı olduğunu gördüm. “sysadmin” dizinine girme iznim yoktu. “webadmin” dizinine girdim. Maalesef “user.txt” burada değildi. Ama dizin içerisinde “note.txt” vardı. İçeriğinde “Lua” adında bir araç bıraktım onunla pratik yapabilirsin” diye bir metin vardı.

Bu bilgi bir köşe de kalsın. “.ssh” klasörü içine girip “authorized_keys” dosyasının izinlerine baktığımda yazma iznimin olduğunu gördüm.

Kendi makinemde oluşturduğum public keyimi dosya içerisine yapıştırıp kaydettim. Ardından ssh ile “webadmin” kullanıcısı üzerinden etkileşimli shell i aldım.

Ardından “webadmin” dizininden dosyalara bakınmaya başladım ve “.bash_history” içeriği dikkatimi çekti.

Burada “privesc.lua” adında bir dosya hazırlanmış ve “sysadmin” kullanıcı yetkileriyle “luvit” üzerinden çalıştırılmış. Buradan anlayacağımız, “sysadmin” dizini altındaki “luvit” programı parola istemeden “sudo -u” parametresiyle çalıştırılabiliyor. Yukarıda içeriğinin fotosu bulunan “note.txt” nin bunun üzerine olduğu anlaşılıyor.

Bu durumu kesinleştirmek için “sudo -l” ile de çalıştırılabilen programlara bakalım.

sudo -l

komutunun çıktısında “luvit” adında bir programın gerçekten de çalıştırabileceğini gördük. Şimdi gelelim “luvit” programına ve “lua” uzantılı dosyaların ne iş yaptığına dair araştırmaya.

lua nın bir betik dili olduğunu ve luvit in bir api olduğunu öğrendim. Sıra geldi bunu sömürme kısmına. Bu sitede lua ile ilgili yapılabilecek işlemler mevcut.

Öncelikle betiğimizi hazırlayalım. “privesc.lua” adında, içeriğinde “os.execute(‘/bin/sh’)” komutu olan bir betik hazırladım. Bunu smevk.php üzerinden “/home/webadmin” dizinine yükledim. Yukarıdaki “bash_history” içeriğinde yer alan komut yardımıyla “sysadmin” kullanıcısını aldım.

sudo -u sysadmin /home/sysadmin/luvit privesc.lua

Ardından “/home/sysadmin” dizinine geçip “user.txt” yi aldım.

user

Root Alma

Makinede neler yapılabilir diye bakınmaya başladım. Çalışan prosesleri daha detaylı izlemek için pspy64 programını makineye yükleyip çalıştırdım.

/etc/update-motd.d” dizinin de çalışan bir proses dikkatimi çekti. Proses sürekli çalışıyordu ve her çalışma süresi 30 saniyeydi.
Bu dizine geçip dosyaları incelemeye başladım. “00-header” dosyasında dikkatimi çeken bir kısım vardı. Alt satırda echo komutuyla ekrana basılan mesaj, ssh ile bağlandığımızda çıkan mesajla aynıydı.

Bu kısıma “/root” altındaki “root.txt” yi okumak için komut verdiğimde çalışır mı diye merak ettim. Bunun için iki tane terminal açtım. Biri, ssh oturumu açtığımda “root.txt” içeriğini görüntülemek için. Diğeri “00-header” dosyasının içeriği değiştirip kaydetmek için. Hatırlarsanız 30 saniye süresi vardı. Bu yüzden hızlı olmam gerekiyordu.

(ssh oturumu için olan terminali kendi makinemde .ssh dizini içerisinde çalıştırdım.)

root

root hashini de sisteme yükleyip işimi bitirdim.

Traceback makinesiyle beraber luvit ve lua nın varlığını öğrenmiş oldum. Çok fazla zorlanmadım ama root hash ini elde etme kısmında 30 saniyeyi unuttuğumdan birkaç deneme sonrası elde etmiş oldum.
Hack the box platformunda yer alıp emekli olmuş Sauna Makinesinin çözümüne de bakabilirsiniz.

Okuduğunuz için teşekkürler.

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.