Hashcat ve John the Ripper ile Şifre Kırma Temelleri
ugrkrbck 🔴 · 2026-09-12 21:20:27
Konu: Metodoloji · Belirli bir platform/odaya değil, genel yaklaşıma odaklıdır.
CTF'lerde ve gerçek sızma testlerinde sıkça karşılaşılan bir senaryo: bir yerlerden şifre hash'i ele geçirilir, ama düz metin şifre bilinmez. Hashcat ve John the Ripper, bu hash'leri kırmak için kullanılan iki temel araçtır.
■ 1. Hash Türünü Tanıma
Kırma işlemine başlamadan önce, hash'in hangi algoritmaya ait olduğunu bilmek gerekir. Format ipuçları:
- 5f4dcc3b5aa765d61d8327deb882cf99 (32 karakter) → muhtemelen MD5
- $2a$10$... → bcrypt
- $6$... → SHA-512 crypt (Linux /etc/shadow)
hashid ya da name-that-hash gibi araçlar, hash formatını otomatik tahmin etmeye yardımcı olur:
hashid '5f4dcc3b5aa765d61d8327deb882cf99'
■ 2. John the Ripper ile Temel Kullanım
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Kırılan şifreleri görüntülemek için:
john --show hash.txt
rockyou.txt, gerçek veri sızıntılarından derlenmiş en yaygın kullanılan şifre listesidir — CTF'lerde neredeyse standart bir başlangıç noktasıdır.
■ 3. Linux Shadow Dosyalarını Kırma
Eğer /etc/passwd ve /etc/shadow dosyalarına erişim sağlandıysa, önce bunlar John'un anlayacağı formatta birleştirilir:
unshadow passwd.txt shadow.txt > combined.txt
john --wordlist=rockyou.txt combined.txt
■ 4. Hashcat ile GPU Hızlandırmalı Kırma
Hashcat, özellikle GPU kullanarak çok daha hızlı sonuç verir. Hash tipini -m parametresiyle belirtmek gerekir (örn. MD5 için 0, SHA-256 için 1400):
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
- -a 0: wordlist (sözlük) saldırı modu
- -a 3: brute-force (maske) saldırı modu
■ 5. Maske Saldırısı Örneği
Şifrenin kalıbını biliyorsan (örn. 6 haneli, sadece rakam), bu bilgiyi kullanarak süreci hızlandırabilirsin:
hashcat -m 0 -a 3 hash.txt ?d?d?d?d?d?d
?d bir rakamı temsil eder — bu örnekte 6 haneli sayısal bir şifre denenir.
■ 6. Kural Tabanlı Saldırılar (Rule-Based)
Kullanıcılar genelde temel bir kelimeyi (örn. "sifre123") varyasyonlarla (büyük harf, özel karakter ekleme gibi "sifre123!") kullanır. Hashcat'in kural dosyaları bu varyasyonları otomatik üretir:
hashcat -m 0 -a 0 hash.txt rockyou.txt -r rules/best64.rule
■ Öğrenilen Dersler
- Wordlist kalitesi, kaba kuvvetten çok daha önemlidir — rockyou.txt gibi gerçek veri sızıntılarından derlenmiş listeler çoğu zaman rastgele karakter denemekten daha etkilidir.
- Hash tipini doğru tespit etmek, tüm sürecin ilk ve en kritik adımıdır — yanlış tip seçilirse kırma işlemi asla başarılı olmaz.
- Savunma tarafında, bcrypt/Argon2 gibi "yavaş" hash algoritmaları kullanmak, bu tür saldırıları pratik olarak imkansız hale getirir.