Karartma Açma ve Analiz Karşıtı Teknikler
Dize karartmayı, denetim akışı düzleştirmeyi, hata ayıklama karşıtı teknikleri ve paketlemeyi belirleyip aşın.
Karartma Açma ve Analiz Karşıtı Teknikler, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Kötü Amaçlı Yazılımlar Kodu Neden Gizler?
Kötü amaçlı yazılım yazarları kodu şu amaçlarla gizler: statik AV imza algılamasını, analistler tarafından yapılan tersine mühendisliği ve korumalı ortam algılamasını engellemek. Gizlemeyi kaldırma, gizlenmiş biçimdeki kodu yeniden okunabilir hâle getirme işlemidir.
Dize Gizleme
Kötü amaçlı yazılımlar C2 URL'lerini veya API adlarını nadiren düz metin olarak saklar. Yaygın teknikler:
- XOR kodlaması: her bayt için
key ^ char - Base64 kodlaması
- Yığın dizeleri: çalışma zamanında karakter karakter oluşturulan dizeler
- Sabit kodlanmış bir anahtarla özel şifreleme
XOR Dizelerinin Gizlemesini Kaldırma
XOR anahtarlarını bulma:
# If you see single-byte XOR:
import string
for key in range(256):
decoded = bytes([b ^ key for b in encoded])
if all(c in string.printable for c in decoded.decode('latin1')):
print(f"Key {key}: {decoded}")Kod Paketleme
Paketleyiciler, özgün ikili dosyayı sıkıştırır veya şifreler ve çalışma zamanında dosyanın paketini açan ya da şifresini çözen bir başlangıç kodu ekler. Özgün kod diskte hiçbir zaman görünmez. Örnekler: UPX (zararsız kullanım), kötü amaçlı yazılımlardaki özel paketleyiciler.
Algılama: küçük içe aktarma tablosu + yüksek entropi + PEID/Detect-It-Easy içindeki bilinen paketleyici imzaları.
Hata Ayıklama Karşıtı Teknikler
Kötü amaçlı yazılım, hata ayıklayıcıları algılar ve davranışını değiştirir:
- IsDebuggerPresent() — Windows API denetimi
- Zamanlama denetimleri — hata ayıklayıcı altındaki kod yavaş çalışır
- ptrace denetimi — Linux süreçleri yalnızca bir kez ptrace edilebilir
- INT3 tuzakları — yazılım kesme noktası algılama
# Linux anti-ptrace:
if (ptrace(PTRACE_TRACEME, 0, 0, 0) == -1) {
exit(); // already being traced!
}Sanal Makine ve Korumalı Ortam Algılama Karşıtı Teknikler
Kötü amaçlı yazılım, sanallaştırılmış veya korumalı ortamları algılar ve bekler ya da çıkar:
- Üst yöneticisi bitini denetlemek için CPUID kontrolleri
- VM'ye özgü kayıt defteri anahtarlarını, süreçleri ve dosyaları denetleme
- Düşük çalışma süresi, yeni dosya bulunmaması ve tarayıcı geçmişinin olmaması
- Fare hareketi denetimleri (otomatik korumalı ortamlar fareyi hareket ettirmez)
Denetim Akışı Gizleme
Disassembler'ların kafasını karıştıran teknikler:
- Sıçrama gizleme — hesaplanan adresler üzerinden dolaylı sıçramalar
- Opak koşullar — analizi zorlaştıran, her zaman doğru koşullar
- Komutların çakışması — komut akışına gömülmüş veriler
GDB'de Hata Ayıklama Karşıtı Önlemleri Aşma
Yaygın hata ayıklama karşıtı hileleri atlatma:
# Patch IsDebuggerPresent return value:
# In GDB: set $rax = 0 after the call
# Or use NOP sled to skip the check:
# In GDB: jump *0x401234 (skip the check)
# Force ptrace to succeed:
set follow-fork-mode childDinamik Paket Açma
Paketlenmiş kötü amaçlı yazılımlarda, özgün kod belleğe yüklenene kadar paket açma başlangıç kodunu çalıştırın ve ardından kodu dökün:
- Paketleyici başlangıç kodu tamamlanana kadar GDB'de çalıştırın
- OEP'yi (özgün giriş noktası) bulun — genellikle
VirtualAllocüzerinde kesme noktası +jmp regkullanılarak bulunur dump binary memoryile belleği dosyaya dökün
Öykünme Tabanlı Gizleme Kaldırma
İkili dosyayı çalıştırmadan gizlenmiş dizeleri ortaya çıkarmak için kodu öykünen araçlar:
- FLOSS (FireEye) — yığın dizelerini ve gizlenmiş dizeleri çıkarır
- speakeasy — Windows API öykünmesi
- Capa — kötü amaçlı yazılım yeteneklerini otomatik olarak belirler
Örüntü Tanıma
Yaygın kötü amaçlı yazılım örüntülerini tanımak analizi hızlandırır:
- Özet API'si: içe aktarmaları çalışma zamanında çözümlemek için kullanılan işlev adlarının CRC32/ROR13 özeti
- Yansıtmalı DLL yerleştirme örüntüleri
- NTDLL sistem çağrısı başlangıç kodları (EDR kancalarını aşmak için doğrudan sistem çağrıları)
Hızlı Kontrol: Analiz Karşıtı Teknikler
Bir kötü amaçlı yazılım örneği, Linux'ta ptrace(PTRACE_TRACEME) çağrısının -1 döndürüp döndürmediğini denetliyor. Bu hangi tekniktir?
Ders Özeti
Kötü amaçlı yazılım dizeleri gizler (XOR, yığın dizeleri), kodu paketler, hata ayıklayıcıları algılar (IsDebuggerPresent, ptrace, zamanlama) ve korumalı ortamlardan kaçar (VM denetimleri, hareketsizlik). Gizlemeyi kaldırma işlemleri: XOR anahtarını kaba kuvvetle bulma, dinamik paket açma (OEP'den sonra dökme) ve yığın dizeleri için FLOSS kullanma. GDB'de hata ayıklama karşıtı denetimleri yamalayın veya atlatın. Öykünme araçları (FLOSS, speakeasy), davranışı güvenli biçimde çıkarır.
Sıkça Sorulan Sorular
“Karartma Açma ve Analiz Karşıtı Teknikler” dersi ücretsiz mi?
Evet — “Karartma Açma ve Analiz Karşıtı Teknikler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Karartma Açma ve Analiz Karşıtı Teknikler” dersinde ne öğreneceğim?
Dize karartmayı, denetim akışı düzleştirmeyi, hata ayıklama karşıtı teknikleri ve paketlemeyi belirleyip aşın. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Karartma Açma ve Analiz Karşıtı Teknikler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Ghidra: İkili Dosyalarda Gezinme ve Açıklama Ekleme
- Tersine Mühendisler için x86/x64 Assembly Temelleri
- GDB ve pwndbg ile Dinamik Analiz
- Karartma Açma ve Analiz Karşıtı Teknikler