Import Address Table (IAT) Manipülasyonu
Import Address Table (IAT), bir PE dosyasının ihtiyaç duyduğu API adreslerini tuttuğu tablodur. Malware'ler API çağrılarını gizlemek, güvenlik ürünlerinden kaçmak veya davranışlarını değiştirmek için IAT manipülasyonu gerçekleştirebilir. Reverse engineering sırasında IAT'nin incelenmesi programın hangi API'leri kullandığını ortaya çıkarır.
Giris ve Temel Akis
Import Address Table (IAT), bir PE dosyasının ihtiyaç duyduğu API adreslerini tuttuğu tablodur. Malware'ler API çağrılarını gizlemek, güvenlik ürünlerinden kaçmak veya davranışlarını değiştirmek için IAT manipülasyonu gerçekleştirebilir. Reverse engineering sırasında IAT'nin incelenmesi programın hangi API'leri kullandığını ortaya çıkarır.
Bu bölümün pratik akışı şu sırayla ilerler:
- LoadLibraryA
- GetProcAddress
- IAT Entry Bul
- API Adresini Değiştir
- Çağrıları İzle
Temel Kavram Eslesmeleri
IAT manipülasyonu sırasında kullanılan temel API'ler farklı görevler üstlenir.
- LoadLibraryA: DLL yükleme
- GetProcAddress: Fonksiyon adresi alma
- VirtualProtect: Bellek koruma ayarlarını değiştirme
- WriteProcessMemory: Belleğe veri yazma
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram GetProcAddress olarak verilir. IAT analizi sırasında DLL içerisindeki fonksiyon adreslerini çözümlemek için özel bir API kullanılır.
Arac, Komut veya Inceleme Akisi
PE dosyalarında IAT analizi yapılırken import edilen DLL ve API'ler belirli sırayla incelenir.
Bu bölümün pratik akışı şu sırayla ilerler:
- KERNEL32.DLL
- CreateFileA
- ReadFile
- WriteFile
- CloseHandle
Kanit ve Bilesen Iliskileri
IAT üzerinde bulunan API'ler uygulamanın davranışını anlamak için önemli ipuçları verir.
- CreateFileA: Dosya işlemleri
- RegSetValueExA: Registry işlemleri
- CreateProcessA: Süreç yönetimi
- connect: Ağ iletişimi
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram connect olarak verilir. Bir PE dosyasında çok sayıda ağ API'si bulunması C2 iletişimi ihtimalini artırabilir.
Operasyonel Dogrulama ve Raporlama
IAT Hooking saldırılarında saldırganlar API adreslerini değiştirerek çağrıları kendi kodlarına yönlendirebilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- IAT Bul
- VirtualProtect
- Yeni Adres Yaz
- API Çağrısı Yakala
- Orijinal Akışa Dön
Cikti ve Kullanım Amaci
IAT manipülasyonu sırasında kullanılan teknikler farklı amaçlar için uygulanır.
- IAT Hooking: API çağrılarını yönlendirme
- API Monitoring: Çağrıları izleme
- Import Reconstruction: Silinmiş importları geri oluşturma
- Thunk Analysis: Import geçiş noktalarını inceleme
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram IAT Hooking olarak verilir. IAT üzerinde yapılan değişikliklerle API çağrılarının başka adreslere yönlendirilmesi mümkündür.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, Import Address Table (IAT) Manipülasyonu konusunu SOC L3 - Tersine Mühendislik - Anti-Debug ve Kernel Analizi baglaminda parcali degil, butunlu bir ogrenme akisina donusturur. Yalnizca kavramlari ezberlemek yerine surec sirasini, bilesenler arasi iliskiyi ve hangi kanitin neden onemli oldugunu kavramayi hedefler.
Ozet
Bu ders kapsaminda one cikan basliklar: LoadLibraryA, GetProcAddress, VirtualProtect, WriteProcessMemory, CreateFileA, RegSetValueExA, CreateProcessA, connect, IAT Hooking, API Monitoring. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.