McRat ile Malware Analizi

Cshoner

Uzman üye
6 Ocak 2012
1,202
0
TURKIYE
Bu konuda bir kullanıcının bilgilerinin ve şifrelerinin nasıl çalınabileceğini McRat Programıyla analiz edeceğiz.
Bu malware ilginçtir çünkü, bazı anti-hata ayıklama teknikleri ve çeşitli şifreleme / şaşırtmaca katmanları kullanarak bizi engelleme amacıyla kendi kodunu analiz eder, bu analiz 2 bölüme ayrılır , ilk bölüm de anti-hata ayıklama korumayı bypass edicez, 2. bölümde ise bu yazılımın davranışını aktaracağız.


Araçlarımız:
●Ollydbg
●IDA
●Process Hacker
●PEiD

Malware Analizi:
Dosyayı analiz ettiğimizde malware’nin bilgilerini ve hash arama kısmının olduğunu bulabiliriz bu uygulama emd3I tarafından geliştirilmiştir.

●MD5: 4d519bf53a8217adc4c15d15f0815993
●SHA1: fa9674bab61c37717f8232ebd47af915f9eb9e49

İlk olarak PEiD ile PE bölümleri ve başlığına bakalım..

uzun6.jpg

PEiD

uzunm.jpg


PE Detayları

Ollydbg ile dosyayı açtıktan sonra INT3 komutları dahil olmak üzere bazı kodları görebilirsiniz eğer hata ayıklamaya çalışırken bu kodlar gözüküyorsa muhtemelen bir sorun var demektir. Bu, hata bulurken bizi engellemek için kullanılan nanomit benzeridir. Program bu tür hataları bypass ederken kullanılan durum yöneticisidir bunun için üzerine ‘ (kesme işareti) konularak bypass işlemi yapılabilir bu sırada durum yöneticisini bulmak için ollydbg kod penceresinde 4. satırına bakınız.

uzunz.jpg


00401EE8 üzerine bir breakpoint ekledikten sonra durum yöneticisini durdurmak için birkez F9’a basmanız yeterli olacaktır. Satır satır analiz ettikten sonra önemli kısımlarımızı bulabilirsiniz.

uzupl.jpg


Çağrı işleminden sonra diğer bir çağrı işlemine geçebilirsiniz.

uzuq2.jpg


çağrı fonksiyonu

Rutin olarak 004018F0 de ana damlalığı görebilirsiniz bu fonksiyonda malware kendi DLL dosyalarını ve hizmetlerini oluşturur ve bazı kayıt defteri anahtarlarını değiştirmek için derinlemesine analiz yapar. Malware 401906 de bir IsUserAnAdmin arayarak yönetici olup olmadığının kontrollerini yapar. Kullanıcı seviyesi yönetici komutunun ardından artık takip işlemi olmayacaktır.

uzuqd.jpg


Malware 64Bit OS üzerinde çalışıyorsa yazılımın 00401910 dizinini kontrol edin.

uzuqu.jpg


Buna yine IsUserAdmin() denilir. İlginç gibi gelebilir ama 00401960 dan çağrılır bu yüzden içine 00401960 bakabiliriz. McRat hizmetlere erişimi sağlamak için OpenSCManagerW()‘ i kullanır. Hizmet adları ve diğer servisler “Brower” bölümünde karşılaştırılır.

uzur3.jpg


“Brower” aranıyor..

Bu resimdeki belkide “Browser” için yazım hatası olabilir mi ? Daha sonra hizmetlerde svchost.exe-k netsvcs yi arar ve ilk servis , ki bulduğu ilk servistir AppMgmt. Daha sonra McRat, bulunan kayıtta AppMgmt hizmetinin dll’sini arar.

“%SystemRoot%\\System32\\appmgmts.dll”

Daha sonra hizmet seçeneklerini değiştirir ve servise ayrıcalıklı öncelik verir. Bu seçenekler windows kayıt defterinde kontrol edilebilir.

uzurb.jpg


Modifiye Servis Seçenekleri..

McRat, çağrı geri geldikten sonra AppMgmt servisinin dll ismini wsprintf() olarak koyar ve daha sonra aşağıdakini oluşturur.

“%USERPROFILE%\\AppMgmt.dll”

Kayıt defterindeki 004019CD de benzer veriler okunur. Analiz edildikten sonra o dll’in BIN dizininde olduğu görülür. McRat Kullanıcı Profilindeki dll, Appmgmt.dll için yeniden adlandırılır. Daha sonra kayıt defterinden ServiceDLL değerini değiştirir aynı zamanda buradaki damlalık adresini kaydeder:

uzurk.jpg


Damlalık Yolu..

Şimdi de 0040100 fonksiyonu çağrılır. Bu sırada McRat çalıştığından AppMgmt çağrılır ve servis durdurlur , böylece .dll alanında bulunan ana fonksiyonların çalışması başlar. Bu aramadan sonra Malware, ExitProcess() ile kendini sonlandırır. Bu aşamada servis hizmeti tekrar çalıştırılmaz.

1. Ollydbg veya bir hex editör ile dll açın.
2. EB FE ile yama yaparak giriş noktasını atlayın.
3. Manuel olarak servisi çalıştırmaya hazırız.

Process Hacker ile artık dll de çalışan svchost’u bulabilirsiniz ve Ollydbg den buna ekleyebilirsiniz.

1.Ollydbg de başlık pencerelerini açın.
2. Orjinal kod ile girişi geçin.
3. İşlemi gerçekleştirin.

Gördüğünüz gibi ilk çağırdığı GetModuleHandleW() olacaktır, ve daha sonra konuyu gerçekleştirmek için CreateThread()’ yi çağıracaktır. McRat mcproxy.exe’yi çağırıp çağırmadığını denetler bunu sona erdirmek için NOP’u modifiye etmeniz gerekir.

uzurx.jpg


McRat Başlığı

Diğer adımda McRat, xoring kodunu 75H ile çözer

uzus7.jpg


şifresi çözülmüş kodun 2. bölümünde xor kodunun çözülmesi:

uzush.jpg


F7 ile önizleme yaptıktan sonra 3. bir döngü ile karşılaşacağız..

uzusy.jpg


Bu döngü içinde Malware, VirtualAlloc() adresini bulur daha sonra EAX’ı çağırır ve EAX’ı yerine koyar.

v011m.jpg


Eax’ı çağırdıktan sonra başka bir çağrı yapar , analizden sonra başka kodu analiz eder ve onları VirtualAlloc() çağrısı yoluyla elde edilen bir adrese kopyalar daha sonra buraya geçer:

v0122.jpg


Burada yine diğer rutin şifre çözme işlemlerini yapar. Eax’ı yerleştirdikten sonra aşağıdaki kod dizini oluşur

v012g.jpg


Eğer fark ederseniz dışarı basit bir yönlendirme yapar. ve basitçe 5-6 kez F7 yaparak bu API’leri bulabilirsiniz.

Cshoner | Tuğgeneral
 

juqle

Yeni üye
7 Eki 2013
5
0
Peki ollydbg ile vb6 dan yapılmış bir exe dosyasısının internet yolunu değiştirebilirmiyiz ?
 
Ü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.