Metasploit Framework Terimler (vulnerability, exploit, payload)
Metasploit kullanımına geçmeden önce pentest ile alakalı bazı terimleri bilmemizde fayda var.
Vulnerability, saldırganın hedef sisteme ulaşabilmesini sağlayan güvenlik zayıflığına verilen addır. Bunlar, privilege escalation(yetki yükseltme), denial-of-service(servis dışı bırakma), buffer overflows, stolen passwords(parola çalma) gibi zafiyetlerdir.
Exploit(Sömürmek, kötüye kullanmak) Nedir?
Exploit belirli bir zafiyet(vulnerability) üzerinde avantaj sağlayabilen ve saldırganın hedef sisteme erişimini sağyalabilen yazılımdır.
Payload, exploit işlemi başarıyla tamamlandıktan sonra çalıştırılacak kod parçasıdır. Aynı zamanda bir payload hedef sisteme nasıl bir shell bağlantısı yapacağınızı belirlemenize izin verir. Hedef sisteme sızdıktan sonra ne yapmak istediğinizi belirleyen koddur.
Shell, hedef sisteme saldırganın erişebilmesi için konsol benzeri bir arayüz sunar.
NOT: Burdaki shell tanımı metasploit içerisindeki shell tanımını yapmaktadır.
Meterpreter, etkileşimli kabuğa(shell) sahip gelişmiş ve çok fonksiyonlu bir payloaddır. Meterpreter kabuğu(shell) ile hedef sistem üzerinde dosya indirmek, dosya almak, kullanıcı hesaplarının hashlerini almak gibi birçok işlemi yapabilirsiniz. Meterpreter hafıza(memory,RAM) üzerinde çalışır ve diske yüklenmez bu yüzden çoğu güvenlik sistemi tarafından tespit edilemez.
Listener, sömürülmüş(exploited) sistemden ya da saldırganın makinesinden gelen bağlantıları bekler ve bağlantı geldiğininde bu bağlantıları yönetir.
Metasploit Framework içerisinde belirli bir işlemi gerçekleştirmek için önceden hazırlanmış kod koleksiyonudur.
Exploit Module Nedir?
Exploit module, bir uygulama ya da sistem üzerinde bulunan belirli bir zafiyet için çalıştırılacak komut dizisidir.
Auxilary Module Nedir?
Auxilary module, bir payload çalıştırmaz, bunun yerine rastgele denebilecek davranışları gerçekleştirebilecek komut dizilerine sahiptir bunlar exploit işlemiyle alakalı olmayabilir. Örnek olarak brute-force(kaba kuvvet), fuzzig(rastgele girdi), denial-of-service(servis dışı bırakma) ve port tarama, bilgi toplama gibi araçları içerisinde barındırır.
Post Exploitation Module Nedir?
Post exploitation module, sömürülmüş(exploited) sistem üzerinde daha sonra yetki yükseltebilmek için bilgi toplamaya izin verir.
Shellcode, exploitlerin payload olarak kullanabildiği makine talimatları(instruction) içeren koddur. Aynı zamanda genellikle shellcodelar saldırgana sistemi rahat bir şekilde yönetebilmek için shell verirler. Ancak bir shellcode bir programın yaptığı herşeyi yapabilir.
0-Day (Sıfırıncı Gün Zafiyetleri) Nedir?
Bir zafiyetin ilk kez biri tarafından bulunduğu zamanki zafiyetlere verilen isimdir. Zafiyeti daha önceden kimse bilmediği için önlemi alınmamıştır. En tehlikeli zafiyet türüdür.