Ağ Güvenliği, Genel, Linux, Slider, Web Güvenliği

BTRSys v2.1 Walkthrough

Yazılarımı Paylaşabilirsiniz
  •  
  •  
  •  
  •  
  •  
  • 4
  • 2
  •  
  •  
  •  
  •  
  •  
    6
    Shares

 

Merhabalar 🙂 Bu yazımda Siber Güvenlik alanında giriş seviyesi zorluğunda olan bir sistemin sizlere ilk başta nasıl sistemimize yükleyeceğimizi ardından nasıl çözüldüğünü anlatacağım.

Çözeceğimiz sistemin ismi: BTRSys v2.1

Makine ile ilgili özellikler aşağıdaki görseldeki gibidir.

Labı hazırlayan firma: BTRİSK

Hadi başlayalım 🙂

İlk olarak Vulnhub’dan testi yapacağımız sistemin olduğu adrese gidiyoruz. Sonrasında ise İndir butonuna bastığımızda bize 3 alternatif çıkıyor.

 

Ben direk Google Drive’da bulunan adrese girip sistemi indiriyorum.

Sistemi indirdikten sonra inen rar uzantılı dosyayı herhangi bir arşiv yöneticisi olan uygulama ile açtığınızda aşağıdaki gibi 2 dosya karşınıza çıkacaktır.

BTRsys-2.ovf dosyasına çift tıkladığımız zaman yada kullanmış olduğumuz sanallaştırma yazılımlarından Import / İçe aktar seçeneklerine tıkladığımızda ve indirmiş olduğumuz BTRsys-2.ovf dosyasını seçtiğimizde aşağıdaki gibi bir pencere karşımıza çıkmış olacaktır.

Finish seçeneğine bastıktan sonra BTRsys-2 adlı sistemimizi çalıştırıyoruz 🙂

Sistemi çalıştırdığımızda bizi aşağıdaki gibi bir ekran karşılıyor.

Herhangi bir giriş bilgisi verilmediği için ve ip adresi bilgisi gözükmediği için sisteme giriş yapamıyoruz. Ama şunun farkındayız;

Bize sistemi indirirken sistemde DHCP bağlantısının olduğunu ve sistemi içeri aktarırken NAT seçeneğinin aktif olduğunu bililyoruz. Çalışan diğer sanal makinelerimizle aynı subnette olduğunun da bilgisini buradan çıkarabiliyoruz. Bende sızma testini gerçekleştireceğim sistemi çalıştırıyorum.

Sistemi çalıştırdığım zaman ilk başta

komutunu çalıştırarak kendi sistemimizin ip adresini öğreniyoruz.

komutu ile aynı ip aralığında bulunan sistemleri tarıyoruz.

Ağı taradığım zaman karşıma 4 adet adres çıkıyor ve teker teker tarayıcıya adresleri girerek deniyorum.

Kaynak kodunu görüntüle seçeneğine bastığımda ise

yine bir gif dosyasının olduğu yere yönlendiriyor ve hiçbir sonuç alamıyorum.

NMAP adlı tool ile sistemdeki portları tarıyorum

Tarama bittikten sonra Apache httpd 2.4.18 uygulamasının bir zafiyeti olduğu görünüyor fakat işime yarayacak gibi değil. Bu yüzden araştırmaya devam ediyorum.

Nikto adlı tool ile bir tarama işlemi yapıyorum.

ve çıkan sonuçta wordpress adlı bir path olduğu, sistemde wordpress kurulumu olduğu ve robots.txt dosyası olduğu gözüme çarpıyor. İlk başta robots.txt dosyasının olduğu yere gidiyorum.

Burada da wordpress adlı bir path olduğu belirtiliyor ve ilgili adrese gidiyorum.

WordPress uygulamalarını taramak için wpscan adında bir aracımız var. Aracımızı çalıştırıyoruz ve WordPress sistemin kurulu olduğu Path’i belirterek tarama işlemimizi başlatıyoruz.

Tarama işlemi yaparken WordPress sistemlerde varsayılan olarak giriş yapılan Yönetici panelini yani /wp-admin adresine girmek için de brute force saldırısı yapmayı da unutmuyoruz 🙂

Giriş yapmak için kullanıcı adını ve parolayı aldığımıza göre yönetici paneline giriş yapabiliriz 🙂

Sisteme giriş yaptıktan sonra aşağıdaki gibi bir ekran bizi karşılıyor.

Buraya kadar geldiğimize göre artık sızma testi işlemine başlayabiliriz.

Editor seçeneğine gelmemizin kısaca sebebi ise orada düzenleyeceğimiz herhangi bir dosyanın (example:author.php) bizim shell almamızı sağlayacak olmasıdır. Biz hedef sistem ile aynı ağda olduğumuz için hedef sistemden reverse shell alma işlemi gerçekleştiriyor olacağız.

WordPress sistemler PHP dili ile yazıldığı için PHP diline uygun reverse shell alma işlemini gerçekleştiriyor olacağız. Ben author.php dosyasını düzenleyeceğim. Düzenleyeceğiniz herhangi bir dosyayı da düzenleyerek aynı işlemleri yapabilirsiniz.

