İçeriğe geç
🚀 Bu rehber açık kaynaklıdır ve katkılarınıza açıktır! Katkıda bulunmak, hata bildirmek veya öneri sunmak için GitHub Depomuzu ziyaret edin ve Pull Request açın.

Kriptanaliz, Şifre Kırma ve Hash Kırma

Kriptanaliz, Şifre Kırma ve Hash Kırma

Kriptanaliz, şifreleme sistemlerinin zafiyetlerini analiz ederek gizli anahtarları, düz metinleri veya hash değerlerini elde etmeyi amaçlayan şifre biliminin saldırı koludur. Kurumsal güvenlik mimarisinde kriptanaliz bilgisi yalnızca kırmızı takımın değil, mavi takımın ve SOC analistlerinin de temel yetkinliğidir: bir kontrolün etkinliğini ancak ona karşı hangi saldırının nasıl işlediğini bilerek değerlendirebilirsiniz. MITRE ATT&CK çerçevesinde bu faaliyetler; T1110 (Brute Force), T1552 (Unsecured Credentials), T1600 (Weaken Encryption), T1040 (Network Sniffing) ve T1557 (Adversary-in-the-Middle) gibi tekniklerle eşleşir.

Bu bölüm, §5.1’de ele alınan kriptografik algoritmaların saldırı perspektifinden incelenmesine odaklanır: parola/hash kırma yöntemleri, key stretching savunmaları, protokol düşürme saldırıları, padding oracle sınıfı, PKI ihlalleri ve SOC katmanında tespit/engelleme mekanizmaları. Uluslararası referanslar (NIST SP 800-63B, SP 800-52 Rev.2, ISO 27001:2022 A.8.24, CIS Controls v8) ile Türkiye mevzuatı (KVKK, 5651, BDDK) birlikte ele alınır. Kırmızı takımın saldırı senaryoları ile mavi takımın tespit kuralları aynı MITRE teknik kimlikleri üzerinden eşleştirilir.

Simetrik ve asimetrik kriptografi mekanizması Simetrik ve asimetrik kriptografi mekanizması — saldırganın hedeflediği katmanlar

flowchart LR
    subgraph Saldiri["Kırmızı Takım"]
        A[Hash ele geçirme] --> B[Offline crack]
        C[TLS downgrade] --> D[Padding oracle]
        E[Rogue CA] --> F[MITM]
    end
    subgraph Savunma["Mavi Takım"]
        B --> G[Argon2id + MFA]
        D --> H[TLS 1.3 + AEAD]
        F --> I[HSM + CT logs]
    end
    subgraph Izleme["SOC"]
        G --> J[Wazuh T1110]
        H --> K[testssl.sh]
        I --> L[SIEM korelasyon]
    end
🔍 SOC Analisti: Hash Kırma Tespit Kontrol Listesi

Uç nokta göstergeleri (Sysmon Event ID 1):

IoCKomut satırı örneğiMITRE
Hashcathashcat -m 1000 -a 0T1110.002
Johnjohn --wordlist=rockyou.txtT1110.002
NTDS dumpntdsutil ifm / secretsdumpT1003.003

Korelasyon zinciri: LSASS erişimi (T1003.001) → 5 dk içinde hashcat/john → otomatik host izolasyonu.

Splunk örnek sorgu:

index=sysmon EventCode=10 TargetImage="*lsass.exe*"
| join ComputerName [search index=sysmon EventCode=1 Image="*hashcat*"]

§5.2.1.Kriptanalize Giriş ve Saldırı-Savunma Dengesi

Kriptoloji iki ana daldan oluşur: kriptografi (sistem tasarımı) ve kriptanaliz (sistem kırma). Fortune 500 ölçeğindeki kurumlarda bu ayrım operasyonel olarak şu şekilde yansır:

PerspektifRolTemel Soru
Kırmızı takımZafiyet keşfi, penetrasyon testi”Bu hash ne kadar sürede kırılır?”
Mavi takım / SOCTespit, engelleme, olay müdahale”Hashcat çalıştırıldığını nasıl görürüz?”
Güvenlik mimarıKontrol tasarımı, politika”Argon2id parametreleri yeterli mi?”

