Merhaba
Siber güvenlik alanıyla ilgilenmiş herkesin karşısına Metasploit çıkmıştır. Özellikle penatrasyon testlerinin olmazsa olmazlarından birisi olan Metasploit, güvenlik testi aracından ziyade bir güvenlik testi çatısıdır. Rapid7 firması tarafından geliştirilmiş olan bu çatı için kendi modüllerinizi geliştirebilir ve metasploit’te yer alması için github üzerinden pull request gönderebilirsiniz.
Penatrasyon testi uzmanı olmak, programlama dili bilmeyi gerektirir.
Aklınıza “Neden metasploit modülü geliştirmeliyim ki ? Zaten hemen hemen her şey var, direk kullanıyoruz..” sorusu gelebilir. Bu soruya şu cevabı vermek isterim;
XYZ isimli bir uygulamada güvenlik açığı buldunuz ve bu zafiyeti sömürecek python scriptini geliştirdiniz. Fark edelim ki bu zafiyet basit bir file upload zafiyeti olsun. Bu zafiyeti sömürerek ters bağlantı (reverse-shell) aldınız. Buraya kadar her şey güzel. Peki bir sonraki adım olan post-exploitation nasıl gerçekleştirebilirsiniz ? Ele geçirdiğiniz sunucuda ki kritik bilgileri nasıl tespit edecek ve yerel bilgisayarınıza nasıl transfer edeceksiniz ? Bu tür ihtiyaçları karşılamak adına tekrardan metasploit’e dönüş yapmanız kaçınılmaz! O zaman msfpayload ile tekrardan payload oluşturup, multi-handler’ı başlatıp aynı zafiyeti tekrardan tetikleyip meterpreter oturumu elde etmeye çalışmanız gerekecek. Tüm bunları yapmak ve yaşamak yerine en başta tespit ettiğiniz güvenlik açığı için metasploit modülü geliştirmiş olmak tüm problemleri çözmekte.
Metasploit çatısı “community driven” bir projedir. Yani kullandığınız metasploit modüllerinin hemen hemen hepsi sizin gibi bir özgür güvenlik araştırmacısı tarafından geliştirilmiştir.
Bu yazı, uzun bir seri olacak “metasploit modülü geliştirme” serisinin başlangıcı olarak, Modül Geliştirme Ortamının Kurulması konusununa değinecektir.