HacktheBox – Writeup Makine Çözümü

Merhaba. Bu yazıda yeni emekliye ayrılan Writeup isimli makinenin çözümüne bakacağız. İşe her zaman olduğu gibi nmap taraması ile başlıyorum.

22-ssh ve 80-http portları açık. Browser ile 80. porta bakalım.

Böyle bir sayfa karşılıyor bizi. Kaynak kodlarına baktığımda ilginç bir şey göremedim. Nmap de çıkan robots.txt sayfasına bakalım.

/writeup sayfasına bakalım.

Sayfanın kaynak kodlarına göz atıldığında CMS Made Simple ifadesi göze çarpıyor.

Google küçük bir araştırma yaparak CMS Made Simple ın default olarak barındırdığı dosyaları buldum.

Version numarasının nerde yazdığını bulmak için dosyalar arasında gezindim. /doc/CHANGELOG.txt sayfasında olduğunu gördüm.

http://10.10.10.138/writeup/doc/CHANGELOG.txt adresinden versionu öğrendim.

Şimdi herhangi bir exploit var mı bir bakalım. Kalide searchsploit komutunu kullanarak kullanabileceğim bir kod var mı diye bakıyorum.

Version numarasına da dikkat ederek baktığım zaman kullanabileceğim bir exploit var.

Parametreleriyle çalıştırdım.

Çıktısı bu şekilde. Password hash’i Google’da arattım. MD5 hash’i olduğunu öğrendim.

Decrpyt edildiği zamanda Salt+password şeklinde bir sonuç verdi. Parolamız ‘raykayjay9’ .

Http serverı üzerinde bir tane admin girişi var. Lakin bu parola ve kullanıcı adıyla oraya giriş yapamıyoruz. Ssh portundan bu bilgilerle giriş yapmayı denedim.

Evet ssh ile bağlandık. Jkr isimli bir kullanıcıya sahibiz. Elbette amacımız root kullanıcısına erişim sağlamak. Makineye LinEnum.sh isimli bir araç yükledim. LinEnum dan kısaca bahsetmem gerekirse sistemden bilgi toplamak için komut satırında tek tek yazacağım komutları toplu halde çalıştırıp bana çıktılarını gösteriyor. Ben de bu çıktılara bakarak bir açık var mı yok mu öğrenmeye çalışıyorum.

Bu şekilde kendi makinenizden hedef makineye yükleyebilirsiniz. Tabii kullanıcınızın yazma izni olan dizinlerde.

LinEnum da herhangi bir açık göremedim. Buraya sadece suid files kısmının ekran görüntüsünü koyacağım. Kendinizde çalıştırıp bakabilirsiniz. Suid files kısmında her şey default. Yani burdan bir şey çıkmaz.

Başka bir araç yükleyerek sistemin işlemlerine bakmak istiyorum. Belki sistemin çalıştırdığı bir koda veya dosyaya ulaşıp root olabilirim.

Pspy isimli bir araç kullanacağım. Bu araç golang diliyle yazılmış olup sistemde çalışan işlemleri bize gösterir.

LinEnum’u yüklediğim gibi pspy’ı da aynı şekilde yükledim. Pspy’da da herhangi bir şey çıkmadı. Pspy ile işlemleri izlerken yeniden ssh ile bağlandım ve sistemin run-parts diye bir dosyayı çalıştırdığını gördüm.

PATH:Komutların çalıştırılması için bakıldığı, arandığı dizinlerin adresini tutan sistem değişkenidir.

Yani ben PATH=/ altına çalıştırılabilir bir run-parts dosyayı yazdığım zaman, her ssh ile bağlandığımda sistem onu çalıştıracak.

Yazma iznimin olduğu /usr /local /bin dizinine gidip run-parts isimli bir bash script yazıyorum.

Touch ile tmp altında bir Cyseclab isimli bir dosya oluşturmasını, bash komutu ilede dinlemeye aldığım porta shell gelmesini bekliyorum.

Sol alttaki shellde ssh bağlantısını gerçekleştirdim. Sağ alttaki shellde nc ile 9001 portunu dinlemeye aldım. Sağ alta root shell geldi.

Cyseclab isimli dosyamızda tmp dizini altında oluşturulmuş.

Sorularınızı yorum olarak yazabilirsiniz. Bizleri sosyal medyadan takip etmeyi unutmayın. 🙂

instagram.com/tr.tahayldz

Bir cevap yazın

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