CyberFlow Logo CyberFlow BLOG
Soc L3 Reverse Engineering

Kernel Callback ve Notify Routine Analizi

✍️ Ahmet BİRKAN 📂 Soc L3 Reverse Engineering

Kernel Callback ve Notify Routine Analizi konusunu SOC L3 - Tersine Mühendislik - Anti-Debug ve Kernel Analizi baglaminda blog formatinda ogrenin. Temel akis, kavram eslestirmeleri ve analiz mantigi tek bir yapida birlestirildi.

Kernel Callback ve Notify Routine Analizi

Windows Kernel, belirli sistem olayları gerçekleştiğinde driver'ların haberdar olabilmesi için callback ve notify routine mekanizmaları sunar. Rootkit ve güvenlik yazılımları süreç, thread ve image yükleme olaylarını takip etmek için bu yapıları kullanır. Reverse engineering sırasında kayıt edilen callback fonksiyonları incelenmelidir.

Giris ve Temel Akis

Windows Kernel, belirli sistem olayları gerçekleştiğinde driver'ların haberdar olabilmesi için callback ve notify routine mekanizmaları sunar. Rootkit ve güvenlik yazılımları süreç, thread ve image yükleme olaylarını takip etmek için bu yapıları kullanır. Reverse engineering sırasında kayıt edilen callback fonksiyonları incelenmelidir.

Bu bölümün pratik akışı şu sırayla ilerler:

  • Callback Kaydet
  • Sistem Olayı Oluşur
  • Kernel Callback'i Çağırır
  • Bilgi Toplanır
  • İşlem Gerçekleştirilir
  • Sonuç Döndürülür

Temel Kavram Eslesmeleri

Windows kernel içerisinde farklı olaylar için farklı callback mekanizmaları bulunur.

  • Process Notify Routine: Süreç oluşturma ve sonlanma olaylarını izler
  • Thread Notify Routine: Thread olaylarını izler
  • Image Load Notify Routine: DLL ve EXE yüklemelerini izler
  • Object Callback: Kernel nesne erişimlerini izler

Ilk Cekirdek Kavram

Bu bölümde öne çıkan çekirdek kavram Process Notify Routine olarak verilir. Bir driver süreç oluşturma olaylarını izlemek istediğinde özel bir notify routine kaydedebilir.

Arac, Komut veya Inceleme Akisi

Reverse engineer callback kullanan bir driver'ı analiz ederken callback kayıt noktalarını ve işlevlerini inceler.

Bu bölümün pratik akışı şu sırayla ilerler:

  • DriverEntry Bul
  • Callback Registration Bul
  • Fonksiyon Adresini İncele
  • Olay Türünü Belirle
  • Davranışı Analiz Et

Kanit ve Bilesen Iliskileri

Kernel callback kayıtları için çeşitli API'ler kullanılabilir.

  • PsSetCreateProcessNotifyRoutine: Process callback kaydeder
  • PsSetCreateThreadNotifyRoutine: Thread callback kaydeder
  • PsSetLoadImageNotifyRoutine: Image load callback kaydeder
  • ObRegisterCallbacks: Object callback kaydeder

Ikincil Odak Noktasi

Bu bölümde öne çıkan çekirdek kavram PsSetLoadImageNotifyRoutine olarak verilir. Bir driver EXE ve DLL yüklemelerini izlemek istediğinde özel bir image callback kaydı oluşturabilir.

Operasyonel Dogrulama ve Raporlama

Bir rootkit callback mekanizmasını kullanarak süreçleri veya yüklenen modülleri izleyebilir.

Bu bölümün pratik akışı şu sırayla ilerler:

  • Callback Kaydet
  • Süreç Başlar
  • Kernel Bildirim Gönderir
  • Bilgi Toplanır
  • Kural Uygulanır

Cikti ve Kullanım Amaci

Kernel callback analizinde kullanılan araçlar farklı görünürlük seviyeleri sağlar.

  • WinDbg: Kernel callback inceleme
  • IDA Pro: Driver kod analizi
  • Ghidra: Decompiler ile callback çözümleme
  • Process Monitor: Sistem olaylarını gözlemleme

Son Kavram ve Cikis

Bu bölümde öne çıkan çekirdek kavram Object Callback olarak verilir. Kernel callback mekanizmaları sayesinde driver'lar sistem olaylarından anında haberdar olabilir.

Bu Egitimden Ne Kazanirsiniz?

Bu icerik, Kernel Callback ve Notify Routine Analizi 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: Process Notify Routine, Thread Notify Routine, Image Load Notify Routine, Object Callback, PsSetCreateProcessNotifyRoutine, PsSetCreateThreadNotifyRoutine, PsSetLoadImageNotifyRoutine, ObRegisterCallbacks, WinDbg, IDA Pro. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.