PMA Lab 3-3 Bellek Döküm Analizi

DeathWarrior01

Uzman üye
14 Ocak 2021
1,733
1,075
Evren
PMA Lab 3-3 Bellek Döküm Analizi

Herkese merhaba değerli THT ailesi bu konumda sizlere "Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software" kitabında bulunan Lab03-03.exe adlı zararlının bellek döküm analizini gerçekleştirip, zararlının ne gibi aktiviteler sergilediğine bakacağız.Herkese faydalı olması dileklerimle...

Bellek döküm analizinde kullanacağımız araçlar:


1.Dupmlt
2.Volatility
3.Process explorer


Bu araçlardan kısaca bahsedelim.

1.Dupmlt nedir?

Dupmlt
Moonsols firması tarafından geliştirilen, 32 bit ve 64 bitlik Windows işletim sistemlerinin bellek imajlarını alabileceğimiz ücretsiz bir araçtır.


2.Volatility nedir?

Volatility, bellek analizleri yapabilmemiz için python ile yazılmış açık kaynak kodlu bir memory forensics (framework) çatısıdır.

3.Process explorer nedir?

Process explorer
, işletim sistemimizde çalışan işlemleri yani programları, ram kullanımlarını ve cpu gibi süreçlerin takibini yapabileceğimiz portable programıdır.

Senaryo:

Öncelikle
Windows XP makinemizde Lab03-03.exe zararlısını çalıştırıyoruz.Hemen ardından dupmlt aracını çalıştırıp belleğimizin imaj dosyasını alıyoruz.İmaj dosyamızı aldıktan sonra Kali Linux işletim sistemimizi açıp
volatility aracı ile aldığımız imaj dosyasının analizini gerçekleştiriceğiz ve Process explorer programı ile de zararlının stringlerine göz atıp, ne gibi aktiviteler sergilediğine bakacağız.

Senaryoyu da özet geçtiğimize göre artık gerekli adımlara başlayabiliriz.

Bellek analizi gerçekleştirdiğimiz için verilerin öncelikle bellekte geçici olarak yer tutması lazım.Bunun için
Windows XP makinemizde Lab03-03.exe zararlısını çalıştırmamız gerekecektir.Bu şekilde zararlının tüm aktiviteleri belleğe önceden geçici olarak yazılmış olacaktır.Zararlımızı çalıştırdıktan sonra dupmlt adlı aracımızı açıyoruz:




Aracımızı açtıktan sonra karşımıza böyle bir ekran geliyor.Destination yazan kısım imaj dosyamızın hangi dizine oluşturulacağını gösteriyor.Destination altında bize beyaz bir yazı şeklinde "Devam etmek istediğine emin misin?" sorusunu sormuş bizde buraya "y" yani evet deyip devam ediyoruz:



Mavi ile işaretlediğim yerde success yazısını görüp, başarılı bir şekilde imaj dosyamızın oluşturulduğunu anlayabiliyoruz.Hemen imaj dosyamızın oluşacağı dizine gidip gerçekten de imaj dosyamız oluşmuş mu diye teyit ediyoruz:



Görüldüğü üzere imaj dosyamız ".raw" uzantılı bir şekilde gerçekten de oluşmuş.Şimdi Kali Linux makineme geçip Volatility aracı ile bellek döküm analizini gerçekleştirmeye başlıyorum.Volatility aracı bende kurulu olduğu için sizler aşağıdaki linux kodları ile bahsini geçtiğim aracı indirip, kurabilirsiniz:

Kod:
wget http://downloads.volatilityfoundation.org/releases/2.5/volatility_2.5.linux.standalone.zip
unzip volatility_2.5.linux.standalone.zip
cd volatility_2.5.linux.standalone
./volatility_2.5_linux_x64 -h # 64 bit için
./volatility_2.5_linux_x86 -h # 32 bit için

Öncelikle bellek imaj dosyamızın işletim sistemi bilgisine ihtiyacımız var.Bunun için aşağıdaki kodu yazıyorum:

Kod:
./volatility -f imaj_dosyasının_yolu imageinfo

Yukarıdaki kodda "-f" parametresi ile bellek imaj dosyamızın yolunu belirtiyoruz.Kodun sonunda yazdığımız "imageinfo" komutu sayesinde imaj dosyamıza ait profil bilgilerini görebiliyoruz.Şimdi de yazdığımız kodun çıktısını hep birlikte görelim:




Görüldüğü üzere imaj dosyamızın profil bilgileri önümüze gelmiş oldu.Bizim burada işimize yarayacak asıl kısım mavi ile işaretlediğim yer yani işletim sistemi bilgileri.Bize burada parantez içerisinde "Instantiated with WinXPSP2x86" diye bir yazı sunmuş.Bu yazı da bize "WinXPSP2x86" adlı işletim sistemi bilgisini almamızı önermiş.Volatility öneriyorsa bize de almak düşer:)

Evet işletim sistemi bilgisini de aldığımıza göre artık gerekli adımlara başlayabiliriz.

Öncelikle "pslist" komutu ile o an bellekte çalışan process'leri yani programları görelim:




Evet karşımıza çalışan process'ler geliyor.Burada çalışan processlerin hangi zaman diliminde başladığı, pid numaraları, ppid numaraları gibi bilgileri öğrenebiliyoruz.Şimdilik bu bilgiler içerisinde olağanüstü bir durumla karşılaşmadık.Doğal bir şekilde işletim sisteminde çalışan process'leri görmekteyiz.İsterseniz biraz daha detaya girerek aşağıda yazdığım komut ile hangi process, hangi process'in altında çalıştığını ağaçlama sistemi ile görebiliriz:



Evet görüldüğü üzere "pstree" komutu ile çalışan process'leri biraz daha detaylı şekilde görmüş olduk.Burada benim dikkatimi çeken nokta mavi ok ile çember içerisine aldığım "svchost.exe" dosyası.Bu exe dosyası windows işletim sistemlerinin birden fazla hizmet çalıştırabilmesine olanak sağlıyan bir exe dosyası.Açıkcası bu exe dosyasının burada yalnız bir şekilde çalışması hafiften bir şüphe uyandırdı.İsterseniz bu exe dosyasının pid numarası ile tüm dll dosyalarını listeleyelim:



"dlllist" komutu ile 556 pid numaralı yani svchost.exe adlı dosyanın tüm dll dosyalarını listelemiş olduk.Buradan da bir sonuç çıkartamadık hemen ağ analizi ile yolumuza devam edelim:



"connscan" komutu sayesinde ağ analizleri yapabiliyoruz ama görüldüğü üzere bir yerden biryere bağlantı kurulduğunu görmüyoruz.Birde bellek te geçen stringlere bakalım belki orada bir şeyler çıkar.Hemen process explorer adlı aracı açıyorum:



Aracı açtıktan sonra çalışmakta olan "svchost.exe" adlı dosyanın üzerine gelip, sağ tık yaparak "Properties" diyorum.



"Properties" dedikten sonra karşımıza böyle bir ekran geliyor.Burada "strings" adlı bölüme gelerek ok ile gösterilen memory alanına geliyorum.Geldikten sonra string'leri incelediğim de aşağıdaki görüntü ile karşılaşıyorum:



Yukarıda yuvarlak içine aldığım log dosyası görüyorum ve klavye fonksiyonları görüyorum.Belli ki bizim kerata(zararlı yazılım) bir keylogger görevi görüyor ve system32 altında sistem dosyası haline dönüşüyor.

Konumuzun sonuna geldik.Esenlikler...
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.