İPUCU

Trojan ve Virüsler Trojan ve Virüsler Hakkında Bilgiler.

Seçenekler

McRat ile Malware Analizi

02-12-2013 17:26
#1
Cshoner - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2012
Nereden:
TURKIYE
Mesajlar:
1.204
Teşekkür (Etti):
33
Teşekkür (Aldı):
157
Konular:
631
Ticaret:
(0) %
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..


PEiD



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.



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.



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



ç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.



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



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.



“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.



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:



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.



McRat Başlığı

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



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



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



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



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:



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



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
Kullanıcı İmzası
Aşk Bazıları İçin 3 Harflidir THT

19-12-2013 20:33
#2
Üyelik tarihi:
04/2012
Nereden:
adana
Mesajlar:
606
Teşekkür (Etti):
20
Teşekkür (Aldı):
24
Konular:
27
Ticaret:
(0) %
Emege saygii herzaman
20-08-2014 00:07
#3
juqle - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2013
Mesajlar:
5
Teşekkür (Etti):
0
Teşekkür (Aldı):
1
Konular:
1
Ticaret:
(0) %
Peki ollydbg ile vb6 dan yapılmış bir exe dosyasısının internet yolunu değiştirebilirmiyiz ?

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı