Antivirüs yazılımları zamanla ilk etapta tanıyamadığı çalıştırılabilir zararlı dosyaları zamanla tanır hale gelebiliyorlar imza yöntemi sayesinde. Bizim de daha önceki yazımızda belirttiğimiz ajan yazılımımız artık tanınmaya başlamış durumda, her ne kadar bütün antivirüs yazılımları olmasa da kurumsal firmaların antivirüs yazılımları tarafından engellenmesi durumu yaşanıyordu sızma denetimi gerçekleştirdiğimiz müşterilerimizde.
Yeni birşeyler yapmak gerektiğinden ya kod değiştirilecekti ki bu kökten çözüm değil sadece günü kurtarmak olabilirdi en fazla yada mantık değiştirilecekti. Kod değiştirilmesi sadece imza tabanlı çalışan antivirüs yazılımlarını atlatsa da heuristic dediğimiz sezgisel yaklaşan ve hatta sandbox metodlu antivirüs yazılımlarına takıldığından, bunları atlatmak için mantık olarakta bir değişiklik yapılması gerekiyordu.
Bizde iki durumada müdahelede bulunup ajanımızı özgür bırakacak uygulamayı seçtik. Hem mantık değiştirdik böylecede kod da değişmiş oldu.
Daha önceki metodlarda msfpayload ile oluşturulmuş ham meterpreter ajan kodunu içeren yada en azından stage1 diye adlandırdığımız payloadun yüklenmesini sağlayan minik kodda olsa içerisinde çalıştırılabilir dosyalar, bu antivirüsler tarafından tanınıyor.
Sebebi ise antivirüs yazılımları sezgisel(heuristic) yada kum torbası(sandbox) mantığı ile uygulamayı çalıştırılmadan önce incelediğinde zararlı bir aktivitede bulunacağını kodlardan görüp engelleme yönteminde başarılı oluyorlar. Bu durumda antivirüs çalışma mantığı olan, incele zararlı değilse gerisine karışma şeklinde uyguladıkları mantığın etrafından dolanılması gerekmekte çoğunlukla. Yani bir uygulamayı taramaktalar ve tanımazlarsa o uygulama çalışıp ram’e yerleştikten sonra artık onun ram’de ne iş yaptığına bakmamaktalar.
Öyle ise şayet her uygulamanın yapabileceği türden bir davranış sergiletmek lazımdı ajanımıza, yani çalışacak ve sadece gidip kendisine girdi olarak verilecek ip adresi ve porta bağlanacak ve ham olarak aldığı kodu her ne olduğuna bakmadan ram’e yerleştirip çalıştıracak böylece kendisine gönderilen zararlı ajan koduna delegasyon yapmış olacak, yani antivirüs kendisine izin vermiş olduğu için bu network üzerinden aldığı ve çalıştırılması için hafızaya yerleştirdiği koda dokunulmayacaktı.
En kolay tarafı programlama tarafı oldu açıkçası, birkaç denemeden sonra elimizde çalışır halde ajan yükleyen yazılımımız hazırdı. Sıra gelmişti test etmeye. İlk etapta “VirusTotal” gibi toplu antivirüs test yazılımlarının olduğu sitelerin antivirüs yazılım firmaları ile ortak çalışmasından ötürü bu yöntemi test için tercih etmek istemedik.
Kendi antivirüs lab ortamımızda internetten izole edilmiş halde ve daha öncesinden güncellenmesi eksik edilmeden hazırlanan labta yaptığımız denemeler başarılı geçti ve hiç biri tarafından tanınmayan ajan yazılım bizim istediğimiz bir ip adresi ve porta bağlanıp meterpreter ajanını getirip sistemde çalıştırmakta idi.
Demo olarak blog için seçtiğimiz örnek antivirüs tercihimiz ise SEP yani “Symantec End Point” ürünü oldu. Sebebi ise kurumsal ortamlarda en çok tercih edilen ürün olması idi. Aşağıda ekran görüntüleri olan yazılım bu metod ile gayet başarılı birşekilde antivirüs yazılımlarını atlatmış bulunmakta. Birkez daha antivirüs yazılımlarına güven olmayacağı ve herşeyin son kullanıcıda bittiği ispatlanmış oldu.
Uzun zamandır VirusTotal üzerinden 40 küsür antivirüs üzerinden 0 tespit görülmediği ekibimiz arasında konuşulması sebebi ile merakımıza yenilip online taratma kararı aldık ve aşağıdaki linkte sonuçları mevcuttur.
VirusTotal Tarama Sonucu
Barkın KILIÇ <barkin.kilic@bga.com.tr>