CyberFlow Logo CyberFlow BLOG
Soc L3 Reverse Engineering

NtGlobalFlag Anti-Debug Kontrolleri

✍️ Ahmet BİRKAN 📂 Soc L3 Reverse Engineering

NtGlobalFlag Anti-Debug Kontrolleri 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.

NtGlobalFlag Anti-Debug Kontrolleri

NtGlobalFlag, Windows Process Environment Block (PEB) içerisinde bulunan ve süreç davranışlarını etkileyen bir alandır. Bir süreç debugger altında başlatıldığında belirli NtGlobalFlag bitleri aktif hale gelir. Malware'ler bu değeri kontrol ederek analiz ortamlarını tespit etmeye çalışır. mov rax, gs:[60h] mov eax, [rax+0BCh] and eax, 70h cmp eax, 70h je DebuggerDetected jmp ContinueExecution

Giris ve Temel Akis

NtGlobalFlag, Windows Process Environment Block (PEB) içerisinde bulunan ve süreç davranışlarını etkileyen bir alandır. Bir süreç debugger altında başlatıldığında belirli NtGlobalFlag bitleri aktif hale gelir. Malware'ler bu değeri kontrol ederek analiz ortamlarını tespit etmeye çalışır. mov rax, gs:[60h] mov eax, [rax+0BCh] and eax, 70h cmp eax, 70h je DebuggerDetected jmp ContinueExecution

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

  • PEB Adresini Al
  • NtGlobalFlag Alanını Oku
  • 70h Maskesi Uygula
  • Sonucu Karşılaştır
  • DebuggerDetected
  • ContinueExecution

Temel Kavram Eslesmeleri

NtGlobalFlag içerisinde debugger varlığını gösterebilen çeşitli bayraklar bulunur.

  • FLG_HEAP_ENABLE_TAIL_CHECK: Heap sonu kontrolünü etkinleştirir
  • FLG_HEAP_ENABLE_FREE_CHECK: Heap serbest bırakma kontrollerini etkinleştirir
  • FLG_HEAP_VALIDATE_PARAMETERS: Heap parametre doğrulaması yapar
  • NtGlobalFlag: Debug ortamı göstergeleri içerir

Ilk Cekirdek Kavram

Bu bölümde öne çıkan çekirdek kavram NtGlobalFlag olarak verilir. Birçok malware örneği debugger altında çalıştırılıp çalıştırılmadığını anlamak için NtGlobalFlag alanını kontrol eder.

Arac, Komut veya Inceleme Akisi

Reverse engineer'lar NtGlobalFlag tabanlı anti-debug mekanizmalarını analiz ederken belirli bir metodoloji uygular.

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

  • PEB Bul
  • NtGlobalFlag Ofsetine Git
  • Değeri Oku
  • Bit Maskesi Uygula
  • Koşullu Dallanmayı İncele

Kanit ve Bilesen Iliskileri

NtGlobalFlag kontrolleri farklı sonuçlar üretebilir.

  • 0x70: Debugger altında başlatılmış süreç göstergesi
  • 0x00: Normal süreç çalışması
  • JE: Eşitlik durumunda debugger akışına geçiş
  • JMP: Normal çalışma akışına geçiş

Ikincil Odak Noktasi

Bu bölümde öne çıkan çekirdek kavram 70h olarak verilir. NtGlobalFlag kontrollerinde genellikle belirli bitler kontrol edilerek debugger varlığı anlaşılır.

Operasyonel Dogrulama ve Raporlama

Anti-debug bypass işlemlerinde NtGlobalFlag kontrolü genellikle patch edilerek etkisiz hale getirilir.

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

  • Breakpoint Yerleştir
  • NtGlobalFlag Kontrolüne Ulaş
  • CMP Talimatını Bul
  • Koşulu Patch Et
  • Programı Devam Ettir

Cikti ve Kullanım Amaci

Reverse engineering sırasında çeşitli anti-debug bypass yöntemleri uygulanabilir.

  • NOP Patch: Kontrol talimatını etkisiz hale getirir
  • Flag Modification: Debugger göstergelerini değiştirir
  • Memory Patching: Bellekteki değerleri değiştirir
  • Conditional Jump Patch: Dallanma mantığını değiştirir

Son Kavram ve Cikis

Bu bölümde öne çıkan çekirdek kavram PEB olarak verilir. NtGlobalFlag, debugger tespiti için kullanılan birçok PEB tabanlı mekanizmadan biridir.

Bu Egitimden Ne Kazanirsiniz?

Bu icerik, NtGlobalFlag Anti-Debug Kontrolleri 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: FLG_HEAP_ENABLE_TAIL_CHECK, FLG_HEAP_ENABLE_FREE_CHECK, FLG_HEAP_VALIDATE_PARAMETERS, NtGlobalFlag, 0x70, 0x00, JE, JMP, NOP Patch, Flag Modification. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.