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:
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.