Metasploit Framework'e Giriş | |||||
Merhaba, bu makalede sizlere siber güvenlik alanında önemli bir yere gelmiş olan Metasploit Framework'ten bahsedilecektir. Bu makale birkaç makale ile ilintili olacağı için ilintili başlıklar şu şekilde:
Metasploit Framework sızma testi uzmanları için geliştirilmiş, içinde binlerce zararlı yazılım ve materyal içeren, ayrıca sızma testi sırasında kullanılabilecek çeşitli yardımcı araçlar da içeren bir platformdur. 2003 yılında perl ile yazılmış olan bu platform 2007 yılında ruby dili ile tamamen baştan tekrardan yazılmıştır. Metasploit Framework başlarda network üzerinde çeşitli numaralar yapmak üzerine oyun icabı geliştirilmiş bir platformken sonraları ciddi saldırılar yapmak üzerine kurgulanmış bir platform halini almıştır. Metasploit framework'ün ücretsiz community (topluluk) sürümü olduğu gibi ücretli Pro sürümü de mevcuttur. Metasploit Framework sızma testi uzmanlarının sıklıkla kullandığı platformlardan bir tanesidir. Bu platform ile sızma testi uzmanları çeşitli hedef sistemlere sızılabiliyor mu, sızılabiliyorsa ne kadar ileri gidilebiliyor, hedef sisteme ne türden ve ne kadar zarar verilebiliyor gibi tespitler yapabilmektedirler. Metasploit Framework bir tür zararlı gereçlerin toplandığı tertipli bir kütüphane niteliğindedir. Metasploit Framework dört adet arayüze sahiptir. Bunlar; msfconsole, msfcli, armigate ve cobalt strike şeklindedir. Arayüz ile kastedilen şey Metasploit Framework ile etkileşim halinde olduğumuz yazılımlardır. Metasploit Framework bir platformdur ve örneğin msfconsole onu kullanan, organize eden bir yazılımdır. Bu konuda detaylı bilgi için bkz. Metasploit Framework vs. Msfconsole. msfconsole komut satırı üzerinden metasploit framework'ü kullanmamızı sağlar. msfcli yine komut satırı üzerinden metasploit framework'ü kullanmamızı sağlar, fakat msfconsole'da birkaç satırda yapılabilen bir işlemi msfcli tek satırda yapabilmektedir. Armitage ücretsiz yazılımı (arayüzü) GUI üzerinden metasploit framework'ünü kullanmamızı sağlar. Cobalt Strike ücretli yazılımı (arayüzü) ise yine GUI üzerinden metasploit framework'ünü kullanmamızı sağlar. Özetle msfconsole ve msfcli metasploit framework'ünü komut satırı üzerinden, armitage ve cobalt strike ise metasploit framework'ünü pencereler (GUI) üzerinden kullanma imkanı sunan arayüzlerdir. Not: Cobalt Strike yazılımını Armitage'ı geliştiren ekip geliştirmiştir, fakat Cobalt-Strike Armitage'a göre çok daha etkili ve yetenekli yapıldığı için ücretle kullanıma sunulmaktadır.
Sayılan bu metasploit framework arayüzleri içerisinden msfconsole en sık kullanılan metasploit framework arayüzüdür. Çünkü msfconsole Metasploit Framework'e hükmetme konusunda en kapsamlı ve en esnek arayüze sahip olandır. Aşağıda msfconsole'un çalıştırıldıktan sonraki bir ekran alıntısını görmektesiniz: Metasploit Framework'te altı adet modül türü bulunmaktadır. Bunlar exploit, payload, auxiliary, post-exploitation, encoder ve nop şeklindedir (Not: Yukarıdaki resimde köşeli parantezler arasında bu modül kategorilerini ve kaçar adet ilgili modülleri içerdiğini görebilirsiniz). Bu modül kategorilerinden exploit kategorisi sızma girişiminde kullanılacak zararlı dosyaları içerir. Payload kategorisi sızma işlemi başarılı olduğunda ve hedef sistemin içine girildiğinde hedef sistem içinde çalıştırılabilecek zararlı dosyaları içerir. Auxiliary kategorisi sızma testi sırasında ihtiyaç duyulabilecek çeşitli yan araçları içerir. Örneğin servis bilgisini öğrenme (banner grabbing), zafiyet tarama, şifre tespit etme,... gibi. Post-exploitation kategorisi hedef sisteme sızdıktan sonra hedef sistemin bir başka konumuna sızmada ya da hedef sistemden hedef sistemin bulunduğu LAN ağı içerisindeki bir başka makinaya da sızmada kullanılabilecek zararlı dosyaları içerir. Encoder kategorisi oluşturduğumuz payload'ların antivirus / IDS gibi güvenlik mekanizmalarınca tanınmaması için çeşitli algoritmalar ile kodlanmasını sağlayan kodlayıcı dosyalar içerir. Son olarak NOP kategorisi ise hedef sistemde programın / servisin çökertilmesi (crash edilmesi), program / servis yerine komple sistemin çökertilmesi (crash edilmesi) ya da sistemde keyfi (saldırganın dilediği) komutların çalıştırılması gibi amaçlar için sistemdeki programın / servisin tamponunda nop (no-operation, yani işlem yapma) kodları ile ilerlemeler kaydetmeyi sağlayan kodlama türlerini içerir. Exploit demek sömürmek demektir. Siber güvenlik jargonunda bir sistemin zafiyete sahip servisi üzerinden bazı illegal avantajlar elde etmeye exploitation, yani sömürme adı verilmektedir. Payload ise yük demektir. Siber güvenlik jargonuna geçmiş payload (yük) kelimesini şu benzetmeyle anlamlandırabilirsiniz: Örneğin bir hırsız elinde bir dinleme cihazı (yük) ile hedef eve sızdı (exploitation). Evin ilgili konumuna dinleme cihazını (yükü) yerleştirdi ve dinleme cihazını aktifleştirdi (çalıştırdı). Son olarak evden ayrıldı. Böylece hırsız hedef evde geçen konuşmaları kendi evinde dinleyebilir duruma geldi. Bu olayda hırsızın hedef eve sızması exploitation, hedef eve yükünü bırakmasına ise payload adı verilir. İşte siber güvenlik dünyasına gelen payload terimi bu benzetmeden ileri gelir. Post-exploitation ise adından da anlayabileceğiniz üzere post-"exploitation", yani ileri sızma anlamına gelir. Auxiliary yardımcı araçlar, Encoder zararlı dosyaları belirtilen çıktı formatında byte kodlara dönüştürmeye denir. Bu şekilde zararlı dosyalar bir veya birden fazla kez dönüşüme uğrayarak tanınmaz hale gelir ve güvenlik mekanizmalarınca dosyadaki zararlı aktivitelerin tespit edilememesi amaçlanır. Zararlı dosyaların bu dönüştürme işlemine encoding (kodla - sakla), bu işi yapan araçlara da encoder (kodlayıcı) adı verilir. Son olarak NOP'a gelecek olursak NOP "işlem yapma, beni pas geç ve ilerle" diye özetlenebilecek makine seviyesindeki kod türlerini içerir. Bu makine seviyesindeki kod türleri hedef sistemdeki program / servis yoluyla program / servis tamponunun akışını değiştirmeyi ve program / servis tamponu bölgesinde atlamalar yaparak hedef programın / servisin çökertilmesi (service crash), hedef sistemin çökertilmesi (system crash), hedef sistemde yönetici haklarıyla komut çalıştırılabilmesi gibi illegal eylemlerin gerçekleştirilebilmesini sağlar. Bu eylemlere ulaşılabilmesindeki temel mantık hedef sistemdeki programa verilen örn; "normal girdi + n sayıda nop kodu + keyfi komut" string'inin programın alması gereken girdi boyutundan daha fazla olması dolayısıyla programın tamponunda yaşanan taşma sonrası string'in devam eden kısımlarındaki nop (işlem yapma - yani pas geç ve ilerle) kodlarının programın tampondaki normal akışını kaydırması ve tamponda olması gerekenden daha farklı bir konuma gidilmesinden, nihayetinde ise keyfi komutun kayma işlemi sonrası elverişli bir konuma yumuşak iniş yapmasından (yani tam da işe yarayacağı konuma yerleşebilmesinden) ibarettir. Saldırganları bu saldırılarda zorlayan şey uygun nop sayısını tutturmaktır. Eğer doğru sayıda "nop kodlaması" ve peşisıra gelecek keyfi komut string'ini gönderebilirlerse programa şu satıra git gibi direktifler verdirebilir ve verdiği komutun çalışmasını sağlayabilir. Sonuç olarak NOP kategorisi programların / servislerin tampondaki normal akışlarını bozan / değiştiren ve farklı sonuçlar elde edebilmeyi sağlayan kodlama türlerine denir. Pekala, metasploit framework'ü ve popüler arayüzü olan msfconsole'u gördüğümüze göre isterseniz şu adresten ( Windows / Linux için Metasploit ) manuel olarak Metasploit Framework ve Console'unu indirebilir ve kullanabilirsiniz ya da bir linux dağıtımı olan, içinde yüzlerce siber güvenlik aracının hazır kurulu halde geldiği Kali Linux sanal makinasını şu adresten ( WMWare/VirtualBox için Kali Linux Sanal Makinası ) indirerek orada Metasploit'i kullanabilirsiniz. Zira sonraki ilintili makalelerde metasploit framework'ünü kullanarak sızma uygulaması yapılacağından Metasploit Framework ve console'unu edinmek isteyebilirsiniz. Yararlanılan Kaynaklar:
|
|||||
Bu yazı 13.11.2018 tarihinde, saat 11:18:50'de yazılmıştır. 23.08.2024 tarihi ve 19:12:11 saatinde ise güncellenmiştir. | |||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||