IDA Pro ile Keylogger İleri Statik Analizi

layef

Üye
28 Mar 2020
135
46
nowhere
Bu yazıda IDA Pro ile ileri seviye keylogger analizi yapacağız. Öncelikle hatırlatma olarak bazı terimleri açıklayalım.

İleri Statik Analiz Nedir?

Statik analiz bilindiği üzere zararlının veya herhangi bir yazılımın çalıştırılmadan temel manada incelenmesiydi. Burada zararlı yazılımın obfuscating ve packing işlemlerinin olup olmadığı, hangi dosyaları import ettiği, hangi kütüphaneleri kullandığı, string değerleri, fonksiyonlar.. gibi bilgileri incelemek ana amacımızdı. İleri statik analizde ise statik ve dinamik analiz sonucu elde edilen bilgiler doğrultusunda zararlının disassembler ile incelenerek analiz edilmesidir.

Keylogger Nedir?

Kurban bilgisayarda çalıştırıldığında kurbanın bastığı her tuşu kayıt altına alıp saldırgana gönderen zararlı yazılım çeşitidir.

IDA Pro Nedir?

PE yani çalıştırılabilir dosyaları disassembling işlemini uygular. Tersine mühendislikte sıklıkla kullanılır.

Analize geçelim..


Keylogger IDA ile açılır. (File > open) Açıldığında karşımıza böyle bir ekran çıkıyor.



Aslında öncelikli olarak odaklanmamız gereken string ifadeler. IDA’da string sekmesini açalım. Görüldüğü gibi sağda direkt olarak açık gelebiliyor, bir yukarısında sekmede olabiliyor ya da View > open subviews > String (Shift + F12) ile bu sekmeye ulaşabiliriz



Görüldüğü üzere burada bazı özel karakterler dikkatimizi çekiyor. Bir keylogger oluştururken de bu özel karakterleri özellikle geri dönüş text’inde belirtiriz.

Herhangi bir karakterin([ENTER] diyelim) kullandığı hafıza adresine gidelim…



Ardında aEnter tıklayıp seçelim daha sonra bu adrese çapraz referans ile(ctrl + x) koda gidelim…





Fark ettiyseniz burada bir yazma işlemi var. fwrite() fonksiyonu dosyaya veri yazma işlemi için kullanılıyordu. Klavyeden basılan değerin kaydedilmesi / bir dosyaya yazılması bize neyi hatırlatır?

loc_4014E0 konumuna jmp ile bir koşulsuz atlama gerçekleştiriyor. O konuma gitmek için loc_4014E0 üzerine sol tık > jump in a new window(alt + enter) diyerek gidebiliriz.



Burada call ile Sleep ve GetAsyncKeyState fonksiyonları gözümüze çarpıyor. GetAsyncKeyState fonksiyonu klavyeden girilen değerleri kaydetmek için kullanıyor. Keylogger olduğunun en büyük kanıtlarından biri. Ayrıca sleep fonksiyonu sıklıkla GetAsyncKeyState ile beraber kullanılmaktadır.

Hemen sağ tarafta GetAsyncKeyState fonksiyonunu yeni bir pencerede açtığımızda içerisine int vKey parametresi aldığını görüyoruz. vKey(virtual-key code) sanal anahtar kodu olarak geçer.

Sonuç olarak, araya ek bilgilerde sıkıştırarak anlattığım analiz bariz bir şekilde bize bir keylogger’in belirtilerini gösteriyor.

Selam ve Sevgilerle layef

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