MSFvenom Kullanımı
MSFvenom aracının çalışma mantığını, yardım ekranlarını, payload ve format listelerini, seçenek incelemeyi ve yalnızca zararsız laboratuvar çıktıları üretmeyi öğrenin.
1. MSFvenom Nedir?
MSFvenom, Metasploit Framework içerisinde bulunan bir payload oluşturma ve farklı çıktı biçimlerine dönüştürme aracıdır.
MSFpayload ve MSFencode araçlarının işlevlerini tek komut altında birleştirir. Güvenlik laboratuvarlarında payload yapısını incelemek, formatları karşılaştırmak ve kontrollü test dosyaları üretmek için kullanılabilir.
Bu dokümanda ters bağlantı, Meterpreter, kalıcılık, gizleme veya güvenlik ürünlerinden kaçınma örnekleri yer almaz.
2. Metasploit Framework Kurulumu
Kali Linux paket listesini güncelleyin:
sudo apt update
Metasploit Framework paketini yükleyin:
sudo apt install metasploit-framework -y
MSFvenom sürümünü kontrol edin:
msfvenom --version
3. Yardım Ekranını Görüntüleme
MSFvenom komut seçeneklerini görüntülemek için:
msfvenom --help
Kısa yardım ekranı için:
msfvenom -h
4. Payload Listesini Görüntüleme
Sistemde bulunan payload türlerini listelemek için:
msfvenom -l payloads
Liste uzun olabileceği için sayfalı görüntüleme kullanılabilir:
msfvenom -l payloads | less
Belirli bir kelimeyi aramak için:
msfvenom -l payloads | grep generic
5. Çıktı Formatlarını Listeleme
Desteklenen çıktı formatlarını görüntülemek için:
msfvenom -l formats
Yaygın format örnekleri:
| Format | Açıklama |
|---|---|
| raw | Ham bayt çıktısı oluşturur. |
| c | C dilinde bayt dizisi üretir. |
| python | Python bayt dizisi üretir. |
| hex | Onaltılık metin çıktısı üretir. |
| elf | Linux çalıştırılabilir dosya biçimidir. |
| exe | Windows çalıştırılabilir dosya biçimidir. |
6. Payload Seçeneklerini İnceleme
Bir payload seçilmeden önce hangi parametrelere ihtiyaç duyduğunu görmek önemlidir.
Zararsız komut çalıştırma örneğinin seçeneklerini incelemek için:
msfvenom -p cmd/unix/generic --list-options
Bu çıktı, payload’ın zorunlu ve isteğe bağlı parametrelerini gösterir.
7. Zararsız Komut Testi
İzole laboratuvarda yalnızca terminale metin yazdıran zararsız bir komut çıktısı hazırlanabilir.
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f raw
Çıktıyı bir metin dosyasına kaydetmek için:
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f raw -o msfvenom-test.txt
Yalnızca
echo MSFVENOM_TEST komut
metnini çıktı olarak üretir; ağ bağlantısı açmaz.
8. C Formatında Çıktı
Aynı zararsız örneği C bayt dizisi olarak görüntülemek için:
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f c
Bu kullanım, üretilen verinin farklı programlama dillerinde nasıl temsil edildiğini öğrenmek için yararlıdır.
9. Python Formatında Çıktı
Zararsız komut verisini Python biçiminde görüntülemek için:
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f python
Bu çıktı eğitim amacıyla bayt dizisinin Python içinde nasıl temsil edildiğini gösterir.
10. Hex Formatında Çıktı
Çıktıyı onaltılık metin biçiminde görüntülemek için:
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f hex
11. Çıktıyı Dosyaya Kaydetme
-o seçeneğiyle çıktı doğrudan
dosyaya yazılabilir:
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST' -f c -o test-payload.c
Dosyayı kontrol edin:
ls -lh test-payload.c
cat test-payload.c
12. Dosya Hash Değerini Alma
Laboratuvar çıktısının bütünlüğünü takip etmek için SHA-256 hash değeri alınabilir:
sha256sum test-payload.c
Hash değeri, dosyanın daha sonra değişip değişmediğini kontrol etmek için kullanılabilir.
13. Temel Seçeneklerin Anlamı
| Seçenek | Açıklama |
|---|---|
| -p | Kullanılacak payload türünü seçer. |
| -f | Çıktı formatını belirler. |
| -o | Çıktıyı belirtilen dosyaya kaydeder. |
| -l | Payload, format veya diğer bileşenleri listeler. |
| --list-options | Seçilen payload’ın parametrelerini gösterir. |
| CMD= | Generic komut payload’ında çalıştırılacak komut metnini belirtir. |
14. Güvenli Laboratuvar Kuralları
- Yalnızca size ait sanal makinelerde çalışın.
- Laboratuvar ağını Host-only veya Internal Network modunda tutun.
- Üretilen dosyaları gerçek kullanıcılara göndermeyin.
- Çıktıları e-posta, mesajlaşma veya herkese açık dosya paylaşım servislerine yüklemeyin.
- Gerçek sistemlerde çalıştırılabilir dosya üretmeyin.
- Ters bağlantı veya Meterpreter payload’ları kullanmayın.
- Güvenlik ürünlerinden kaçınma veya payload gizleme denemeleri yapmayın.
- Laboratuvar bittikten sonra test dosyalarını silin.
15. Test Dosyalarını Temizleme
Oluşturulan laboratuvar dosyalarını listeleyin:
ls -lh msfvenom-test.txt test-payload.c
Artık gerekli değillerse silin:
rm -f msfvenom-test.txt test-payload.c
16. Sık Karşılaşılan Hatalar
msfvenom komutu bulunamadı
sudo apt update
sudo apt install metasploit-framework -y
Invalid payload hatası
Payload adını doğru yazdığınızı kontrol edin:
msfvenom -l payloads | grep generic
Invalid format hatası
Desteklenen formatları kontrol edin:
msfvenom -l formats
Dosya oluşturulamıyor
Bulunduğunuz dizinin yazma izinlerini kontrol edin:
pwd
ls -ld .
17. Komut Özeti
| İşlem | Komut |
|---|---|
| Yardım ekranı | msfvenom -h |
| Payload listesi |
msfvenom -l payloads
|
| Format listesi |
msfvenom -l formats
|
| Payload seçenekleri |
msfvenom -p cmd/unix/generic --list-options
|
| Zararsız raw test |
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST'
-f raw
|
| C çıktısı |
msfvenom -p cmd/unix/generic CMD='echo MSFVENOM_TEST'
-f c
|
| Dosyaya kaydetme |
... -f c -o test-payload.c
|
18. Sonuç
Bu dokümanda MSFvenom aracının kurulumu, yardım ekranları, payload ve format listeleri, seçenek inceleme ve zararsız laboratuvar çıktıları ele alındı.
MSFvenom güçlü bir araçtır. Bu nedenle yalnızca izole ve yetkili laboratuvarlarda, eğitim amacıyla ve güvenli sınırlar içerisinde kullanılmalıdır.