Temel Saldırı Vektörleri

Saldırı TürüMantıkMITRE ATT&CK
Kaba kuvvet (Brute Force)Tüm olası kombinasyonları denerT1110.001
Sözlük saldırısıYaygın parola listelerini denerT1110.001
Gökkuşağı tablosu (Rainbow Table)Önceden hesaplanmış hash tablolarıT1110.002
Parola püskürtme (Password Spraying)Az sayıda yaygın parolayı çok hesapta denerT1110.003
Frekans analiziKlasik şifrelerde karakter dağılımıT1557
Yan kanallı saldırıZamanlama, güç tüketimi, EM yayılımT1600
Çarpışma saldırısıİki farklı girdinin aynı hash’i üretmesiT1600

§5.2.2.Parola ve Hash Kırma Saldırıları

Parola saklama, kriptanalizin en yaygın kurumsal hedefidir. Zayıf uygulamada düz metin SHA-256 veya MD5 hash’i kullanılır; saldırgan bu veritabanını ele geçirdiğinde milyarlarca deneme/saniye hızıyla kırma işlemine başlar.

Tuzlama (Salting) ve Biber (Peppering)

Salt (tuz): Her parolaya benzersiz, rastgele bir değer eklenerek hash’lenir. Aynı parola farklı hash üretir; önceden hesaplanmış rainbow table’lar işe yaramaz.

Pepper (biber): Tüm parolalar için paylaşılan, veritabanı dışında tutulan gizli değer (HSM veya uygulama konfigürasyonunda). Veritabanı sızsa bile ek koruma katmanı sağlar.

import hashlib
import os
import hmac
# YANLIŞ — düz SHA-256 parola saklama (GPU ile saniyede milyarlarca deneme)
def weak_hash(password: str) -> str:
return hashlib.sha256(password.encode()).hexdigest()
# DOĞRU — tuz + HMAC-SHA-256 (hâlâ key stretching yerine geçmez, PBKDF2/Argon2 tercih edin)
def salted_hmac(password: str, salt: bytes, pepper: bytes) -> str:
key = pepper + salt
return hmac.new(key, password.encode(), hashlib.sha256).hexdigest()
salt = os.urandom(16)
pepper = b"pepper-degeri-hsm-veya-vaultta-saklanir"

Saldırı Türleri Karşılaştırması

SaldırıÖnkoşulHız (tipik GPU)Savunma
Brute forceHash + algoritma bilinirYüksek (mask ile optimize)Uzun parola, key stretching
DictionarySözlük dosyası (rockyou.txt vb.)Çok yüksekYaygın parola engelleme (NIST SP 800-63B)
Rainbow tableTuzsuz hashAnında (tablo varsa)Salting zorunlu
Credential stuffingBaşka sızıntıdan parola çiftiAPI hızına bağlıMFA, rate limiting
Password sprayingKullanıcı listesiOrta (kilitleme riski)Hesap kilitleme + MFA

§5.2.3.Key Stretching ve Güvenli Parola Saklama

Düz SHA-256, kasıtlı olarak hızlı tasarlanmıştır; parola saklama için uygun değildir. Key stretching algoritmaları hash işlemini kasıtlı olarak yavaş ve bellek-yoğun yaparak GPU/ASIC paralel saldırılarını ekonomik olarak imkânsız kılar.

Algoritma Karşılaştırması

AlgoritmaBellek-zorlu?OWASP 2024 ParametreleriDurum
Argon2id (önerilen)Evetm=19 MiB, t=2, p=1 (asgari)Varsayılan seçim
scryptEvetN=2¹⁷, r=8, p=1Kabul edilebilir
bcryptHayırwork factor ≥12Legacy uyumluluk
PBKDF2Hayır600.000+ iterasyon (HMAC-SHA-256)FIPS gereken yerlerde

Argon2id çıktı formatı (self-describing):

$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescHkacUOqUe1LIrsksw...

Hedef: üretim donanımında doğrulama süresi 250–400 ms olacak şekilde parametre ayarlamak.

