Yürütülebilir Dosya ve PE Formatı Analizi: Windows Malware
Windows işletim sistemlerinde çalışan zararlı yazılımların büyük bölümü PE (Portable Executable) formatındadır. Bu nedenle yürütülebilir dosyaların (EXE, DLL) yapısını anlamak, malware analizi ve adli bilişim çalışmalarının temelini oluşturur. Bu makalede PE formatının yapısını, analiz adımlarını ve pratik inceleme yöntemlerini detaylı şekilde ele alıyoruz.
1. Yürütülebilir Dosya Nedir?
Yürütülebilir dosya; işletim sistemi tarafından doğrudan çalıştırılabilen, makine kodu içeren dosyalardır.
Windows’ta yaygın yürütülebilir türler:
1.exe23.dll45.sys67.scr2. PE (Portable Executable) Formatı Nedir?
PE formatı, Windows’un çalıştırılabilir dosyalar için kullandığı standart dosya yapısıdır. EXE ve DLL dosyaları bu formatı temel alır.
PE yapısı üç ana katmandan oluşur:
- DOS Header
- NT Header
- Section (Bölümler)
3. DOS Header (MZ Header)
Her PE dosyası MZ imzası ile başlar.
Önemli alanlar:
- e_magic → MZ
- e_lfanew → NT Header’ın offset’i
14D 5A 90 00 03 00 00 002M Z4. NT Header (PE Header)
DOS Header’dan sonra gelen ana yapıdır.
Bileşenleri:
- PE Signature (PE\0\0)
- File Header
- Optional Header (adı opsiyonel ama zorunludur)
150 45 00 002P EOptional Header’da Önemli Alanlar
- Entry Point
- ImageBase
- SectionAlignment
- Import Table RVA
5. Section (Bölüm) Yapısı
PE dosyası, farklı amaçlara hizmet eden bölümlere ayrılır.
Yaygın section’lar:
1| Section | Amaç |2| -------- | ------------------ |3| `.text` | Çalışan kod |4| `.data` | Global değişkenler |5| `.rdata` | Sabit veriler |6| `.rsrc` | Kaynaklar |7| `.idata` | Import tabloları |1.text → Executable2.data → Read/Write3.rsrc → Resources6. Import ve Export Tabloları
Import Table
Programın hangi Windows API fonksiyonlarını kullandığını gösterir.
1KERNEL32.dll2CreateFileA3WriteFile4CreateProcessAExport Table
DLL dosyalarında dışarı açılan fonksiyonları listeler.
7. Statik PE Analizi (Çalıştırmadan)
Statik analiz ile:
- Dosya yapısı incelenir
- Şüpheli API’ler belirlenir
- Obfuscation tespit edilir
Kullanılan araçlar:
- PE-bear
- CFF Explorer
- Detect It Easy (DIE)
1file malware.exe2pe-bear malware.exe8. Packer ve Obfuscation Tespiti
Packer kullanımı belirtileri:
- Yüksek entropy
- Tek section
- Import tablosu boş
- Runtime API çözümleme
1Entropy: 7.9 → High9. Gerçekçi Analiz Senaryosu
Olay:
Bir EXE dosyası antivirüs tarafından tanınmıyor.
İnceleme:
- MZ ve PE header mevcut
- .text section çok küçük
- Import tablosu boş
- Entropy yüksek
Sonuç:
Muhtemelen packed ve gizlenmiş malware.
10. İpuçları ve En İyi Uygulamalar
- Entry Point her zaman kontrol et
- Section izinlerini incele (RWX)
- Import tablosunu whitelist ile karşılaştır
- Hash (SHA-256) mutlaka al
- Packed dosyaları önce unpack et
Yürütülebilir dosya ve PE formatı analizi, Windows malware incelemenin omurgasını oluşturur. PE yapısını iyi anlayan bir analist; zararlı yazılımın ne yaptığını, nasıl gizlendiğini ve hangi yeteneklere sahip olduğunu büyük ölçüde çalıştırmadan tespit edebilir. Statik PE analizi; dinamik analiz, sandbox ve tersine mühendislik süreçlerinin sağlam bir başlangıç noktasıdır.
0 yorum