Emre Aktaş tarafından yazılmıştır.
Selamlar, bu yazımda sizlere Hack the Box platformunda bulunan CozyHosting makinesinin çözümünü göstermeye çalışacağım.
Hedefimize ait basic bir nmap çıktısı.
Çoğu durumda ilgilimizi çeken ilk nokta http servisi olur. Bu durumda web sayfasına bir ziyaret gerçekleştiriyoruz.
/etc/hosts dosyanızı aşağıdaki şekilde düzenlemeyi unutmayın.
İlgili web sayfamıza ulaştıktan sonra dizin keşfi yapıyorum ve ilgili çıktımız.
İlgimizi çeken noktalardan bir tanesi /actuator/sessions diğeri ise /admin dizinine bir yönlendirme olduğu.
/actuator/sessions dizinine gidiyorum ve bazı sessions bilgilerinin tanımlandığını hatta “kanderson” isimli elemanın session bilgisini görüntüleyebildiğimizi fark ediyoruz.
Burada “kanderson” isimli elemanın session bilgilerini kullanarak bir login denemesi yapabileceğimizin farkında olmamız gerekiyor.
Burp Suite ile araya girerek ilgili isteği aşağıdaki şekilde yakalıyorum. Sonrasında tabi ki JSESSIONID değerine bulduğumuz session bilgisini giriyorum.
Daha sonra direk dashboard’a yönlendirildiğimizi görüyoruz.
Dashboard ekranında atak vektörü sayılabilecek noktalar ararken Connection Settings kısmında Hostname ve Username adında iki input alanının olduğunu fark ediyorum.
Bu alanlara rastgele değerler atayarak Burp Suite ile denemelerimizi gerçekleştirmeye çalışalım.
‘Username’ bölümünü boş bırakırsak bir SSH komutuyla ilgili bir hata gözlemliyoruz, bu da bu bölümde olası bir Komut Enjeksiyonu güvenlik açığı olabileceğini gösteriyor.
Daha sonra ‘Username’ parametresine farklı denemeler yaparak komut enjekte etmeye çalışıyorum.
Burada komut enjeksiyonunu başarılı bir şekilde uygulayabilmek için önceki SSH komutunu sonlandırmamız gerekiyor.
Yukarıda ki ifade ile SSH komutundan kaçınıp kendi komutumuzu karşı tarafta çalıştırabiliyoruz. Şimdi shell alabilmek icin bir netcat dinleyicisi başlatalım.
Daha sonra ilgili payloadımızı yazarak repeater ile isteğimizi gönderip shellimizi alıyoruz.
Bu adımda ilgili hedeften shell aldıktan sonra linpeas ya da linenum gibi dosyaları karşı tarafa aktarıp sistem hakkında daha detaylı bilgiler edinebilirsiniz.
Ayrıca shellimiz etkileşimsiz bir şekilde geldiğinden ötürü shelli geliştirebilmek adına farklı adımlar uygulayabilirsiniz.
Şimdi ilgili dizini listeliyoruz ve cloudhosting-0.0.1.jar isimli bir jar dosyasının olduğunu fark ediyoruz.
Bu dosyayı python kullanarak kendi saldırı cihazıma aktarabilirsiniz.
Transfer işlemi bittikten sonra dosyayı ayıklıyorum.
Biraz kurcalama işleminden sonra yukarıda görebileceğiniz gibi bazı kritik bilgilerin bulunduğu bir veritabanı dosyası ile karşılaşmamız gerekiyor.
Daha sonra aldığım shell üzerinden veritabanına bağlantı sağlamaya çalışıyorum.
Database’de ilgili kritik bilgilere erişebilmek adına temel psql komutlarına buradan bakabilirsiniz.
Ve parola kırma aşaması
İlgili parolayı kırdıktan sonra SSH bağlantısı deniyoruz.
Ve küçük bir yetki yükseltme kısmı
>>>>>
Tebrikler(Congratulations)
Selamlar, bu yazımda sizlere Hack the Box platformunda bulunan CozyHosting makinesinin çözümünü göstermeye çalışacağım.
Hedefimize ait basic bir nmap çıktısı.
Çoğu durumda ilgilimizi çeken ilk nokta http servisi olur. Bu durumda web sayfasına bir ziyaret gerçekleştiriyoruz.
/etc/hosts dosyanızı aşağıdaki şekilde düzenlemeyi unutmayın.
İlgili web sayfamıza ulaştıktan sonra dizin keşfi yapıyorum ve ilgili çıktımız.
İlgimizi çeken noktalardan bir tanesi /actuator/sessions diğeri ise /admin dizinine bir yönlendirme olduğu.
/actuator/sessions dizinine gidiyorum ve bazı sessions bilgilerinin tanımlandığını hatta “kanderson” isimli elemanın session bilgisini görüntüleyebildiğimizi fark ediyoruz.
Burada “kanderson” isimli elemanın session bilgilerini kullanarak bir login denemesi yapabileceğimizin farkında olmamız gerekiyor.
Burp Suite ile araya girerek ilgili isteği aşağıdaki şekilde yakalıyorum. Sonrasında tabi ki JSESSIONID değerine bulduğumuz session bilgisini giriyorum.
Daha sonra direk dashboard’a yönlendirildiğimizi görüyoruz.
Dashboard ekranında atak vektörü sayılabilecek noktalar ararken Connection Settings kısmında Hostname ve Username adında iki input alanının olduğunu fark ediyorum.
Bu alanlara rastgele değerler atayarak Burp Suite ile denemelerimizi gerçekleştirmeye çalışalım.
‘Username’ bölümünü boş bırakırsak bir SSH komutuyla ilgili bir hata gözlemliyoruz, bu da bu bölümde olası bir Komut Enjeksiyonu güvenlik açığı olabileceğini gösteriyor.
Daha sonra ‘Username’ parametresine farklı denemeler yaparak komut enjekte etmeye çalışıyorum.
Burada komut enjeksiyonunu başarılı bir şekilde uygulayabilmek için önceki SSH komutunu sonlandırmamız gerekiyor.
Yukarıda ki ifade ile SSH komutundan kaçınıp kendi komutumuzu karşı tarafta çalıştırabiliyoruz. Şimdi shell alabilmek icin bir netcat dinleyicisi başlatalım.
Daha sonra ilgili payloadımızı yazarak repeater ile isteğimizi gönderip shellimizi alıyoruz.
Bu adımda ilgili hedeften shell aldıktan sonra linpeas ya da linenum gibi dosyaları karşı tarafa aktarıp sistem hakkında daha detaylı bilgiler edinebilirsiniz.
Ayrıca shellimiz etkileşimsiz bir şekilde geldiğinden ötürü shelli geliştirebilmek adına farklı adımlar uygulayabilirsiniz.
Şimdi ilgili dizini listeliyoruz ve cloudhosting-0.0.1.jar isimli bir jar dosyasının olduğunu fark ediyoruz.
Bu dosyayı python kullanarak kendi saldırı cihazıma aktarabilirsiniz.
Transfer işlemi bittikten sonra dosyayı ayıklıyorum.
Biraz kurcalama işleminden sonra yukarıda görebileceğiniz gibi bazı kritik bilgilerin bulunduğu bir veritabanı dosyası ile karşılaşmamız gerekiyor.
Daha sonra aldığım shell üzerinden veritabanına bağlantı sağlamaya çalışıyorum.
Database’de ilgili kritik bilgilere erişebilmek adına temel psql komutlarına buradan bakabilirsiniz.
Ve parola kırma aşaması
İlgili parolayı kırdıktan sonra SSH bağlantısı deniyoruz.
Ve küçük bir yetki yükseltme kısmı
>>>>>
Tebrikler(Congratulations)
Moderatör tarafında düzenlendi: