Merhaba değerli THT üyeleri ve forum dışı ziyaretçilerimiz. Bu konuda istismar araçlarından metasploit aracını işleyeceğiz hemen konumuza başlayalım...
Metasploit Nedir?
Metasploit, Kali Linux'ta en yaygın kullanılan pentesting aracıdır. Metasploit' in ana bileşenleri msfconsole ve sunduğu modüllerdir. Ana işlevi, sızma öncesi ve sonrası sızma testi görevlerine odaklansa da, exploit geliştirme ve zafiyet taramalarında da yardımcı olur. Modüller ruby ile yazılmıştır ve veri tabanı olarak postgresql kullanır.
Metasploit Framework Nedir?
Metasploit Projesinin en etkili eylemlerinden biri Metasploit Framework' dür. Metasploit Framework, açıklardan yararlanmaları geliştirmek, test etmek ve yürütmek için bir yazılım ortamıdır. Güvenlik testi için araçlar oluşturmak, modülleri kullanmak için kullanılabilir.
Metasploit Kısa Tarihçe
Metasploit 2003 yılında Perl yazılım dili ile ağ aracı olarak yazıldı. 2007 yılında ise framework' ü yenileyerek Ruby dili ile tamamen baştan yazıldı.
Metasploit, 2003'ten beri BT ve güvenlik uzmanları arasında favori bir araç olmuştur. Metasploit Projesi 2009'da Rapid7 tarafından satın alınmıştır.
Rapid7 Metasploit Pro' olarak metasploit' in ticari bir sürümünü geliştirdi. Metasploit Pro, kullanıcılara aşağıdakiler de dahil olmak üzere diğer gelişmiş özelliklerle birlikte tam penetrasyon testi otomasyonu sağlar:
Metasploit Nedir?
Metasploit, Kali Linux'ta en yaygın kullanılan pentesting aracıdır. Metasploit' in ana bileşenleri msfconsole ve sunduğu modüllerdir. Ana işlevi, sızma öncesi ve sonrası sızma testi görevlerine odaklansa da, exploit geliştirme ve zafiyet taramalarında da yardımcı olur. Modüller ruby ile yazılmıştır ve veri tabanı olarak postgresql kullanır.
Metasploit Framework Nedir?
Metasploit Projesinin en etkili eylemlerinden biri Metasploit Framework' dür. Metasploit Framework, açıklardan yararlanmaları geliştirmek, test etmek ve yürütmek için bir yazılım ortamıdır. Güvenlik testi için araçlar oluşturmak, modülleri kullanmak için kullanılabilir.
Metasploit Kısa Tarihçe
Metasploit 2003 yılında Perl yazılım dili ile ağ aracı olarak yazıldı. 2007 yılında ise framework' ü yenileyerek Ruby dili ile tamamen baştan yazıldı.
Metasploit, 2003'ten beri BT ve güvenlik uzmanları arasında favori bir araç olmuştur. Metasploit Projesi 2009'da Rapid7 tarafından satın alınmıştır.
Rapid7 Metasploit Pro' olarak metasploit' in ticari bir sürümünü geliştirdi. Metasploit Pro, kullanıcılara aşağıdakiler de dahil olmak üzere diğer gelişmiş özelliklerle birlikte tam penetrasyon testi otomasyonu sağlar:
- Manuel Sömürü
- Anti-virüs ve IPS/IDS Kaçınma
- Proxy Özeti
- Keşif Sonrası Modüller
- Oturum Temizleme
- Kimlik Bilgilerinin Yeniden Kullanımı
- Sosyal mühendislik
- Yük Üreteci
- VPN Döndürme
- Güvenlik Açığı Doğrulaması
- Web Uygulama Testi
Arayüzler
Ara yüzler, kullanıcıların Metasploit Framework' e erişebildiği farklı platformlardır. Dört ara yüz mevcuttur:
- MSFConsole
- Armitage
- MSFWeb
- RPC
Metasploit' in Faydaları
Metasploit, güvenlik ekiplerine siber güvenlik uygulamalarını güçlendiren aşağıdakiler de dahil olmak üzere birçok avantaj sunar:
- Gerçek Dünya Senaryo Simülasyonu: Pentester, bir organizasyonun sistemlerini bir bilgisayar korsanının bakış açısından görebilir. Bu görünürlük, keşfedilen güvenlik açıklarını ve diğer saldırı vektörlerini düzelterek ağ güvenliğini artırmaya hazırlanmalarını sağlar .
- Görev Otomasyonu: Metasploit, sızma testi yapanların penetrasyon testi sürecinde yer alan sıkıcı görevlerin çoğunu otomatikleştirmesini sağlar. Bu komutların temel kodunun çoğu, kitaplıklarında saklanır.
- İş Durumu Optimizasyonu: Metasploit, yöneticilere hangi güvenlik açıklarına öncelik verilmesi gerektiği konusunda net raporlama sağlar. Güvenlik ekipleri, potansiyel istismarlara ilişkin net kanıtlarla, saldırı yüzeyini azaltabilecek ek güvenlik araçlarının satın alınması için daha güçlü iş vakaları oluşturabilir .
Metasploit Zorlukları
Pek çok faydasına rağmen Metasploit'in zorlukları da yok değil. Metasploit' in düşüşlerinden bazıları şunlardır:
- Hacker Kullanımı: Metasploit, herhangi bir pentester' ın araç setinde temel bir unsur olsa da, bilgisayar korsanları tarafından kötü niyetli amaçlarla da kötüye kullanılır.
- Yasal Belirsizlik: Metasploit' in istilacı doğası, yalnızca siber suçlular için değil, aynı zamanda etik bilgisayar korsanları için de yasal riskler sunar. Birçok kuruluş, iş akışlarını buluta taşıyor ve hassas verileriyle ilgilenmek için diğer üçüncü taraf hizmetlerini kullanıyor . Bu sistemlerde veri güvenliğinin test edilmesi, kuruluş ile satıcı arasındaki ilişkiden bağımsız olarak, sözleşmeye dayalı anlaşmaların ihlali anlamına gelebilir.
- Teknik Sorunlar: Pentester bir sistemden yararlanmaya çalıştığında, istenmeyen etkilere neden olabilir. Hem başarılı hem de başarısız saldırılar, uygulamaların çökmesine, DoS saldırılarına ve diğer sistem arızalarına neden olabilir.
Metasploit'te Msfvenom Nedir?
Msfvenom, standart komut satırı seçeneklerini içerir. Android, Windows, Unix ve daha pek çok platform için faydalı payloadlar üretebiliriz. Temel olarak, Metasploit'te bulunan tüm çeşitli shell kodlarının türlerini oluşturmak ve çıktı almak için kullanılır.
Metasploit Modülleri
Metasploit, ana işlevselliğini sağlayan küçük kod parçacıklarına sahiptir. Metasploit' in ana modülleri aşağıdaki gibidir;
Modül Başlıkları | Modül Açıklamaları |
|---|---|
Exploits | Uygulamaların zafiyetlerini kullanarak sisteme erişmeyi sağlayan küçük programcıklardır. |
Payloads | Exploitler ile sisteme sızdıktan sonra sistemde neler yapılması gerektiğini belirten programcıklar. Yani içeride neler yapılıyorsa payloadlar tarafından yapılıyor. Örnek olarak Meterpreter oturumu veya reverse shell örnektir. |
Auxiliary | Yardımcı modül, bilgi toplamak ve hedef sistem hakkında daha derin bir anlayış elde etmek için fuzzerlar, tarayıcılar ve SQL enjeksiyon araçları gibi bir dizi program içerir. |
Encoders | Kabuk kodunuzu gizlemek için kullanabileceğiniz kodlayıcılar vardır. Payloadınız yürütüldüğünde orijinal haline gelen, kendi kendine şifresini çözen bir kabuk kodu bloğuna paketlerler. Şifre çözme anahtarı rastgele seçildiği için payloadın tespit edilmesini zorlaştırır. |
Posts | Hedef sistemin içindeyken daha derine nüfuz etmek için kullanılır. |
Nops | Bellek adreslerinde istenilen yere ulaşmak için NOP' ları kullanırız. |
Evasion | Hedef sistemdeki anti-virüs yazılımlarından kaçabilecek pyloadlar oluşturmanıza yardımcı olmak için tasarlanmıştır. |
Metasploit' in Arayüzü Nasıl Kullanılır: msfconsole
Metasploit ara yüzünü kullanmaya başlamak için Kali Linux terminalini açın ve msfconsole yazın .
Varsayılan olarak, msfconsole bir başlık sayfasıyla açılır; bunu kaldırmak ve arabirimi sessiz modda başlatmak için "-q" parametresi ile msfconsole komutunu kullanın.
Arayüzü bir Linux komut satırına benziyor. Desteklediği bazı Linux Bash komutları ls, clear, grep, history,jobs, kill, cd, exit, vb.'dir.
msfconsole içinde kullanabileceğiniz tüm kullanılabilir komutların listesini görmek için help veya soru işareti " ? " yazın.
Bu konuda kullanacağımız temel komutların bazıları şunlardır:
- search : Verilen protokol/uygulama/parametreye göre Metasploit veri tabanından arama yapmanızı sağlar.
- use : Belirli bir modülü seçmenize ve modüle özgü komutlarla ayarlarını değiştirmenize olanak tanır.
- sessions : Hedef sistemde kurulan shell oturumunu arka plana atmaya veya geri bağlanmayı sağlar.
- show : Geçerli modül için verilen modül adı ve seçenekleri hakkındaki bilgileri görüntüler.
- set : Geçerli modül için ayarları yapılandıran bağlama özel bir değişkendir.
- unset : Önceden ayarlanmış parametreleri kaldırır.
- info : Seçilen modül hakkında bilgi sağlar.
- run/exploit : Geçerli modülü yürütür.
Msfconsole Uygulama
Hedef sistem üzerinde nmap taraması yapıyorum. -sS, -sV parametreleri ile de açık portların servis ve versiyon bilgilerini öğrenmek istediğimi belirtiyorum. Yapılan taramada bir çok portun açık olduğunu tespit ettik ben burada 21. port üzerinden devam edeceğim.
Şimdi tarama sonucunda 21. portta ftp servisinin "vsftpd 2.3.4" sürümünü kullandığını tespit ettim. Msfconsole geldim ve search komutu ile versiyon bilgisini yazarak uygun exploiti aramaya başlayacağım. Burada kelime bazlı "vsftpd" veya tamamını yazabiliriz "vsftpd 2.3.4" şeklinde ben kelime bazlıyı tercih ediyorum ve öneriyorum.
Yapmış olduğum arama sonucunda bir exploit olduğunu rank değeri excellent ve açıklamasına baktığımda "VSFTPD 2.3.4 Backdoor" olduğunu gördüm. Exploit hakkında daha detaya inmek için exploit adını kopyalıyorum ve use komutu ile exploiti seçiyorum. İnfo komutu ile exploit hakkında detaylı bilgiye ulaşıyorum.
İnfo kısmında verilen bilgilere göre hedef sistemimize uygun olduğunu anladık ve aracın kullanıma bakmak istiyoruz. Bunun için "show options" yazarak exploit' in çalışması için bizden istenilen bilgilere bakıyoruz.
Exploit iki tane parametre alabiliyormuş. Birincisi "RHOSTS" bu Remote Host yani hedefin ip adresi. Diğer parametre ise "RPORT" bu da Remote Port, hedef sistemin "vsftpd 2.3.4" sürümünü kullandığı açıklı port. Bu parametreyi varsayılan olarak 21 girilmiş. Burada parametrelerin karşısında "Required" bölümünde "yes" yazıyorsa bu bilgi mutlaka girilmesi gerekiyor anlamına gelir. Burada ki değer "no" olursa eğer o bilgiyi biliyorsanız girin bilmiyorsanız boş kalabilir doldurmak zorunda değilsiniz. Ama unutmayın exploite hedef hakkında ne kadar çok bilgi girerseniz exploit o kadar sağlam çalışır.
Bizim exploitte iki değer de yes olduğu için girmemiz gerekiyor. Bu kısımlara değer girerken "set" komutundan yararlanacağız. Komutları yazdıktan sonra ayarlarımız kayıt edilmiş mi diye tekrar dan "show options" ile kontrol ediyoruz.
Son olarak tüm işlemler tamam ise exploiti çalıştırmak için "run veya exploit" komutunu kullanıyoruz.
Exploit başarılı bir şekilde çalıştı ve hedef sistemde bir shell oturumu elde etti. "whoami" yazarak sistemdeki kullanıcı adına bakıyorum. Artık sistemde dolaşarak amacımı yerine getirebilirim fakat ben diyelim ki bu oturumu arka plana almak istiyorum bunun için "background" yazarak gelen soruya "y" yanıtını veriyorum. Şuan da oturum bizim kontrolümüz de ama aynı zamanda metasploit içerisindeyiz.
"sessions -i" komutunu yazdığımızda hedefte bulunan bağlantının bilgisini görebilirsiniz. ID numaralarını kullanarak oturuma geri bağlanabiliriz. "sessions -i 1"
Tekrardan oturumu elde ettik. Kısaca msfconsole temel kullanımı böyledir.
Armitage Uygulama
Armitage metasploitin görsel kullanımı için geliştirilmiş araçtır. Msfconsole ile yapılan her şey armitage ile de yapılabilir. Armitage eski kali sürümlerinde hazır kurulu geliyordu fakat yeni sürümlerde kurulu gelmiyor. Terminale "apt-get install armitage" yazarak basit bir komut ile kurabiliriz. Kurulum tamamlandıktan sonra "msfdb init" yazarak database oluşturmanız lazım(otomatik oluşturuyor). Daha sonra terminale "armitage" yazarak giriş yapabilirisiniz.
Hedef sistem üzerinde yaptığım taramada tekrardan açık bir çok port buldum burada 6667. port irc servisini kullanmak istiyorum. Versiyon bilgisinde sadece isim yazılı herhangi bir sürüm bilgisi yok böylesi bir durumda arama işlemini harf bazlı olarak yapabiliriz.
Armitage' e gelerek versiyonun adını yazmaya başlıyorum. 4 harfini yazınca bana bir exploitleri veriyor. Burada her ne kadar versiyon bilgisi gözükmese de benim bu exploiti hızlı bir şekilde denemem lazım. Üzerine çift tıklıyorum ve benden istediği parameterelere bakıyorum. Msfconsole' daki "show options" gibi.
Benden burada 4 parametre istiyor LHOST, LPORT, RHOST ve RPORT. LHOST: Local Host yani kullandığımız makinenin ip adresi bunu otomatik doldurmuş. LPORT: Local Port bu bilgiyi de otomatik doldurmuş. RHOST ve RPORT bilgilerini anlatmıştık burada RPORT bilgisini yine otomatik doldurmuş. Bizim girmemiz gereken tek yer RHOST ( hedef sistemin ip adresi). Üzerine çift tıklayarak bilgiyi giriyorum. Bilgilerin hepsini girdik ve launch butonuna basarak exploiti çalıştırıyoruz.
Gördüğünüz gibi aynı işlemleri aslında altta bizim yerimize otomatik yazdı ve sisteme erişmeyi başardı. Shell oturumuna erişmek için çıkan bilgisayara sağ tıklıyoruz "Shell" kısmına geliyoruz ve "Interact" seçeneğine basıyoruz altta komut satırı çıkacaktır karşımıza.
Linux komutlarını çalıştırıyoruz ve aynı msfconsole gibi hedef sistemde shell oturumu elde etmeyi başardık.
Okuyan herkese teşekkür ederim. Umarım faydalı olmuştur...
Son düzenleme:




