METASPLOİT

Bugünün farkındalığı, Yarının Güvenliğidir.

METASPLOİT

GİRİŞ

Görsel. 1. metasploit görseli [1]

 Metasploit Framework, güvenlik denetimleri ve penetrasyon testleri için önemli bir araç olarak, farklı dillerde yazılmış exploit’leri bir araya getirerek güçlü bir test platformu oluşturmuştur. Geniş işletim sistemi desteği ve özelleştirilebilir kabuk kodları sayesinde kullanım alanı genişlemiştir. Sistem denetimi, güvenlik açıklarının geliştirilmesi, yama testleri gibi ciddi alanlarda denetmenler, sistem yöneticileri, etik hackerlar ve araştırmacılar tarafından kullanılmaktadır.

Bu yapı 2003 yılında geliştirilmeye başlanmış, zamanla yayımlanmış exploitleri belirli bir düzen içinde kullanarak güvenlik denetimini kolaylaştırmayı amaçlayan bir açık kaynak kodlu bir platform halini almıştır. Exploitleri düzenlemenin yanı sıra, ek araçlar  ile geliştirilmiş saldırı seneryoları ve sistem hacking’i etkinleştirilmiştir.

Güncel sürümü, 1000’den fazla exploit, 250’den fazla kabuk kodu ve 500’ün üzerinde yardımcı modül içermektedir. Windows, Linux, macOS ve bazı mobil işletim sistemlerini desteklemektedir. Armitage adlı bağımsız bir grafik arayüz seçeneği de mevcuttur. Ticari alternatiflere kıyasla eksikleri azdır ve exploit yayınlama standartları oluşturma yolunda ilerlemektedir. [2]

1.METASPLOİT NEDİR?

 Metasploit, siber güvenlik alanında kullanılan bir açık kaynaklı araçtır ve esasen güvenlik testleri yapmak için geliştirilmiştir. Penetrasyon testleri ve güvenlik açıklarının keşfi amacıyla tasarlanmıştır. Metasploit, kullanıcıların hedef sistemlerdeki güvenlik açıklarını tespit etmelerine, bu açıkları istismar etmelerine ve sonuçları analiz etmelerine olanak tanır. [7]

      Görsel 1: metasploit giriş ekranı[2]

2.METASPLOİT NE İŞE YARAR?

Metasploit, genellikle şu amaçlarla kullanılır:

2.1Penetrasyon Testi:

 Bir ağın, sistemin ya da uygulamanın güvenlik açıklarını bulmak ve bu açıkların suistimal edilip edilemeyeceğini test etmek için kullanılır. Penetrasyon testi, bir güvenlik uzmanı tarafından gerçekleştirilen etik hackerlık faaliyetidir.

2.2Güvenlik Değerlendirmesi:

Bilinen açıkların ve zafiyetlerin sistemde olup olmadığını değerlendirmek için kullanılır. Metasploit, bu açıklardan yararlanarak ağ yapılarındaki güvenlik risklerini ortaya çıkarabilir.

2.3Siber Saldırı Simülasyonu:

Gerçek bir saldırıya maruz kalmadan önce, sistemin ne kadar güvenli olduğunu test etmek amacıyla saldırılar simüle edilebilir.

2.4Eğitim ve Öğretim:

Metasploit, siber güvenlik uzmanları ve etik hacker’lar için eğitim amaçlı da kullanılmaktadır.

2.5Zafiyet Araştırma:

Güvenlik araştırmacıları, Metasploit ile yazılım ve sistemlerin zafiyetlerini test eder ve bu açıklardan nasıl faydalanabileceklerini anlamaya çalışır.

Görsel 2: Siber görsel [3]

3.METASPLOİT NEDEN     KULLANILIR?

      3.1Güvenlik Açıklarını Keşfetme:

Yazılım ve donanım sistemlerindeki bilinen  güvenlik açıklarını hızlıca keşfetmek için kullanılır.

3.2Zafiyetleri İstismar Etme:

Kullanıcı ve organizasyonlar, kendi sistemlerinde açıklar olup olmadığını görmek amacıyla bu araçla zafiyetleri test edebilirler.

3.3Etkili Penetrasyon Testi:

Sistem yöneticileri, bir ağ veya uygulamanın güvenliğini değerlendirmek için penetrasyon testleri yapar. Metasploit, bu tür testlerde yaygın olarak kullanılır.

4.Metasploit’in Sağladığı Bilgiler:

Metasploit kullanarak bir sistemde elde edilebilecek bazı bilgiler:

4.1Ağ yapısı ve sistem bilgileri: Bir saldırı gerçekleştikten sonra, Metasploit ağ üzerindeki makineleri, işletim sistemlerini, açık portları ve hizmetleri tespit edebilir.

4.2Kullanıcı bilgileri: Şifreler, kullanıcı adları ve diğer hassas bilgiler sisteme sızıldığında elde edilebilir.

4.3Gizli dosyalar ve veriler: Metasploit, dosya sisteminde bulunan gizli ya da korunan verileri bulabilir.

4.4Yönetici hakları: Metasploit, sistemdeki kullanıcı haklarını yükseltmek için de kullanılabilir (örneğin, yönetici hakları almak)

5.METASPLOİT MODÜLLERİ

Görsel 3: metasploit modülleri [4]

5.1Exploits (Açıklar):

Metasploit Framework’te exploit, güvenlik açığından faydalanarak hedef sisteme yetkisiz erişim sağlayan ve kabuk kodu çalıştıran modüllerdir. Exploit, güvenlik açığı bulunan bir servisi istismar ederek kullanıcının seçtiği kabuk kodunu veya uygulamayı hedef sisteme yükler ve çalıştırır. Bazı exploit’ler, hedef sistemin saldırgana bağlanmasını bekleyerek veya özel bir dosya ile açığı tetikler; bu tür exploit’ler, “Listener” veya “Handler” olarak adlandırılır.

