CyberFlow Logo CyberFlow BLOG
Soc L3 Reverse Engineering

Debugger Tespit Mekanizmaları (IsDebuggerPresent)

✍️ Ahmet BİRKAN 📂 Soc L3 Reverse Engineering

Debugger Tespit Mekanizmaları (IsDebuggerPresent) 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.

Debugger Tespit Mekanizmaları (IsDebuggerPresent)

Zararlı yazılımlar analiz edilmekten kaçınmak için debugger tespit mekanizmaları kullanır. En yaygın yöntemlerden biri IsDebuggerPresent API'sidir. Bu API çalıştırılan sürecin bir debugger altında olup olmadığını kontrol eder. BOOL result; result = IsDebuggerPresent(); if(result) { } else { RunPayload(); }

Giris ve Temel Akis

Zararlı yazılımlar analiz edilmekten kaçınmak için debugger tespit mekanizmaları kullanır. En yaygın yöntemlerden biri IsDebuggerPresent API'sidir. Bu API çalıştırılan sürecin bir debugger altında olup olmadığını kontrol eder. BOOL result; result = IsDebuggerPresent(); if(result) { } else { RunPayload(); }

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

  • IsDebuggerPresent()
  • Sonucu Kontrol Et
  • Debugger Tespit Edildi
  • ExitProcess(0)

Temel Kavram Eslesmeleri

Anti-debug teknikleri farklı API ve mekanizmalar kullanabilir.

  • IsDebuggerPresent: Debugger varlığını kontrol eder
  • CheckRemoteDebuggerPresent: Başka süreçte debugger kontrolü yapar
  • NtQueryInformationProcess: Debug bilgilerini sorgular
  • OutputDebugString: Debugger davranışını test eder

Ilk Cekirdek Kavram

Bu bölümde öne çıkan çekirdek kavram IsDebuggerPresent olarak verilir. Windows üzerinde çalışan birçok malware ilk olarak standart debugger kontrol API'sini çağırır.

Arac, Komut veya Inceleme Akisi

Bir reverse engineer debugger tespit mekanizmasını analiz ederken API çağrısını ve dönen değeri takip eder.

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

  • Breakpoint Koy
  • API Çağrısını Yakala
  • Dönen Değeri İncele
  • Koşullu Dallanmayı Analiz Et
  • Payload Akışını Takip Et

Kanit ve Bilesen Iliskileri

Debugger tespitinde bazı API dönüş değerleri kritik anlam taşır.

  • TRUE: Debugger tespit edildi
  • FALSE: Debugger tespit edilmedi
  • ExitProcess: Analizi sonlandırma girişimi
  • RunPayload: Normal çalışma akışı

Ikincil Odak Noktasi

Bu bölümde öne çıkan çekirdek kavram ExitProcess olarak verilir. Bir malware debugger algıladığında sıklıkla çalışmasını sonlandırır veya sahte kod yollarına yönelir.

Operasyonel Dogrulama ve Raporlama

x64dbg veya WinDbg kullanılarak anti-debug mekanizmaları analiz edilir.

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

  • Programı Başlat
  • Breakpoint Yerleştir
  • API Çağrısına Ulaş
  • Registerları İncele
  • Koşulu Bypass Et

Cikti ve Kullanım Amaci

Reverse engineering sırasında farklı debugger araçları kullanılabilir.

  • x64dbg: Kullanıcı modu dinamik analiz
  • WinDbg: Kernel ve kullanıcı modu hata ayıklama
  • IDA Pro: Statik analiz ve disassembly
  • Ghidra: Açık kaynak tersine mühendislik

Son Kavram ve Cikis

Bu bölümde öne çıkan çekirdek kavram Anti-Debug olarak verilir. Bazı malware'ler debugger tespitinden sonra gerçek payload yerine yanıltıcı kod çalıştırır.

Bu Egitimden Ne Kazanirsiniz?

Bu icerik, Debugger Tespit Mekanizmaları (IsDebuggerPresent) 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: IsDebuggerPresent, CheckRemoteDebuggerPresent, NtQueryInformationProcess, OutputDebugString, TRUE, FALSE, ExitProcess, RunPayload, x64dbg, WinDbg. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.