PMA Lab 7.3 İleri Statik Malware Analizi

'Ranger

Senior Hunter
13 Eki 2020
209
41

PMA Lab 7.3 İleri Statik Malware Anallizi
Arkadaşlar iyi formlar dilerim öncelikle bu günkü mevzumuz ileri statik analizdir. Öncelikle zararlı dosyamızı PeStudio ‘ya atarak sınıflandırılmış şekilde program hakkında temel bilgileri edinelim.

CTpC1.png


CTGtf.png


UnmapViewOfFile çalışan programlara migrate yapmayı sağlıyor enjecte olmada kullanılan bir fonksiyon FindNextFile de adından da anlaşılacağı üzere dosya bulmamıza yarayan bir fonsiyon şuan ilk resimden şunu çıkarabiliriz root yetkisinde çalışan bir programın klasorlerine kendini enjecte edebiliyor yani fake bir dll ile sızmak muhtemel bunlar muhtemel seneryolar temel statik analizde her şeyi öğrenmemiz saten beklenmiyor.

Diğer resme bakacak olursak bir mutex oluşturması şüphelerimi arttırmakla birlikte ip adressi görmek bu durumu iyice netleştirdi gerek exec gerek de process oluşturması kafamda kalıcılığı sağlanmış reverse Shell olma ihtimalinde güçlendirmekte.



Temel staitik analiz kısmının assembly ile de yapılabilir benim pestudio kullanma nedenim benim yerime her şeyi sınıflandırması insanlık hali bazen kaçırdığım yerler oluyor o yüzden bu konuda avantaj sağlıyor.

Şimdi Assembly kod şemasını inceleyelim labın hem exe hem de DLL ilini karışık inceledim birbirini tamamladığı durumlar olduğu için ben önemli kısımların ekran görüntülerini aldım anlatım esnasında dll de bunu exe de buna bağlayacak diye sürekli atlama yapıp kafa karışıklığına neden olmamak adına


CTvVG.png


SADFHUHF muteksi ele alınıyor. Burada openMutexA ile ilgili mutex açılmaya çalışılıyor. Eğer açılırsa ExitProcess fonksiyonuna çağrı yapılarak çıkış işlemi gerçekleştiriliyor. Aksi durumda ise jz ile ilgili adrese bir kısa atlama gerçekleştiriliyor. Sağ blokta yer alan loc_100011E8 adresinden devam ediliyor ve burada SADFHUHF adında bir mutex yaratılıyor. Burada gördüğünüz gibi iki koşullu bir durum var yani muteksin varlığı kontrol ediliyor var ise program ExitProcess fonksiyonuna çağrı yapıp çıkıyor, eğer yok ise ilgili adrese atlama gerçekleştirip mutex oluşturuluyor. Yani aslında bir kopyanın çalışıp çalışmadığı denetlenerek ya çıkış yapılıyor, ya da oluşturma işlemi gerçekleştiriliyor. Yani mutex kullanılmasının açıklamasını bu şekilde yapabiliriz. Bakın dikkat ederseniz muteks oluşturuluyor ve daha sonra WSAStartup açılıyor ve gerekli izinler tanımlanıyor.



CTzjS.png

WSAStartup gerekli izinlerin verilmesi sayesinde soket bağlantısı yapabilmemize olanak sağlıyor eğer socket tamam derse gördüğünüz gibi ip adresine bağlantı sağlıyor ve bir işlem başlatıyor analizimize devam edelim



CT1Ub.png

İşlemi oluşturuyor şuan görmekte olduğumuz şey progress in oluşturulmasını kontrol eden bir algoritmayı görmekteyiz eğer oluşturulmaz ise oluşturma işlemini kapatıp recv fonksiyonu sayesinde işlem uygulanır ve duruma göre tekrar oluşturulmaya çalışılır







CTKds.png


Progress yapacağı işlemleri bitirince kendini nasıl kapattığını görmekteyiz şimdi nasıl sonlandığını da gördüğümüze göre arada yaptığı işlemi inceleyelim.


CT2YQ.png




CloseHandle açık bir nesne tanıtıcını kapatır bu bir disk bağlantısı koparmada olabilir konsol girişinde kapatmada olabilir dosya işlem süreç veya mutex de olabilir burada olan şey ise mutex ilk önce kendini mutex ile kalıcılığı sağlamıştı ve de root yetkisinde olmasını sağlamıştı burada mutex i kapattıktan sonra oluşturmuş olduğu sistem32 nin altına atma bu sayede kopyaladı. Eğer başarılı olursa işlemden çıkış yapıyor eğer başarılı olamaz ise sadece C klasörünü altına kopyalıyor.



CTUvt.png

Burada da gördüğünüz gibi bir doğrula ile başlamış strncmp ile burada registerlerden donen değerlere göre ilk değer diğerinden büyükse pozitif yani 1 olarak dönecek burada sıfır gelirse 60000 mili saniye bekledikten progress oluşturmaya atlayıp sıfırdan oluşturma işlemine girmekle pozitif dönene kadar eğer dönerse de loc_10001161 ile devam edecek



Bundan sonra ise exec ile yolumuza devam ediyorum burada gine bir strncmp ile karşılaştırma yapıyoruz 12 değerini esp ye atıyoruz bir üst işlemde de de esp ye 12 atamıştık eğer strncmp de olumsuz dönerse loc_100011D0 a atlama gerçekleşecek eğer bir problem olmaz ise exec ile işlemleri gerçekleştirecek. Gerçekleştirmeden sonra sonlamanın nasıl yapıldığını yukarıda göstermiştik.

Başarılar dilerim…
 
Ü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.