Tüm exploit’ler sisteme yetkisiz erişim sağlamaz; bazıları yalnızca dosya okuma, servis engelleme veya bilgi sızdırma gibi işlevleri sunar. Bu tür işlevler, Metasploit Framework’te exploit yerine yardımcı modül olarak sınıflandırılır. Metasploit Framework, Windows, Linux, BSD, Solaris gibi işletim sistemleri yanında mobil cihazlar ve çeşitli uygulamalar için exploit desteği sunar. [2]

Görsel 4: metasploit framework da exploitleri görüntüleme[5]

5.2 Payloads (Yükler):

Kabuk Kodu (Shellcode), exploit işlemi sonrasında hedef sistemde çalıştırılması istenen kod parçacığıdır. Bu kod, güvenlik açığından faydalanarak hedef sistemde geçerli bir kabuğun başlatılmasını sağlar. Kabuk kodu erişimi için üç yöntem kullanılabilir: hedef sistemde bir portu dinleyerek bağlantı beklemek (bind), hedef sistemden saldırganın portuna bağlantı kurmak (reverse), veya mevcut bir bağlantı üzerinden iletişim kurmak. Bağlantı yöntemi, hedef sistemin güvenlik önlemleri ve ağ yapısına bağlı olarak belirlenir.[2]

Görsel 5: metasploit framework da payload’ları görüntüleme[4]

5.3Auxiliary Modules (Yardımcı Modüller):

Exploit işlemi öncesinde, hedef hakkında doğru bilgi toplamak kritik bir adımdır; aksi halde yanlış hedef veya yazılım seçimiyle exploit işlemi başarısız olabilir ve hedef servis kapanabilir. Doğru exploit ve kullanım yöntemini belirlemek de ek bilgi gerektirir.

 Metasploit Framework’te yer alan Auxiliary modülleri, bu bilgi toplama sürecini kolaylaştırır. Port tarama, servis araştırma, güvenlik açığı tarama gibi modüller, hedef sistemin detaylarını öğrenmeyi ve exploite uygun bir yaklaşım geliştirmeyi sağlar.[2]

5.4Post-Exploitation (Sonrasındaki Kullanım):

Saldırı başarılı olduktan sonra, sistem üzerinde daha fazla bilgi toplamak, ağda hareket etmek ya da saldırganın kalıcı erişimini sağlamak amacıyla kullanılan araçlar ve komutlar içerir.

5.5Encoder ve NOP Generators: Payload’ları güvenlik yazılımlarından gizlemek için şifreler ve kodları obfuscate eder, böylece tespit edilme olasılığı azaltılır.[5]

Görsel 6: metasploit framework de encoders görüntülenmesi[3]

Görsel 7: metasploit framework de nops görüntülenmesi[6]

5.6Sosyal Mühendislik Modülleri:

Kullanıcıları kandırarak zararlı yazılım yüklemelerine veya yanlışlıkla sistemleri tehlikeye atmalarına sebep olmak için kullanılan teknikleri içerir.

6.Metasploit Komutları

Metasploit Framework’te işlemleri hızlandırmak için çeşitli kısayollar ve komutlar bulunmaktadır. Linux işletim sistemlerinde olduğu gibi, Metasploit’te de TAB tuşu ile otomatik tamamlama yapılabilir. Ayrıca, help komutu ile gerekli yardım alınabilir. İşte Metasploit’te sıkça kullanılan bazı temel komutlar: [6]

6.1.Help Komutu

Görsel 8: metasploit framework help komutu[5]

6.2.Show Komutu
show komutu, Metasploit içerisindeki modüllerden bilgi almasını sağlar. Çalıştığınız platforma göre uygun yanıtlar döndürür. Örneğin, Linux platformundaki modüller, Windows için olanlar arasından gösterilmez. Modülleri listelemek için:

  • show exploits
  • show payloads
  • show auxiliary

6.3.Search Komutu
search komutu, belirli bir güvenlik açığını veya modülü hızlıca bulmasına olanak tanır. Arama terimini ekleyerek ilgili bilgiye ulaşabilirsiniz:

  • search “name”

6.4.Set Komutu
set komutu, kullanılacak modülde hedef IP gibi parametreleri tanımlamak için kullanılır.

  • set RHOST hedef makine IP
  • set RPORT belirtilen port

6.5.Check Komutu
Metasploit’te check komutu, belirli bir exploit’in hedef sistemdeki güvenlik açığının gerçekten var olup olmadığını kontrol etmek için kullanılır. Bu komut, exploit çalıştırılmadan önce sistemin savunmasız olup olmadığını doğrulamak için hızlı bir test yapar.

6.6.Use Komutu
use komutu, exploit veya diğer modülleri seçmek için kullanılır. Modül seçildikten sonra, ayarlarını yapılandırarak saldırıya hazır hale getirebilirsiniz.

6.7.Run Komutu
run komutu, seçilen modülle saldırıyı başlatır. Alternatif olarak exploit komutu da kullanılabilir.

6.8.Sessions Komutu
sessions komutu, birden fazla oturumun yönetimini sağlar. Bağlantıları arka plana atabilir, gerekli olduğunda tekrar kullanabilirsiniz:

sessions -l   # Tüm oturumları listele

sessions -i 1 # Belirli bir oturuma geç

Bu komutlar, Metasploit kullanırken daha hızlı ve verimli bir şekilde hareket etmenizi sağlar.

KAYNAKÇA:

Yorum yapılmamış

Yorumunuzu ekleyin