Bir sızma testinde bir sistemden şifre hash’leri (kriptolanmış şifreler) elde etmek, genellikle en kritik aşamalardan biridir. Ancak bu hash’lerin ne kadar güçlü olduğunu anlamak için onları kırmak gerekir.
Kali Linux, bu amaç için iki dev araca sahiptir: John the Ripper (JTR) ve Hashcat. Her iki araç da güçlüdür, ancak farklı kullanım alanlarına ve avantajlara sahiptir.
Giriş: Şifre Kırma (Password Cracking) Nedir?
Şifre kırma, elde edilen hash’lenmiş parolaları (Örn: MD5, SHA256, NTLM) milyonlarca olası parola ile eşleştirmeye çalışarak orijinal metni (plain text) bulma sürecidir.
- Hash Nedir? Şifrenin tek yönlü, geri döndürülemez bir matematiksel fonksiyonla dönüştürülmüş halidir. (Örn: “sifre123” $\rightarrow$ “a809b4c0d…”).
- Amaç: Sistemdeki en zayıf parolaları bulup, kullanıcıları daha güçlü parolalar kullanmaya teşvik etmektir.
I. John the Ripper (JTR): Parolaların İsviçre Çakısı
John the Ripper, uzun yıllardır kullanılan ve özellikle CPU (İşlemci) tabanlı şifre kırma için optimize edilmiş ücretsiz bir araçtır.
🎯 JTR’ın Güçlü Yönleri
- Geniş Hash Desteği: Unix sistemlerindeki geleneksel hash’lerden (DES, MD5, SHA) Windows (LM/NTLM) ve veritabanı hash’lerine kadar çok çeşitli algoritmaları destekler.
- Otomatik Hash Tespiti: Bir dosyayı JTR’a verdiğinizde, genellikle hash türünü otomatik olarak algılayabilir.
- Optimize Edilmiş Kırma Modları:
- Wordlist (Sözlük) Saldırısı: Önceden hazırlanmış parola listeleri (
rockyou.txtgibi) ile kırma yapar. - Single Crack Modu: Kullanıcı adlarını veya sistemle ilgili bilgileri şifre varyasyonu olarak dener.
- Incremental (Brute-Force) Modu: Tüm olası karakter kombinasyonlarını dener (yavaş ama en kapsamlı yöntem).
- Wordlist (Sözlük) Saldırısı: Önceden hazırlanmış parola listeleri (
- Basit Kullanım: Yeni başlayanlar için arayüzü ve temel kullanımı Hashcat’e göre daha basittir.
📝 Temel JTR Kullanımı
- Hash’i Hazırlama: Parola hash’lerini tek bir dosyaya kaydedin (Örn:
hashes.txt). - Çalıştırma (Sözlük Saldırısı):
Bash
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt - Kırılan Parolaları Görme:
Bash
john --show hashes.txt
II. Hashcat: GPU’nun Gücüyle Çalışan Kral
Hashcat, modern şifre kırma araçlarının amiral gemisidir. Temel farkı, kırma işlemlerini CPU yerine çok daha hızlı olan GPU (Ekran Kartı) üzerinde gerçekleştirmesi için tasarlanmış olmasıdır.
🎯 Hashcat’in Güçlü Yönleri
- Hız (GPU Hızlandırması): Aynı anda binlerce, hatta milyonlarca deneme yapabilme yeteneği sayesinde JTR’a göre katlanarak daha hızlıdır.
- Yüksek Paralellik: Modern GPU’ların paralel işlem gücünü kullanarak kırma süresini dakikalara indirebilir.
- Maske Saldırısı (Mask Attack): Parolanın bir kısmını biliyorsanız (Örn: Parola 8 karakterli ve sonu ‘2025’ ile bitiyor), sadece bilinmeyen kısımları deneyen özel kurallar belirlemenizi sağlar.
- Geniş Hash Algoritması Kütüphanesi: 300’den fazla farklı hash tipini destekler. Her hash tipi için özel bir mod numarası kullanır.
📝 Temel Hashcat Kullanımı
Hashcat, çalıştırmak istediğiniz hash türünü bilmenizi gerektirir (Mode Numarası).
- Çalıştırma (Sözlük Saldırısı):
Bash
hashcat -m 1000 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt-m 1000: Hash türünü belirtir (Örn: 1000 = NTLM).-a 0: Saldırı türünü belirtir (0 = Sözlük/Wordlist saldırısı).
- Maske Saldırısı:
Bash
hashcat -m 1000 -a 3 hashes.txt ?l?l?l?l?d?d-a 3: Maske saldırısını belirtir.?l?l?l?l?d?d: 4 küçük harf (?l) ve 2 rakam (?d) kombinasyonlarını dener.
III. Karşılaştırma Tablosu: Hangisini Ne Zaman Kullanmalı?
| Özellik | John the Ripper (JTR) | Hashcat |
| Odak Noktası | CPU İşleme (Daha yavaş, daha geniş uyumluluk) | GPU İşleme (Çok hızlı, modern hash’ler için ideal) |
| Hız | Düşükten Ortaya | Çok Yüksek |
| Kullanım Zorluğu | Yeni Başlayanlar İçin Kolay | Orta (Hashcat’in mod ve saldırı tiplerini bilmek gerekir) |
| Hash Tespiti | Otomatik | Manuel (Kullanıcının -m ile belirtmesi gerekir) |
| Tavsiye Edilen | Basit Linux hash’leri, küçük dosyalar, CPU’nun tek seçenek olduğu durumlar. | Modern hash’ler (WPA2, NTLM, SHA-512), büyük sözlükler ve zamanın kritik olduğu durumlar. |
Sonuç: Parola Testinde İdeal Yaklaşım
Bir sızma testi uzmanı olarak ideal yaklaşım, bu iki aracı birlikte kullanmaktır:
- JTR ile Başlayın: Önce JTR’ın hızlı ve otomatik modlarını (Wordlist ve Single Crack) kullanarak yaygın, zayıf parolaları hızla kırın.
- Hashcat ile Devam Edin: JTR’ın kıramadığı daha karmaşık hash’leri, GPU gücünü kullanarak Hashcat’e taşıyın ve daha gelişmiş saldırı tipleriyle (Maske, Rule-based) kırmaya devam edin.
Unutmayın, bu araçlar yalnızca yasal izinleriniz olan sistemlerden elde ettiğiniz hash’leri test etmek için kullanılmalıdır. Parola kırma, başkasına ait sistemlere izinsiz erişim sağlamak için bir araç değildir.