HackTheBox-Stratosphere Çözümü (Write-Up)

   Merhaba arkadaşlar.Ses sistemimiz henüz hazır olmadığı için şimdilik yazı olarak paylaşacağım.Öncelikle HackTheBox’tan biraz bahsedeyim.Bu platformda bir çok sanal makine var.HackTheBox size bir vpn veriyor ve bağlanıyorsunuz.Daha sonrasında çözülmeyi bekleyen bir çok makine sizlerle buluşuyor.Biz de bugün Stratosphere adlı makineyi çözeceğiz.Dilerseniz başlayalım…

  Her zaman olduğu gibi önce bir nmap taraması yapıyoruz.

 

22(ssh),80(http),8080(http-proxy) portlarının açık olduğunu görüyoruz.Http portu açık olduğuna göre tarayıcımızdan erişebiliriz.

Evet erişimi sağladık.Normal bir website gibi gözüküyor.Kaynak kodlarına baktığımız zaman göze çarpan herhangi bir şey göremiyoruz.Gobuster toolu ile directory taraması yapalım.

Gobuster iki farklı directory buldu.Önce manageri deneyelim bakalım ne çıkacak.

Karşımıza bir authentication(kimlik doğrulama) çıkıyor.Default username/password denemesi yaptık fakat bir işe yaramadı.Bir de tool yardımı ile brute force deneyelim.Msfconsole u açalım ve gerekli olan modülümüzü kullanalım.

Maalesef buradan da bir sonuca ulaşamadık.Bir başka directory daha bulmuştuk.Bir de orayı deneyelim.Tarayıcımızdan erişmeye çalıştığımızda bizi .action uzantılı bir sayfaya yönlendiriyor.

Sign on ve Register butonuna bastığımızda da aynı şekilde .action uzantılı bir sayfaya gidiyoruz.Peki nedir bu .action uzantısı?Ya da bizim işimize yarar şekilde soralım.Bir exploiti var mı?Google’da aratalım.

Github’ta bir tool var.Acaba işimize yarar mı?Denemekten zarar gelmez.Tool’u indirelim ve kullanmaya çalışalım.

Python dosyası bizden url ve komut istiyor.Kırmayalım ve girelim 🙂 .Dosyayı çalıştırdığımızda komutumuzun çalıştığını görüyoruz.Burdan sonrası linux komut satırı bilgimize kalıyor.Evet Remote Code Execution’a sahibiz.Yani uzaktan komut çalıştırabiliyoruz.Reverse shell almayı denedim fakat büyük ihtimalle bir firewall var.Ben aşamadım.Aşabilen arkadaşlarım varsa ve yorumda nasıl yaptığını belirtirse çok sevinirim.Reverse Shell alamadık fakat elimizde code execution var.Biraz enumeration yapalım.

 

Dosyaları görüntülediğimizde db_connect dosyasını görüyoruz.Bu dosya ile database e bağlanabiliriz.Bakalım databasede neler varmış.

Database e giriş yaptığımızda users adlı database ilgimi çekti.Bakalım içinde neler varmış.

Accounts adlı bir table çıktı.Onun da içine girdiğimizde bir username ve bir password görüyoruz.Makinede Richard adlı bir user olabilir.Ssh portunun açık olduğunu da biliyoruz.Bulmuş olduğumuz username ve password u kullanarak ssh ile bağlanmaya çalıştığımızda richard adlı kullanıcı olarak makineye giriş yaptık.Şuan da bir user ve bir shelle sahibiz.User ı aldıktan sonra user.txt içindeki hashi HackTheBox ta alakalı olan makinenin own user bölümüne yazıyoruz ve HackTheBox bize puan veriyor.Peki gelelim root olmaya…

Bir kullanıcıya sahip olduğumuzda yazmamız gereken ilk komutlardan biri sudo -l komutudur.Bu komutla kullanıcının super user komutlarını görebiliriz.Komutu yazdığımızda test.py adlı dosya parola istemeden super user olarak çalışabildiğini görüyoruz.

Test.py adlı dosyanın yetkilendirmelerine baktığımızda dosyaya root kullanıcısının sahip olduğunu görüyoruz.Cat komutu ile dosyanın içeriğini inceleyelim.Birden fazla farklı algoritmalarla oluşturulmuş hashler var.Bizden hepsini tek tek kırmamızı istiyor ve en sonunda root dizininden bir dosya çalıştırıyor.

Dosyanın hashlib adlı kütüphanesini import ettiğini görüyoruz.Daha sonra python hijacking metodunu kullanarak bu python dosyası ile root kullanıcısı olarak komut çalıştırmayı deneyelim.

Gördüğünüz gibi eğer python dosyasının bulunduğu dizinde çalıştırmış olduğu kütüphaneyi eklersek önce o kütüphaneyi çalıştırıyor.Tabi bizim kütüphanemiz boş olduğu için hata veriyor.O halde içine gerekli python kodumuzu yazalım.

Bu komutu yazıp çalıştırırsak mantıken bize root olarak bir shell vermesi gerekiyor.Deneyelim…

 

Evet.Root olduk.Makine çözümümüz bu kadar arkadaşlar.Aklınıza takılan herhangi bir soru var ise bize ulaşabilirsiniz.Herkese başarılar diliyorum…

 

Bir cevap yazın

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