WINDOWS KULLANARAK SIZMA TESTİ NASIL YAPILIR?
Sızma testi için kullanılan işletim sistemleri arasında ilk akla gelenler Kali, BlackArch, ArchStrike vb. Linux tabanlı işletim sistemleri olabilir. Fireeye Security firması Linux ortamına hakim olmayanlar için alternatif olarak Windows işletim sistemine özel olarak Commando VM adında bir framework yayınlandı.
Bu yazıda sızma testi için Linux ortamına hakim olmayanlara alternatif olarak Windows işletim sistemine özel çıkartılan Commando VM’nin nasıl kullanıldığı anlatılmaktadır.
Sadece sızma testi uzmanlarının değil, sistemlerindeki güvenlik açıklarını tespit etmek isteyen BT çalışanlarının da kolayca kullanabilecekleri bir framework olan Commando VM; Nmap, Mimikatz, Burp-Suite, x64dbg, Hashcat, Covenant, Invoke-phantom gibi 140’dan fazla aracı içermektedir.
Bunlar kategori halinde kaşımıza çıkmaktadır. Yükleme işlemi bittikten sonra masaüstünde Tools diye bir klasör oluşmaktadır.
Sızma Testlerinde Kali ve diğer Linux tabanlı güvenlik dağıtımları yerine Commando VM kullanmak isteyenler için hem kıyaslamasına hem de nasıl kullanıldığına uygulamalı olarak bakalım.
Commando VM Nasıl Kullanılır?
Information Gathering klasörünün içerisinde bulunan Nmap aracını kullanarak hedef sistem üzerindeki portları tarayacağız ve portların üzerinde çalışan servisler hakkında bilgi edineceğiz. Sonrasında 21 portunda çalışan VSFTPD servisinin istismar işlemini gerçekleştireceğiz.
21 portu üzerinde çalışan “VSFTPD 2.3.4” servisinin yayınlanmış bir sömürü kodunun olup olmadığını kontrol ediyoruz. Bunun için yine aynı Tools klasörü içerisinde bulunan Exploitation klasörüne, oradan da Metasploit klasörüne giriyoruz. Listelenen araçlardan Msfconsole çift tıklayarak çalıştırıyoruz.
Bu uygulama Kali Linux işletim sistemindeki Metasploit Framework’un bire bir aynısıdır.
VSFTPD 2.3.4 servisi için bir arka kapı kod çalıştırma sömürü kodunun bulunduğunu tespit ettik. Şimdi bu sömürü kodunu çalıştırarak hedef sistemde oturum elde etmeye çalışacağız.
“Use” komutu kullanarak sömürü kodumuzu seçtik, show options komutu ile sömürü kodumuzun istediği parametreleri listeledik, set RHOSTS komutu ile ise hedef sistemin IP adresini sömürü kodumuza parametre olarak verdik. Exploit komutu ile sömürü kodumuzu başlattık ve hemen ardından görüldüğü gibi root yetkisi ile uzaktan bağlantı elde ettik.
Şimdi, hedef sistemin 80 portu üzerinde yayınlanmakta olan web sitesine zararlı bir PHP dosyası yükleyeceğiz ve sitem üzerinde oturum elde etmeye çalışacağız.
İstismar işlemine başlamadan önce BurpSuite aracı ile keşif yapmamız gereklidir. Tools klasörü içerisinden “Web Application” klasörüne geçiyoruz ve listelenen uygulamalar içerisinden “BurpSuite Free Edition” aracını çalıştırıyoruz.
Bunun için “Tools” klasörünün içerisinde bulunan “web-backdoors” klasörüne geçiyoruz. Listelenen klasörlerden “php” klasörü içerisinde bulunan “php-reverse-shell.php” dosyasını herhangi bir metin düzenleyici ile açıyoruz. Aşağıdaki ekran görüntüsünde gösterildiği gibi “$ip” değişkenine kendi IP adresimizi, “$port” değişkenine ise bağlantı alacağımız port numaramızı belirtiyoruz. Dosyamızın uzantısını PHP olarak kaydediyoruz.
Sonrasında göz at butonuna tıklayarak hazırlamış olduğumuz PHP dosyasını seçip yüklemek istediğimizde dosyanın resim dosyası olmadığını belirten bir hata ile karşılaşıyoruz. Anlıyoruz ki sistem PHP uzantılı dosyaları kabul etmemektedir.
Şimdi BurpSuite aracı ile araya girerek yükleme işlemini tekrar gerçekleştirdiğimizde aşağıdaki ekran görüntüsü ile karşılaşıyoruz.
Yüklemek istediğimiz dosyanın İçerik türünün “Application/Octet-Stream” olduğunu görüyoruz.
İçerik türünü manipüle ederek yüklediğimiz PHP dosyasını sisteme resim formatı olarak göstermeye çalışacağız. Bunun için Content-Type kısmını image/jpeg olarak değiştirip forward butonuna tıklamamız yeterli olacaktır.
Sistem üzerindeki kontrolü atlatarak sisteme zararlı PHP dosyamızı yüklemeyi başardık.
Sistem üzerinden bağlantı alabilmemiz için yüklemiş olduğumuz zararlı PHP dosyamızı çağırmamız gereklidir. Zararlı PHP dosyamızı çağırmadan önce zararlı dosyamız üzerinden bağlantı alabilmemiz için yukarıda belirtmiş olduğumuz 8888 numaralı portumuzu dinlemeye almamız gereklidir. Bunun için ise Tools klasörümüz içerisinden “Exploitation” ve listelenen klasörler içerisinden “metasploit” klasörüne geçiş yapıyoruz. Sonrasında “msfconsole” uygulamasını çalıştırıyoruz ve use komutu ile dinleme yapmamızı sağlayacak modülü seçerek dinlemeyi başlatıyoruz. Dinlemeyi başlattıktan sonra zararlı dosyamızı çağırdığımızda sistem üzerinde oturum elde etmiş oluyoruz.
Genel olarak değerlendirirsek; sızma testi yapmak için kullanılacak Commando VM’in, Kali Linux gibi bir dağıtıma göre biraz eksik kaldığı noktalar olabilir.
Örnek vermek gerekirse sızma testi yaparken gereken SQLMap gibi aktif kullanılan bir aracın bu framework içerisinde olmaması eksiklik olarak görülebilir. Tabi ki KeePass, SQLite vb. gibi yardımcı uygulamaların hali hazırda framework içerisinde kurulu olarak gelmesi azda olsa sızma testi uzmanlarının işlerini kolaylaştırmaktadır.
Windows işletim sisteminin Linux’a oranla daha yaygın olarak kullanılması ve Linux’a göre kullanımının daha basit olması, Commando VM’in tercih edilmesine etken olabilir.
Sızma Testi ile ilgili daha detaylı bilgi için : https://sparta.com.tr/sizma-testi ve https://sparta.com.tr/blog/sizma-testi-mi-zafiyet-taramasi-mi linklerini inceleyebilirsiniz.
Sızma Testi teklifi teklif talepleriniz için bize email@example.com veya 0 312 909 33 02 numaralı telefonumuzdan ulaşabilirsiniz.