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

 

  1. 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.
  2. Otomatik Hash Tespiti: Bir dosyayı JTR’a verdiğinizde, genellikle hash türünü otomatik olarak algılayabilir.
  3. Optimize Edilmiş Kırma Modları:
    • Wordlist (Sözlük) Saldırısı: Önceden hazırlanmış parola listeleri (rockyou.txt gibi) 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).
  4. Basit Kullanım: Yeni başlayanlar için arayüzü ve temel kullanımı Hashcat’e göre daha basittir.

 

📝 Temel JTR Kullanımı

 

  1. Hash’i Hazırlama: Parola hash’lerini tek bir dosyaya kaydedin (Örn: hashes.txt).
  2. Çalıştırma (Sözlük Saldırısı):

    Bash

    john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
    
  3. 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

 

  1. 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.
  2. Yüksek Paralellik: Modern GPU’ların paralel işlem gücünü kullanarak kırma süresini dakikalara indirebilir.
  3. 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.
  4. 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ı).

  1. Ç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ı).
  2. 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:

  1. 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.
  2. 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.