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

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 :

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.

Process Özellikleri

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

DLL & Function kullanımı

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.

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 :

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 fakedns

Inetsim 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