Malware Analysis - Dynamic Analysis (Part 3)

Malware Analysis - Dynamic Analysis (Part 3)

Merhaba arkadaşlar Malware Analizi serimin üçüncü part’ına hoşgeldiniz.

Bu partımızda artık canlı bir Malware üzerinde işlemler gerçekleştireceğiz.

İlk part’ımızda anlattığım gibi Statik denildiğinde çalıştırmadan Dinamik denildiğinde ise çalıştırdıktan sonra analizini gerçekleştiriyoruz.

Bu yazım içerisinde artık Sanal Makine içerisinde testler gerçekleştireceğiz o yüzden Win 7 ve REMnux işletim sistemlerini kurduğunuzu varsayıyorum.

Win 7 içerisinden bir görsel :

REMnux içerisinden bir görsel :

Yazımıza başlamadan önce ilk part’ımızı okuduğunuzu ve Güvenli bir ortam kurduğunuzu varsayıyorum.

Eğer kurmadıysanız sizi ilk part’ımıza alalım : Malware Analysis - Lab Setup (Part 1)

Malware ‘nin dışa yayılmayacağından eminsek yavaştan yazımıza geçebiliriz demektir.

Dinamik Analizin Bize Sağladıkları

Statik analizden farklı olarak Malware ‘yi çalıştıracağımızdan Malware ‘nin sistem içerisinde neler gerçekleştirdiğini daha iyi inceleyebileceğiz sonuçları Monitoring ederek yani izleyerek.

Öncelikle Malware ‘mizi nasıl izleyebileceğimizden bahsetmeden önce Escape kelimesinden okurlarıma bahsetmek istiyorum.

Virtual Machine Escape

  • Sanal Makine ‘mizde çalıştıracağımız Malware ‘yi asıl bilgisayarımızdan ve bu bilgisayarımızın Network ‘ünden izole ettik yalnız hala %100 güvende değiliz.
  • Sebebide bazı Malware geliştiricilerinin biraz akıllı davranması.
  • Bir Malware çalıştığı yerin Sanal Makine veya Gerçek Bir Sistem olduğunu anlayabilir. Ve anlamakla kalmayıp aynı zamanda eğer kendisi Sanal Makine içerisindeyse asıl makinemize geçmek için bazı Zafiyet ‘leri veya Teknik ‘leri kullanabilir.
  • Bunu önlemek içinde Statik Analiz ile çalıştırmadan önce incelememiz çok önemli. Avcıyken avlanmak istemeyiz.
  • Bu yazı içerisinde benim internetten bulduğum Malware bu gibi işlemlere kalkışmıyor. Dolayısıyla böyle bir duruma maruz kalmayacağız.

VM Escape ‘in daha da derinlerine girecek olursak şayet :

Katmanlar arasında geçiş sağlayan Saldırılar denilebilir bunlara.

Hypervisor ‘dan Operating System ‘imize giden yolu açan Saldırı ‘lara Virtual Machine Escape adı verilebilir.

İlerideki safhalarda yukarıda bahsettiğim Malware ‘nin linkini sizlere vereceğim benimle beraber adım adım ilerlemeniz için.

Dinamik Analiz ‘in bize sunduklarına gelirsek şayet.

Canlı olarak Malware ‘yi çalıştıracağımızdan :

  • Process
  • Registry
  • File System
  • Network
  • Debugging

Yukarıda saydıklarımın ne gibi Aktivite ‘lerde bulunacağını izleyebileceğiz.

Terimlere dahada derinden bakıp yavaştan Malware ‘mizi Monitor etmeye başlamadan önce Malware ‘nin linkini vereyim : Malware Sample app.any.run

Buradaki Sample butonundan Malware ‘yi indirebilirsiniz.

Rar ‘ın şifresi infected .

Process Monitoring

Malware ‘miz Process olarak çalışmaya başladıktan sonra bu Process ‘in ne gibi Aktivite ‘lerde bulunduğunu incelemek diyebiliriz buna kısaca.

