Metasploit Framework Nedir?
Metasploit, güvenlik testleri için geliştirilen açık kaynaklı bir penetrasyon testi aracıdır. Ruby dilinde yazılmış olup, pratik bir arayüze ve kullanım kurallarına sahiptir. 1000'den fazla exploit içerir. Metasploit, exploitlerin ve diğer araçların kolay kullanımı için birçok parametre ve modül sunar.
Güvenlik testleri yaparken oldukça kullanışlıdır. Metasploit için herhangi bir exploit geliştirildiyse, sisteme eklenerek kullanılabilir ve geliştirilebilir. Metasploit ile işletim sistemlerinde (Windows, Linux, Android vb.) basit web güvenlik testleri ve yönetilen testler yapılabilir. Sistemden bilgi toplanır, bu bilgiler istismar edilir ve ardından sistem, ilerleme ve kalıcılık açısından izlenir. Elbette bu, güvenlik testi yapan kişinin sorumluluğundadır. Önemli olan, Metasploit'in tek bir amaç için değil, birçok farklı amaç için kullanılabilmesidir. Kullanıcı, gerçekleştireceği işlemleri belirler ve kendi test stratejilerini oluşturur. Bu süreç pratik ve hızlı bir şekilde yürütülebilir.
Metasploit'in kendine ait bir dosya sistemi vardır:
Veri | Veriler metasploit tarafından kullanılır ve değiştirilebilir. |
---|---|
Lib | Çerçeveyi oluşturan sistemin ana yapısı kütüphanedir. |
Plugins | Framework'ün tüm özelliklerini kullanarak otomatik olarak çalışan ve işlev gören eklentiler. İşlem sırasında çalışırlar. |
Tools | Bunlar onların adına çalışan ve komut satırları üzerinde çalışan araçlardır. |
External | Dış kaynaklar 3. parti yazılımlar ve kaynak kodlarıdır. |
Documentation | Çerçeveyi bilgilendirmek için kullanılan belgeler. |
Modules | Normal modüller. |
Scripts | Meterpreter gibi gelişmiş betikler |
Nasıl Kurulur?
Metasploit, birçok platformda çalışabilir; örneğin Mac, Windows ve Linux. Bu seçeneklerle her kullanıcıya hitap eder ve rahat bir kullanım sunar. Ben Linux kullanıyorum ve bu konuda daha deneyimli olduğum için, Linux'ta nasıl kurulup kullanılacağını göstereceğim. Elbette, Windows veya Mac üzerinde de kurulum yapabilirsiniz, ancak rahat ve pratik kullanım açısından Linux'u öneririm.
Linux için Kurulum:
Lubuntu işletim sistemini kullandığım için, size Lubuntu üzerinden nasıl kurulacağını göstereceğim. Ancak çoğu Linux dağıtımının yapısı benzerdir. Kali Linux veya Backtrack Linux gibi dağıtımları kullanıyorsanız, Metasploit Framework genellikle önceden kurulu gelir. Fakat bu eğitimi okuyorsanız ve adımları izleyerek Metasploit'in kurulumunu öğrenmek istiyorsanız, onu güncellemek iyi bir fikir olabilir.
Aşağıdaki komutları sırayla giriyoruz:
sudo apt-get install curl
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
./msfinstall
Komutlarımızı sırayla girdik ve kurulum işleminiz başarıyla tamamlandı.
Genel Komut ve Kavramlar
Metasploit'te her zaman kullanılacak komutlar vardır. Bu komutlar bir exploit seçmek, bir parametre girmek gibi birçok işlemde kullanılacak ve her zaman karıştırılacaktır.
Parametreler modüllere göre değişir. Dersleri takip ederseniz modülleri kullandıkça daha iyi anlayacaksınız, bu bilgileri tazelemek için zaman zaman açıklayacağım. Bazı kavramlar uzun olduğu için bu girişi kısaca açıklayacağız ve daha sonra daha detaylı çalışacağız.
Exploit Seçimi
use komutu, ana metasploit penceresinde herhangi bir exploit veya modülü seçmek için kullanılır.
Örneğin:
use exploit/windows/smb/ms08_076_netapi
Modül seçildiğinde exploit (ms08_067_netapi.php) çıktısı verir.
Exploit İçin Uygun Payload'un Seçilmesi ve Kullanılması
Payload, exploit'ten sonra çalışarak sistemin kontrolünü ele geçirmeyi ve istenen işlemleri gerçekleştirmeyi sağlayan bir modüldür.
Genel olarak, bir payload seçerken, exploit'e uygun olanını seçmek önemlidir. Başka bir deyişle, eğer Windows işletim sistemine saldırmak istiyorsanız, o sisteme uygun bir exploit seçilir ve bu exploit'e uygun bir payload belirlenir. Windows, Linux ve Android gibi işletim sistemlerinin kendilerine özgü payload'ları vardır. Payload'lar, sistemden sisteme ve exploit'ten exploit'e değişiklik gösterebilir. Payload'ları daha sonraki derslerde daha ayrıntılı olarak inceleyeceğiz.
Payload'lar, exploit'lerle birlikte kullanılabilir ve genellikle uzak sistemlerdeki exploit'leri de kullanır. show payloads komutu, seçilen exploit ile birlikte kullanılabilecek tüm payload'ları listeler.
Örneğin:
set PAYLOAD windows/shell_reverse_tcp komutuyla yükümüzü seçebiliriz. Sistem istismar edildiğinde, windows/shell_reverse_tcp yüke geçecektir.
Parametreleri Tanımak
Explot'u bir sistemde çalıştırmak için, hedef sistem ve hedef sistem hakkında bazı bilgiler önceden exploit'e girilmelidir. Bu parametreleri görmek için "show options" komutunu kullanabilirsiniz. Komut, modülü en üstte ve yükün parametrelerini en altta gösterecektir.
İsim | Parametreli isim |
---|---|
Mevcut Ayar | Parametre için girilen değer |
Gerekli | Girişin zorunlu olmadığı yer. "Hayır" zorunlu değil, "Evet" girilmesi zorunludur. |
Tanım | Parametrenin açıklaması |
Parametrelerin bu bilgiler doğrultusunda girilmesi gerekmektedir.
Kategori:
Bulut Bilişim