# Python — Argon2id ile parola hash (argon2-cffi)
from argon2 import PasswordHasher
ph = PasswordHasher(
time_cost=3, # iterasyon (t)
memory_cost=65536, # KiB (m = 64 MiB)
parallelism=4, # thread (p)
hash_len=32,
salt_len=16
)
hash_string = ph.hash("GucluParola!2026")
ph.verify(hash_string, "GucluParola!2026") # doğrulama

NIST SP 800-63B Parola Politikası Özeti

  • Minimum 8 karakter (önerilen 15+); maksimum uzunluk en az 64 karakter desteklenmeli
  • Yaygın parola listeleri (breached password) reddedilmeli
  • Periyodik zorunlu değişim şart değil; ancak ihlal sonrası rotasyon zorunlu
  • MFA, parola gücünden bağımsız ikinci faktör olarak zorunlu tutulmalı

§5.2.4.Şifre Kırma Araçları: Hashcat ve John the Ripper

Saldırganlar ve kırmızı takımlar, ele geçirilen hash’leri kırmak için GPU hızlandırmalı araçlar kullanır. Mavi takım bu araçların komut satırı imzalarını tanıyarak SOC’ta tespit edebilir.

Hashcat

Dünyanın en hızlı parola kurtarma aracı; binlerce hash modunu destekler:

Mod (-m)Hash TürüKurumsal Bağlam
1000NTLMActive Directory NTDS.dit
1800sha512cryptLinux /etc/shadow
3200bcryptWeb uygulamaları
10900PBKDF2-HMAC-SHA256Kurumsal uygulamalar
Terminal window
# Saldırgan perspektifi — NTLM sözlük saldırısı (kırmızı takım / savunma doğrulama)
hashcat -m 1000 -a 0 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt
# Maske saldırısı — ?u?l?l?l?l?l?d?d?d?d (büyük harf + 5 küçük + 4 rakam)
hashcat -m 1000 -a 3 ntlm_hashes.txt ?u?l?l?l?l?l?d?d?d?d
# Kurallı saldırı — best64.rule ile sözlük varyasyonları
hashcat -m 1000 -a 0 ntlm_hashes.txt rockyou.txt -r rules/best64.rule

John the Ripper

Çok platformlu, esnek; hash formatlarını otomatik tanır:

Terminal window
# Otomatik format tespiti
john --wordlist=rockyou.txt shadow_dump.txt
# Belirli format ile
john --format=sha512crypt --wordlist=rockyou.txt linux_shadow.txt

GPU Hızı ve Savunma Etkisi

Modern GPU’lar (NVIDIA RTX 4090 sınıfı) zayıf algoritmalara karşı saniyede milyarlarca NTLM denemesi yapabilir. Argon2id’in yüksek bellek tüketimi (64+ MiB/deneme), GPU’ların binlerce paralel thread’ini verimsiz kılar — bu, bellek-zorlu algoritmaların tercih edilme nedenidir.


§5.2.5.Kriptografik Saldırı Teknikleri

Parola kırmanın ötesinde, kriptanaliz protokol ve uygulama katmanındaki zafiyetleri hedefler.

Bilinen Metin ve Seçilmiş Metin Saldırıları

SaldırıÖnkoşulÖrnek Senaryo
Known-plaintextDüz metin + şifreli metin çifti bilinirEski DES analizi
Chosen-plaintextSaldırgan düz metin seçip şifrelettirirPadding oracle tetikleme
Ciphertext-onlyYalnızca şifreli metinFrekans analizi (klasik)

Yan Kanallı Saldırılar (Side-Channel)

Algoritmanın matematiğine değil, uygulamasına saldırır:

  • Timing attack: İşlem süresindeki farklardan anahtar bilgisi sızıntısı (RSA, AES tabloları)
  • Power analysis (DPA/SPA): Güç tüketimi ölçümüyle anahtar çıkarma (HSM/smartcard)
  • Cache timing: Paylaşımlı CPU önbelleğinden anahtar sızıntısı (AES T-table)

Savunma: Constant-time implementasyon, HSM kullanımı, Argon2id’in “id” varyantı (side-channel dirençli hibrit).

