Hack The Box:TraceBack Makinesinin Çözümü

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.

TraceBack

Nmap taraması yapıp ne var ne yok görelim.

nmap -sSV --top-ports 100 -n 10.10.10.181 -oG traceback
TraceBack

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?

TraceBack

Daha sonra allta yazan “Xh4H” ismi dikkatimi çekti.Bu aynı zamanda makinenin sahibi.İlgili ismi webde aradığımda karşıma github sayfası çıktı.

TraceBack

Ş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ı.

TraceBack

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.

TraceBack

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.

TraceBack
TraceBack

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.

TraceBack

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.

python3 -c “import pty;pty.spawn(‘/bin/bash’)”
TraceBack

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.

TraceBack

Sudo ile hangi programları çalıştırabiliriz ona bakayım derken bir de ne göreyim.sysadmin’in bahsettiği tool bu.

TraceBack

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.

TraceBack

Bu sayede /home/sysadmin dizini altında bulunan user.txt dosyasını okuyabildik.

TraceBack

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.

TraceBack

Bunun için öncelikle ssh-keygen ile kendi private ve public anahtarımı oluşturacağım.

TraceBack

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.

TraceBack

Dosyamızı yükledikten sonra ssh ile bağlanalım bakalım.

TraceBack

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.

TraceBack

İlgili dosyayı cat ile okuduktan ve dosya üzerindeki yetkilerime baktıktan sonra hak yükseltebilceğim fikri oluştu.

TraceBack

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.

echo “id” >> /etc/update-motd.d/00-header
TraceBack

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.

echo “cat /root/root.txt” >> / etc/update-motd.d/00-header
TraceBack

Bu şekilde root flag e sahip olduk. Diğer yazıda görüşmek üzere..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir