Hack the box da denk geldiğim çözümü oldukça zevkli ve düşündürücü bulduğum Traceback makinesinin çözümünü anlatacağım. İlgili makinemiz aha da bu.
Nmap taraması yapıp ne var ne yok görelim.
TraceBack Web:
80.portta ayakta olan web uygulaması olduğunu görüyorum.Karşıma Şöyle bir sayfa çıkıyor.İlk bakışta pek anlam ifade etmedi.Tamam adam shell atmış ama nereye?
Daha sonra allta yazan “Xh4H” ismi dikkatimi çekti.Bu aynı zamanda makinenin sahibi.İlgili ismi webde aradığımda karşıma github sayfası çıktı.
Şimdi bu arkadaş siteye attığı shell i de github da yayınlamıştır diyip repolarda gezinmeye başladım.Karşıma şöyle bir repo ve birçok shell çıktı.
Herbirini tek tek inceleyip web de denedikten sonra en aşağıda bulunan smevk.php dosyası içinde kullancı adı ve parola bilgisine ulaştım.
smevk.php dosyasını çağırdıktan sonra karşımda şöyle bir panel belirdi ve bulduğum kullanıcı adı ile parolayı denedim ve giriş yaptım.
Görüldüğü üzere bizden önce giren arkadaşlar bir çok shell atıp reverse bağlantı almışlar.Ben en altta bulunan veryniceshell.php dosyasını kullanarak nc ile reverse bağlantı alacağım.
Veryniceshell e tıklayıp üst menüden edit ile açabilirsiniz.İp adresi ve port bilgisini girdikten sonra dosyayı çalıştırıp netcat ile oturum aldım.Tabi yazdığım komutlar doğru düzgün ve hatasız çalışması için interaktif kabuğa geçmem gerekti bunun için şu python cümlesi ile interaktif kabuğa geçebilirsiniz.
webadmin kullancısında gezinirken sysadmin’in bize bıraktığı not a denk geldim.Bu notta sysadmin’in lua dosyalarını çalıştırabilmemiz için bir tool bıraktığı yazıyor ve nerede olduğunu bildiğimizi söylüyor.hmm.
Sudo ile hangi programları çalıştırabiliriz ona bakayım derken bir de ne göreyim.sysadmin’in bahsettiği tool bu.
Açıkçası lua hakkında pek bilgim yoktu ama internette ufak çaplı bir araştırma ile ne yapmam gerektiği kafamda belirdi.Madem sysadmin’in bize bıraktığı tool ile isteğimiz lua dosyasını sysadmin yetkisiyle çalıştırabiliyoruz o zaman şu basit komutçuk ile sysadmin’in yetkisine geçelim.
Bu sayede /home/sysadmin dizini altında bulunan user.txt dosyasını okuyabildik.
SSH TraceBack:
Ama bu yetersiz.Bizim root.txt dosyasını okumamız gerekiyor.Makinede gezinirken /home/webadmin/.ssh dizini altında authorized_keys dosyası buldum.Bu şu demek eğer ben authorized_keys dosyasını kendi public dosyam ile değiştirirsem bu kullanıcıya parolasız bir şekilde ssh ile bağlanabilirim.
Bunun için öncelikle ssh-keygen ile kendi private ve public anahtarımı oluşturacağım.
Oluşturduğum public anahtarı authorized_keys olarak ayrı bir dizine kopyalıyorum.Şimdi sıra bu dosyayı webadmin kullanıcısının .ssh dizinine atmak.Burda yine webshell e girmemiz gerek.
Dosyamızı yükledikten sonra ssh ile bağlanalım bakalım.
ssh ile bağlandıktan sonra aşağıda beliren “Welcome to Xh4H land” mesajı dikkatimi çekti.Tekrar sysadmin kullanıcısa geçip bu mesajın geçtiği dosyaları grep ile aradım.
İlgili dosyayı cat ile okuduktan ve dosya üzerindeki yetkilerime baktıktan sonra hak yükseltebilceğim fikri oluştu.
Dosyanın sonuna “id” komutunu ekleyip tekrar ssh ile bağlandığımda eğer id bilgisini görürsem az çok neler yapılacağını sizde anlamışsınızdır zaten.
Tıpkı tahmin ettiğim gibi oldu.Burda istediğimiz komutu girip root olabiliriz ama ben daha fazla uğraş olmasın diye direkt root.txt dosyasını okuyacağım.
Bu şekilde root flag e sahip olduk. Diğer yazıda görüşmek üzere..