Çarpışma ve Doğum Günü Saldırısı

n-bit hash için çarpışma bulma maliyeti kaba kuvvetin karekökü kadardır: 2^(n/2). SHA-256 için teorik sınır 2¹²⁸ işlem — pratikte ulaşılamaz. MD5 için saniyeler içinde çarpışma üretilebilir.

SHAttered (2017): Google ve CWI Amsterdam, SHA-1 için ilk pratik çarpışmayı üretti — aynı hash’e sahip iki farklı PDF. SHA-1 dijital imza ve sertifika kullanımından tamamen kaldırılmalıdır.

Flame (2012): MD5 çarpışması kullanılarak sahte Microsoft kod imzalama sertifikası üretildi — supply chain saldırısı örneği.

Terminal window
# Dosya bütünlük doğrulama (SHA-256 — savunma tarafı)
sha256sum kritik_konfig.conf
# Beklenen: a3b1c9... kritik_konfig.conf

§5.2.6.Protokol Saldırıları: Düşürme, Padding Oracle ve TLS

Blok şifreleme modları ve TLS protokol geçmişi, kriptanalizin en verimli hedef alanlarından biridir.

AES blok şifreleme yapısı AES blok şifreleme yapısı — mod seçimi saldırı yüzeyini belirler

Blok Şifreleme Modları ve Saldırı Yüzeyi

Blok şifre zincirleme (CBC/GCM) işleyişi Blok şifre zincirleme işleyişi — CBC padding oracle riski

ModAEAD?Birincil RiskDurum (2026)
ECBHayırDesen sızıntısı (“ECB penguen”)Yasak
CBCHayırPadding oracle (POODLE, Lucky13, BEAST)Legacy only
CTRHayırNonce reuse → tam anahtar kaybıAEAD ile birlikte
GCMEvetNonce reuseTLS 1.3 standardı

Düşürme Saldırıları (Downgrade)

SaldırıCVEMekanizmaEtki
POODLECVE-2014-3566SSL 3.0 + CBC padding oracleBayt bayt çözme
BEASTCVE-2011-3389TLS 1.0 CBC + chosen-boundaryCookie çalma
FREAKCVE-2015-0204Export-grade RSA (512-bit)Zayıf anahtar
LogjamCVE-2015-4000DH 512-bit export-gradeOturum anahtarı
ROBOTCVE-2017-6168RSA PKCS#1 v1.5 padding oracleOturum anahtarı

Mavi Takım Savunması: TLS 1.3 Zorlama

TLS 1.3, protokol seviyesinde CBC modunu, RC4’ü, export şifrelerini, RSA anahtar değişimini ve sıkıştırmayı kaldırarak bu saldırı sınıflarının büyük çoğunluğunu ortadan kaldırır:

# Nginx — TLS 1.3 + AEAD-only (NIST SP 800-52 Rev.2 uyumlu)
ssl_protocols TLSv1.3;
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256';
ssl_prefer_server_ciphers on;
# ECDHE zorlama — Perfect Forward Secrecy
ssl_ecdh_curve X25519:secp384r1:prime256v1;
Terminal window
# Savunma doğrulama — zayıf cipher taraması
nmap --script ssl-enum-ciphers -p 443 portal.kurum.com.tr
testssl.sh --severity HIGH https://portal.kurum.com.tr

TLS 1.3 el sıkışma akışı TLS 1.3 el sıkışma — ECDHE + AEAD hibrit yapı

Örnek Wazuh SIEM Uyarısı (Zayıf TLS)

** Alert 1718745632.4521: - tls,protocol_anomaly,pci_dss_4.1,
Rule: 100515 (level 10) -> 'Zayif SSL/TLS protokolu tespit edildi: TLSv1.0'
Src IP: 10.20.4.55 Dst Port: 443
full_log: "SSL_connect: protocol=TLSv1.0 cipher=DES-CBC3-SHA (Sweet32/POODLE riski)"
MITRE ATT&CK: T1040 (Network Sniffing), T1557 (Adversary-in-the-Middle)

