Metasploit

Metasploit Github ile Güvenlik Açıklarını Takip Etmek

Metasploit güvenlik araştırmacıları tarafından en çok tercih edilen framework’lerin başında gelmektedir. Ruby dili ile geliştirilmiş ve açık kaynak kodlu olan metasploit’in github hesabı son derece aktif durumdadır. Örneğin bir güvenlik araştırmacısı bulduğu zafiyeti exploit edecek metasploit modülünü geliştirdikten sonra github üzerinden bu modülün metasploit’e eklenmesi talebinde bulunabilir. Veya bilinen ama metasploit modülü olmayan bir  güvenlik açığı için modul geliştirilip tekrar aynı mantıkla metasploit yapısına entegre edilmesi talebinde bulunulabilir.

Yukarıda bahsedilen yapı aslında son güvenlik açıklıkları hakkında neler olduğu, hangi zafiyetler üzerine exploitlerin geliştirildiği veya metasploit yapısında ne gibi değişikliklerin gerçekleştiği anlamına gelmektedir. Güvenlik araştırmalacıları olarak rapid7 github hesabına yapılan tüm merge ve pull requestleri takip ederek yaşanan gelişmelerden haberdar olabiliriz.

Ayrıca  Kali ile default olarka gelen metasploit, update’ler yapılsa bile son eklenen modulleri içermemektedir. Yani şu anda bir metasploit modülü master branch’e eklenmişse, bunu kali üzerinde göremeyiz. Bu nedenle metasploit’in github entegreli versiyonunu Kali’ye kurarak, pentest’ler den önce yapılacak git update’i ile son sürüm tüm modüllere erişim sağlamalıyız.

Kali Paketlerinin Kurulumu

Metasploit github versiyonunu kurabilmek için öncelikle bağımlılıkları kurmamız gerekmektedir.

Şimdi github rapid7 hesabı üzerinden metasploit’i clone etmeliyiz.

Bu işlem biraz zaman alacaktır. Şimdi ise metasploitin ihtiyaç duyduğu bundle’ları indirmeliyiz.

 Metasploit ve PostgreSQL Entegrasyonu

Kali’de default olarka gelen metasploit’in postgresql veri tabanını kullanmaktadır. Bu nedenle tekrardan postgresql kurulumu yapmamıza gerek yok. Doğrudan postgresql’i kullanarak metasploit-github versiyonumuz için veri tabanı işlemlerini gerçekleştirebiliriz.

Metasploit çalıştırıldığında home klasörü altında ki .msf4 klasörüne bakmaktadır. Eğer burada database.yml dosyası varsa, veri tabanı bağlantı bilgileri olarak bu dosyayı kullanacaktır. Aşağıdaki satırları database.yml olarak .msf4 klasörü altına ekleyiniz. Eğer .msf4 klasörü yoksa, metasploit-github klasörü altında ./msfconsole komutunu çalıştırarak metasploit’i veri tabanı olmadan çalıştırınız. Bu klasörü metasploit kendisi otomatik olarak oluşturacaktır.

Şimdi sıra metasploit-github için postgresql kullanıcısı oluşturmakta. Bunun için aşağıdaki komutları sırasıyla çalıştırınız.

Her şey hazır. Artık metasploit-github klasörü altında ./msfconsole  yazarak son versiyon metasploit’e erişebilirsininiz.

Github ile Güncelleştirme Takibi

Daha önce de belirttiğim gibi metasploit üstünde ki tüm yenilikler, iyileştirmeler ve bug fix’leri github üzerinde görebilirsiniz. Bu nedenle her pentest öncesi tüm yenilikleri metasploit’e yansıtmak akıllıca olacaktır.  Çünkü XYZ uygulaması exploit eden modülü üzerinde bir iyileştirme yapılmış olabilir. Eğer bunun farkında değilsek pentest sırasında başarısız olunacaktır, daha da kötüsü exploit edilebilecek bir yazılım gözünüzden kaçmış olacaktır.

İşlem sonucunda aşağıdakine benzer bir çıktı gözükecektir. Bu çıktıda hangi dosyada kaç satır değişiklik yapıldığı, hangi dosyaların ekklendiği veya kaldırıldığı görülmektedir.

metasploit git merge

Tig ile Metasploit Modül Analizi

tig, tahmin edebildiğiniz üzere git komutunun tersten yazılışıdır . İşlevide hemen hemen git’in tersidir.Ayrıca default olarak kali ile gelmemektedir. Bu nedenle aşağıdaki komut ile kurulumu yapılmalıdır.

metasploit-github klasörü altında tig komutu yazılıp enter’a basıldığında tüm github history’si gözükmektedir. Hangi kullanıcılar hangi modülleri yazdı? Hangi isimde yeni modüller geldi ? gibi soruların tamamına git comment’leri ile erişilebilmektedir. Bu sayede metasploit yakından takip edilerek pentester tecrübesi  artmış olacaktır.

Metasploit tig output