Yukarıda gördüğünüz gibi bir sayfa karşınıza çıkıyor olacak. Şimdi sıra geldi düzenleme kısmına 🙂 Yukarıda bahsettiğim gibi WordPress sistemler PHP dili ile yazıldığı için ve aynı ağda sızma testi işlemi yaptığımız için PHP diline uygun Reverse Shell alma işlemi gerçekleştireceğiz. İsterseniz internetten isterseniz de Kali Linux sistemlerin içinde de bulunan ” /usr/share/webshells/php/ ” dizininde bulunan WebShell’lere de ulaşabilirsiniz.

Kodu kopyaladıktan sonra author.php adlı dosyamıza içindekileri silip kopyalamış olduğumuz PHP kodunu yapıştırıyoruz.

İşaretlemiş olduğumuz yere kendi kullanmış olduğumuz sistemin ip adresini yazarak ayarları kaydediyoruz.

Gerekli işlemleri yaptığımıza göre artık Netcat adlı aracımız ile dinleme moduna geçiyoruz.

Dinlenecek port kısmına 1234 yazmamızın sebebi ise yukarıdaki görselde vurguladığım IP adresinin altında bulunan

satırında portu yapılandırdığımız içindir. Eğer 1234 portu başka bir sistemde kullanılıyor ise 1234 değerini değiştirebilirsiniz. (Örnek verecek olursak: $port = 4444;)

Author.php dosyasını düzenleyip, kaydettik. Fakat ister istemez aklınızdan şu soru geçiyor olacaktır. Dosyayı kayıt ettik ama bu dosyaya nereden ulaşabiliriz? diye. Yukarıda aslında fark etmiş olmanız gerekirdi 🙂 WPSCAN ile tarama işlemi gerçekleştirdiğimiz zaman bide kullanılan temanın isminden tutun, olduğu path’e kadar bilgileri vermişti.

İşlemlerimize devam edelim 🙂

Netcat ile biraz önce sistemimizi dinleme moduna almıştık.

http://192.168.123.139/wordpress/wp-content/themes/twentyfourteen/author.php adresinde dosyamızın kayıtlı olduğunu biliyoruz. Sistemden shell almak için istek atmamız gerekecek. İsterseniz tarayıcınızdan ilgili yeri kopyalayıp yapıştırabilirsiniz veya sisteminizde yüklü olan curl, wget uygulamaları ile de ilgili yere istek atabilirsiniz.

Yukarıda gördüğünüz gibi hedef sistemden başarılı bir şekilde shell aldık 🙂

ilk olarak id komutu ile kullanıcımızın root olup olmadığı hakkında bilgi ediniyorum.

Root yetkisine sahip olmadığımız için sistemde Yetki Yükseltme işlemlerine girmemiz gerekiyor.

Bunun için ile başta

komutunu çalıştırarak sistemin çekirdek(kernel) sürümünü öğreniyoruz ve ardından kısa bir araştırmadan sonra Exploit-DB sitesinde exploitinin olduğunu görüyoruz.

Hedef sisteme Exploit’i indiriyoruz.

Exploitimizi indirdikten sonra, exploitimiz C dili ile yazıldığı için GCC ile derlememiz gerecektir. Bunun için;

Komutunu çalıştırdığımız zaman GCC’nin yüklü olmadığını anlıyoruz ve sistemde GCC ile çalıştırmamız için GCC’yi hedef sistemde arıyoruz.

Aramamızı yaptıktan sonra /usr/lib/gcc dizininde çalıştırılacağını fark ediyoruz ve aynı işlemi gerekli path’i girerek deniyoruz.

Maalesef gördüğünüz gibi burada da yetkimizin olmadığını bize belirterek işlemi reddediyor ve gerçekleştirmiyor.

Pes etmek yok 🙂

Bizde kendi makinemizde gerekli düzenlemeleri yapıp hedef sisteme indiririz 🙂 İlk başta “/var/www/html” dizinimize gelelim. Sonrasında ise hedef sistemde yapmış olduğumuz işlemlerin aynısını kendi sistemimiz üzerinde yapalım.

Kendi sistemimize exploiti indirdikten sonra gcc ile derledik ve sonrasında hedef sisteme dosya aktarabilmemiz için sistemimizde apache servisini başlattık.

Şimdi ise hedef sisteme geçerek dosyamızı indirelim.

Sonrasında ise exploiti çalıştırmak için hedef sistemde yetki verelim.

Sonrasında ise exploitimizi çalıştıralım 🙂 .

Yukarıda gördüğünüz gibi exploitimizi çalıştırdıktan sonra ve id komutu ile sistemimizde root olup olmadığımıza baktığımız zaman root haklarına sahip olduğumuzu gördük.

Artık sistemde istediğimizi yapabiliriz 🙂

Bu yazımda anlatacaklarım bu kadar 🙂

Yazımı vakit ayırıp okuduğunuz için çok teşekkür ediyorum 🙂 Sormak istediğiniz soruları yorum olarak atabilirsiniz, İetişim sayfasından ulaşabilirsiniz veya [email protected] üzerinden sorularınızı sorabilirsiniz.

Hepinize Hayırlı Bayramlar diliyorum. Bir sonraki yazımda görüşmek üzere 🙂 ve son olarak bir konuya değinmek istiyorum yapacağım yazılar, anlatımlar sadece eğitim amaçlı anlatılmaktadır. 🙂

  •  
    6
    Shares
  •  
  •  
  •  
  •  
  • 4
  •  
  •  
  • 2
  •  
  •  

2 thoughts on “BTRSys v2.1 Walkthrough

Bir cevap yazın

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