§5.2.7.PKI Saldırıları ve Sertifika Güvenliği

Açık anahtar altyapısı (PKI), dijital kimlik katmanının temelidir; CA ihlalleri tüm güven zincirini çökertebilir.

PKI güven zinciri ve CA hiyerarşisi PKI güven zinciri — Root CA çevrimdışı tutulmalıdır

Tarihsel CA İhlalleri

OlayYılMekanizmaDers
DigiNotar2011CA özel anahtarı ele geçirildiOffline root + CT zorunlu
Comodo2011Partner RA ihlaliRA güvenlik denetimi
Flame2012MD5 çarpışması ile sahte MS sertifikasıMD5 imza yasağı
Superfish2015OEM’e gömülü rogue CATrust store denetimi

Saldırı Vektörleri ve Savunma

SaldırıSavunma
Rogue CA / sahte sertifikaCertificate Transparency (CT) log izleme
Sertifika pinning bypassHPKP/HSTS + CT + kısa ömürlü sertifikalar
CRL/OCSP atlatmaOCSP Stapling + Must-Staple
Özel anahtar sızıntısıHSM (FIPS 140-3 Level 3), anahtar asla plaintext çıkmaz
MD5/SHA-1 imzalı sertifikaOtomatik reddetme politikası
<!-- Wazuh — rogue sertifika / zayıf imza tespiti (custom rule örneği) -->
<rule id="100520" level="12">
<decoded_as>json</decoded_as>
<field name="tls.signature_algorithm">MD5|SHA1</field>
<description>Kriptografik zafiyet: Zayif sertifika imza algoritmasi (MD5/SHA-1)</description>
<mitre><id>T1600</id></mitre>
</rule>

§5.2.8.SOC Entegrasyonu: Hash Kırma ve Kripto Zafiyet Tespiti

SOC analistleri, kriptanaliz faaliyetlerini uç nokta telemetrisi ve ağ trafiğinden tespit edebilir.

Hashcat/John Tespit Göstergeleri

IoCKaynakWazuh/Sysmon
hashcat.exe / hashcat processSysmon Event 1Process creation rule
--wordlist / -a 0 argümanlarıKomut satırıCommandLine match
john + shadow dosya erişimiauditd / Sysmon 11File access + process
Yüksek GPU kullanımı (anomali)EDR telemetrisiUEBA korelasyonu
<!-- Wazuh custom rule — hashcat tespiti -->
<rule id="100610" level="12">
<if_group>sysmon_event1</if_group>
<field name="win.eventdata.commandLine">hashcat</field>
<description>Olası parola kirma: Hashcat calistirildi</description>
<mitre><id>T1110.002</id></mitre>
</rule>

SIEM Korelasyon Senaryosu

  1. T1003.001 — LSASS dump veya NTDS.dit erişimi tespit edilir
  2. T1110.002 — Dakikalar içinde hashcat/john process başlatılır
  3. SOAR — Otomatik host izolasyonu + incident ticket
  4. Threat intel — Kırılan hash’lerin dark web’de satılıp satılmadığı izlenir

Splunk korelasyon kuralı örneği (credential dump → offline crack):

index=sysmon EventCode=10 TargetImage="*lsass.exe*"
| join type=inner ComputerName [
search index=sysmon EventCode=1
(Image="*hashcat*" OR Image="*john*" OR CommandLine="*--wordlist*")
]
| stats values(User) AS user, values(CommandLine) AS crack_cmd by ComputerName, _time
| eval severity="critical"

Bu kural, LSASS erişimi ile ardından gelen hash kırma aracı çalıştırmasını aynı uç noktada birleştirerek T1003.001 → T1110.002 zincirini otomatik olarak işaretler. NIST SP 800-53 AU-6 (Audit Review, Analysis, and Reporting) kapsamında bu tür korelasyonlar düzenli olarak gözden geçirilmelidir.

Palo Alto / Fortinet Cipher Enforcement

Ağ kenarında SSL Forward Proxy veya decryption politikaları ile zayıf cipher suite’ler engellenir:

  • SSLv3, TLS 1.0/1.1 → block
  • RC4, 3DES, NULL, EXPORT → block
  • Yalnızca AEAD (AES-GCM, ChaCha20-Poly1305) → allow