Bunu yapmak içinde benim sıkça kullandığım Tool ‘u indirmek için : Sysinternals Procmon

Ayrıca bu Tool yukarıda isimlerini saydığımız Registry , File System , Network aktivitelerinide izlememizi sağlıyor.

Win 7 ‘ye kurup açtıktan sonra Malware ‘mizin Process ‘inin Monitor edilmesinden sonraki çıktı :

Bu kısımda görebiliriz ki Malware ‘miz Registry içerisinde bazı işlemler yapıyor. Aynı zamanda Operation kısmına dikkat edersek LoadImage , CreateFile gibi işlemlerinde Process ‘imiz içerisinde geçtiğini görebiliriz.

Ayrıca PID kısmına dikkat edersek Ana Process ‘in altında ayrı bir malware_sample.exe adında Process daha oluşturulmuş. Bunu farklı PID ‘ler ile anladım ben yalnız bunu Procmon içerisinde Process ‘in Properties ‘inden Stack kısmına bakarakda anlayabilirsiniz.

Yukarıdaki şekilde Process ‘in Özellik ‘lerine girdiğimizde Stack kısmına tıklıyoruz.

Ve burada basit bir şekilde gözlemleyebiliyoruz Process ‘in gerçekleştirdiği Operasyon ‘un hangi DLL ‘ler ve Fonksiyon ‘lar tarafından uygulandığını.

Basit bir şekilde Malware ‘mizin alt bir Process oluşturduğunu görebiliriz.

Bu arada şunuda söylemeliyim ki bu Malware ‘yi ilk kez izliyorum blog’u yazarken inceleyip yazıyorum.

Registry Monitoring

Bir Malware ‘nin Dinamik Analizi ‘ni gerçekleştiriyorsak şayet bakmamız gereken önemli noktalardan biri Registry değişiklikleridir.

Bu Malware içerisinde herhangi bir şekilde Registry değişikliği yok. Sadece Registry değeri okuma mevcut.

  • HKLM\System\CurrentControlSet\Session Manager
  • HKLM\System\CurrentControlSet\Control\Safeboot
  • vs…

Gibi Registry Value ‘lerini okuyor. Yalnız hiçbir değişiklik yok.

Registry değişiklikleri Dinamik Malware Analizi ‘nde çok önemlidir. Bu Malware Sample ‘mizde herhangi bir değişiklik bulamasakta bakılması ve incelenmesi gereken yerlerden biridir.

File System Monitoring

File System Monitoring ‘i gerçekleştirmek için Procmon içerisindeki butonlardan FS Activity kısmını seçmemiz yeterli :

Malware ‘mizin burada gerçekleştirdiği bir çok dosya okuma , oluşturma , yeniden yazma gerçekleştirdiğini görebiliriz.

Bunların arasından benim ilgimi en çok çeken System32 içerisinde :

  • WSOCK32.dll
  • netapi32.dll
  • netutils.dll

Kütüphane ‘lerini oluşturması.

Bu DLL ‘lerden Malware ‘nin İnternet üzerinden birşeyler döndürdüğünü anlamak basit.

Network Monitoring

Bakalım Malware ‘miz internet üzerinden neler çeviriyor.

REMnux ‘u açıp fakedns ve inetsim komutlarını çalıştıralım.

Bu sayede sahte DNS , HTTP , FTP vs… gibi sunucumuz çalışacak ve Win 7 içerisinden Malware ‘nin gerçekleştirdiği tüm Network Istek ‘leri bizim REMnux ‘umuza yönlendirilecek.

fakedns

Inetsim

Şimdi Malware ‘mizi tekrar çalıştırıp yapacağı Request ‘leri izlemeye koyulabiliriz.

Sahte DNS sunucumuza gelen istekleri incelediğimiz zaman görebiliriz ki :

tain0077.warzonedns.com

DNS sunucusuna Malware ‘miz tekrar tekrar istek gönderiyor.

Bunun dışındaki istekler Windows ile alakalı tek önemli DNS Request ‘i şuan bu bizim için.

