Anti-Virus Atlatma - Maligno Kullanımı Anti-virüs bypass yazı dizisinin başka bir bölümü olan Maligno aracını anlatan yazı ile devam edeceğiz. Maligno, Encripto tarafından, python diliyle yazılmış ve opensource olarak geliştirilen, Metasploit framework ün payload/shellcode üretme aracı olan msfvenom u kullanarak, meterpreter reverse http, https ve https proxy ile beraber pyton meterpreter reverse tcp bağlantılarını sağlayacak olan shellcode ları üreterek AES ile şifreleyip ayrıca ürettiği python çıktısını obfuscate edip kullanıma hazır hale getirmektedir. Kurulum Yazı süresince yapılan işlemlerde Kali linux işletim sistemi kullanılmıştır. Maligno nun son sürümü dowload sayfasından indirilebilir. wget https://www.encripto.no/tools/maligno-2.4.tar.gz tar zxvf maligno-2.4.tar.gz # sıkıştırılmış dosya açılıyor cd maligno-2.4/ && bash install.sh Çalıştırılan bash script sistem güncellemesini yaptıktan sonra, gerekli paketleri yükleyecektir. Bundan sonra şifreleme için kullanılacak olan anahtar üretilmeye başlanacaktır. İlk olarak özel anahtarımız 2048 bitlik RSA ile üretilecek, ardından server için üretilecek olan ssl sertifikası için gerekli kısa bir kaç soruya yanıt vermemiz beklenmektedir. Bunların sonunda işlemler bitmiş olacak ve konfigürasyon
dosyasını güncellememiz gerekecektir. Konfigürasyon Üretilecek olan zararlı yazılımlara ait bilgileri içeren server_config.xml dosyasını reverse bağlantı için kullanılacak olan sunucuya göre ayarlamamız gerekmektedir. Burada düzenlenmesi gereken bilgilerden bazıları; Metasploit payload ismi Payloadlar için gerekli host adresi ve port numarası Hangi encode işleminden geçirileceği Encode işleminin kaç iterasyon işleminden geçeçeği Kullanılmasının istenmediği karakterler (badchars) Network scope alanı Bu alanlardan düzenlenmesi zaruri olan kısımlar, bilgisayarda kurulu olan Metasploit framework yolu ve LHOST alanlarıdır. İstenildiği takdirde, üretilen shellcode un geçirileceği encode tipi ve iterasyon sayısı veya reverse bağlantıda kurbanın bize geleceği port adresi gibi alanlar da değiştirilebilir.
Maligno Server Maligno klasörü içerisinde bulunan ve kullanılabilecek dosyalardan biri olan maligno_srv.py, oluşturulacak olan zararlıların bulaştığı kurbanlar hakkında bilgilendirme sunan ve bu payloadlar için Metasploit tarafında kullanılabilecek Resource dosyalarını oluşturmaktadır. Aynı zamanda uygulamanın güncellemelerini de kontrol etmektedir. Maligno Client Generator Maligno klasörü içerisinde bulunan ve kullanılabilecek dosyalardan bir diğeri olan clientgen.py scripti, Metasploit in meterpreter reverse http, https, https_proxy ve python meterpreter reverse tcp bağlantılarını elde edebilecek payloadları oluşturur. Çıktılar (clients klasöründe) python dosya formatındadır. Bunların yanında oluşturulan zararlı yazılımlar için Metasploit tarafında kullanılacak handler için payloadların resource dosyaları da oluşturulmaktadır (msfresource klasöründe). Oluşturulan zararlılar python dosya formatında verilmektedir. Enfekte işleminin yapılacağı makinede python interpreter yüklü ise normal bir python dosyasıymış gibi çalıştırabiliriz. Fakat bilgisayarda python yüklü olmayacağı gibi kullanılan python modülleri de yüklü olmayabilir ve bu yüzden dosya
çalışma sırasında sıkıntılar yaratabilir. Bu yüzden python dosyamızı bazı yardımcı modüller (PyInstaller, Py2Exe, cx_freeze) ile çalıştırılabilir dosya formatı olan exe ye çevirebiliriz. Yazıda dönüştürme işlemi için PyInstaller kullanılacaktır. Bağlantıyı kurması için kullanılacak olan zararlıları oluşturmak için clientgen.py dosyasını kullanacağız. Bunun için; python clientgen.py -f server_config.xml -s true Burada -f parametresi için kullanılan argüman, içeriğini düzelttiğimiz konfigürasyon dosyası, -s parametresi ise hem resource dosyalarını oluşturur hemde scriptlerin çalıştırılabilmesini sağlar. Sorunsuz bir şekilde python scriptleri ve Metasploit resource dosyaları oluşturulmuştur. Python Dosya ile Reverse Bağlantı Oluşturulan zararlıları kurban bilgisayarda çalıştırmadan
evvel gelecek olan bağlantıyı yakalayacak handlerı oluşturmamız gerekmektedir. Yukarıdaki satırlarda belirttiğimiz gibi Maligno, handler için resource dosyalarını da oluşturmaktadır. Oluşturulan zararlılardan meterpreter için reverse HTTPS bağlantı veren dosyayı çalıştıracağımız farz edelim ve buna göre oluşturulan resource dosyasını yükleyelim. Python un ve diğer modüllerinin yüklü olduğunu varsayıp, kurban bilgisayarında oluşturduğumuz scripti çalıştıralım. Dosya çalıştırıldıktan sonra dinlemeye aldığımız Metasploit tarafına bağlantı gelecektir ve session oluşacaktır.
EXE ile Reverse Bağlantı Önceden belirttiğimiz gibi her bilgisayarda python olmayabilir. Olsa dahi gerekli modüller yüklü olmayabilir. Bu yüzden python dosyasımız bazı modülleri kullanarak çalıştırılabilir dosyalara dönüştürebileceğimizden bahsetmiştik. PyInstaller ile python dosyamızı exe formatına dönüştürmek için aşağıdaki komut kullanılabilir. pyinstaller.exe onefile windowed standalone_1_standard_windows_reverse_https.py
İşlemin sonunda komutu çalıştırdığımız klasörün içerisinde build ve dist klasörleri oluşacaktır. Dist klasörü altında aradığımız exe dosyası bulunmaktadır. Bu dosyaya çift tıkladığımızda veya komut satırından çalıştırdığımızda, herhangi bir exe dosyasıymış gibi, beklemeye aldığımız Metasploit tarafına bağlantı düşecektir. Tarama Sonucu Oluşturduğumuz zararlı yazılımın, online tarama sonucu aşağıda
ki resimlerde verilmiştir. İlk olarak python dosyamız için VirusTotal sayfasında yaptığımız taramanın sonucunu görelim. Şimdi ise PyInstaller ile exe ye çevirdiğimiz zararlı dosya için VirusTotal web sitesinde yapılan taramanın sonucunu görelim.