§5.2.9.Uyumluluk ve Mevzuat Eşleştirmesi

Standart / Mevzuatİlgili GereksinimKriptanaliz Bağlantısı
NIST SP 800-63BParola politikası, MFAKey stretching, breached password check
NIST SP 800-52 Rev.2TLS yapılandırmasıDowngrade/padding oracle savunması
NIST SP 800-53 SC-8/SC-12/SC-13İletim gizliliği, anahtar yönetimiTLS 1.3, HSM, rotasyon
ISO 27001:2022 A.8.24Kriptografi kullanımıAlgoritma seçimi, zayıf crypto yasağı
CIS Controls v84.x yapılandırma, 6.x erişimCipher suite hardening
MITRE ATT&CKT1110, T1552, T1600, T1040, T1557Tespit kuralı eşlemesi
KVKKTeknik tedbirler, 2FAZayıf parola = ihlal riski
5651Log bütünlüğü (hash + zaman damgası)SHA-256 log integrity
BDDKAES-256, HSM, penetrasyon testiSürekli kripto denetimi

§5.2.10.Özet ve Mimari Tavsiyeler

Kriptanaliz perspektifi, savunma mimarisinin “test edilebilirliğini” sağlar. Aşağıdaki kontrol listesi, §5.1 kriptografi temellerinin saldırıya dayanıklılığını doğrular.

Savunma Kontrol Matrisi

KatmanSaldırıSavunmaDoğrulama
ParolaHashcat NTLMArgon2id + salt + pepperKırmızı takım hash crack testi
TLSPOODLE/LogjamTLS 1.3 + AEAD onlytestssl.sh taraması
HashMD5 collisionSHA-256 + HMACSertifika imza algoritması denetimi
PKIRogue CACT logs + HSM + offline rootSertifika envanteri
SOCOffline crackSysmon hashcat ruleTabletop exercise

Aşamalı Uygulama Planı

Aşama 1 — Hemen (0–3 ay):

  1. Tüm parola hash’lerini envanterleyin; MD5/SHA-1/düz SHA-256 tespit edilenleri Argon2id’ye migrate edin
  2. TLS 1.3 zorlayın; testssl.sh ile HIGH severity bulguları kapatın
  3. Wazuh/SIEM’e hashcat, john, LSASS dump kurallarını ekleyin

Aşama 2 — Kısa vade (3–12 ay): 4. NIST SP 800-63B parola politikası + breached password API entegrasyonu 5. PKI’da CT log izleme ve kısa ömürlü sertifika (≤90 gün) geçişi 6. Yıllık kırmızı takım hash crack tatbikatı (NTDS.dit simülasyonu)

Aşama 3 — Sürekli: 7. Argon2id parametrelerini donanım benchmark ile yıllık gözden geçirin 8. Yeni CVE’ler (padding oracle, side-channel) için cipher suite güncellemesi 9. KVKK/5651/BDDK denetimlerinde kripto zafiyet raporlaması

Mimari Referans Modeli

SALDIRI KATMANI (Kırmızı) SAVUNMA KATMANI (Mavi)
───────────────────────── ─────────────────────────
Hashcat / John ──────────────────► Argon2id + MFA
TLS downgrade ──────────────────► TLS 1.3 + AEAD only
MD5 collision ──────────────────► SHA-256 + CT logs
Rogue CA ──────────────────► HSM + offline root
GPU cluster ──────────────────► Memory-hard KDF
İZLEME: [Wazuh T1110] [testssl.sh] [CT monitor] [FIM SHA-256]

“Bir güvenlik mimarı, saldırganın hashcat komut satırını bilmeden parola politikasını tasarlayamaz. Kriptanaliz bilgisi, savunmanın mühendislik doğrulamasıdır.”


Bu bölüm §5.1 (Kriptografi) ile birlikte okunmalıdır: algoritma tanımları §5.1’de, saldırı vektörleri ve SOC tespiti bu bölümde ele alınmıştır.