İnternet’ten bu DNS sunucusuna ulaşmak istediğimde bu yerin kapandığını gördüm.

Muhtemelen Malware ‘mizin C&C yani Command and Control Server ‘iydi.

Bu C&C server’i ne kadar kapanmış olsada DNS üzerinden ne gibi bir bağlantı kurup neleri yönlendirdiğini görmek için yavaştan bu Malware ‘yi Debug etmeye başlayalım.

Debugging

Bir önceki Statik Analiz part’ımızda Packing ‘den bahsettik.

Yalnız şuan üzerinde durduğumuz Malware üzerinde hiçbir işlem yapmadık.

Hex Editor ile Malware ‘mizi açtığımda bu Malware ‘nin UPX Packer ile Sıkıştırıldığını gördüm.

Daha net bir Debugging işlemi için bu sıkıştırılmış Malware ‘yi asıl haline çevirmemiz gerekiyor.

Bunu elimizle halletmemiz gerek.

Statik Analiz (Part 2) yazım içerisinde Sıkıştırılmış Zararlı Yazılım ‘ları tekrar eski haline manuel olarak nasıl getirebileceğimizi az çok anlattım.

Bu yüzden canlı olarak nasıl yapıldığını anlatan bir video bırakıyorum buraya :

UPX Easily Unpacked All Versions

Yada ben bunlarla uğraşmam üşeniyorum diyorsanız. Direk Malware ‘yi çalıştırıp sonra debuggeriniz ile Attach olunuz.

Packer hafıza içerisinde Sıkıştırmayı eski haline getireceğinden Malware ‘nin tüm koduna direkt olarak ulaşabileceksiniz.

Ve Malware ‘mizin gidişatını inceleyerek yani Monitor ederek internet üzerinde yaptığı işlemleri kesinleştirmiş olduk.

Bu seri bir Malware ‘nin nerelerine ne şekilde bakılmasını, ne şekilde ve nerede incelenmesi gerektiğini anlatmak için oluşturduğum bir seriydi.

THE END

Bu yazıda Dynamic Malware Analysis konusuna değindik.

Malware Analizi serimin son partıydı bu.

Tabiki tüm Malware Analiz konusu benim anlattığım kadar değil hatta anlattıklarıma temeli bile diyebiliriz.

Benim gözümde yeni çıkan Malware ‘lerin analizinin yapılması yeni Zaafiyet ve Teknik ‘leri bulmamıza çok yardımcı olacaktır.

Ben analizini yapmak için Malware istiyorum diyenlerimiz var ise Google dayımıza Malware Samples yazması yeterli olacaktır.

Bu serimizinde sonuna geldik. Umarım güzel bir seri okutabilmişimdir sizlere.

İleride yazacaklarıma Oylama ile karar veriyorum twitter üzerinden.

Sorunuz varsa çekinmeyin bu konuda veya farklı bir konuda.

Sorular için twitter adresim : 0DAYanc

10 Likes

Gayet açıklayıcı güzel bir makale olmuş teşekkürler. Bu incelediğiniz zararlı yazılım, sanal makineden dışarı çıkmıyor yazmışsınız. Sanal makine dışına çıkabilen bir zararlı yazılım için nasıl bir analiz yapmak gerekiyor? Remnux’u gerçek makinemize kurduğumuzda, gerçek makinemize zarar vermeden nasıl analiz edebiliriz?

3 Likes

Statik analiz ile zararlıyı çalıştırmadan içerisinde bulunan Assembly kodundan eğer assembly bilinmiyorsa Pseudocode sayesinde gerçek makinemize zarar vermeden analiz edebiliriz.

Computer Architecture dersinde basarili oldugumu dusundugum icin, isin en merkezine yaptigim yolculukta paylastigin bu makale icin tesekkur ederim. Bu gibi seyler icin takip edebilecegimiz baska kaynaklar varsa mesajlarini bekliyorum.

2 Likes

Valla google.com’dan öğreniyom ben hep bunları ama yani direk malware analysis yazınca çıkıyor diye biliyom eyvallah bu arada begendigin için