Hashcat Nedir? Kurulum ve Temel Kullanım

Hashcat bir password cracking aracı; elinde bir hash değeri varsa ve şifreyi bulmak istiyorsan başvurulan araçlardan biri bu.

Hashcat bir password cracking aracı. Elinde bir hash değeri varsa ve şifreyi bulmak istiyorsan başvurulan araçlardan biri bu.

Sistemler şifreleri düz metin olarak saklamaz. “password” yazdığında sistem bunu önce bir hash fonksiyonundan geçirir. MD5, SHA-256, bcrypt gibi. Çıkan değer hep aynıdır ama geri döndürmek hesaplama açısından son derece güçtür. Hashcat geri döndürmeye çalışmıyor aslında. Elindeki wordlistteki her kelimeyi hashleyip senin değerinle karşılaştırıyor. Eşleşme bulmaya çalışıyor yani. Pentestlerde ve CTF çözümlerinde sık başvurulan bir araç.

Kurulum

Linux kullanıyorsan:

sudo apt update && sudo apt install hashcat

Windows için hashcat.net’ten zip’i indirip çıkarabilirsin.

GPU sürücülerin güncel olsun. NVIDIA kullanıyorsan CUDA, AMD için OpenCL lazım.

Kurulumu doğrulamak için:

hashcat --version

Hashcat sürüm bilgisini gösteren terminal çıktısı

Hash Türünü Tanımak

Hashcat’e hangi hash türünü kırmaya çalıştığını söylemen lazım çünkü her algoritmanın farklı bir mode numarası var. Elindeki hashin ne olduğunu bilmiyorsan hash-identifier ile tespit edebilirsin:

hash-identifier

hash-identifier aracının terminaldeki başlangıç ekranı

Çalıştır hash’i yapıştır türünü söyler. MD5 için mode 0, SHA-256 için 1400, NTLM için 1000

Dictionary Saldırısı

Hash’i doğrudan komuta yazabilirsin:

hashcat -m 0 -a 0 5f4dcc3b5aa765d61d8327deb882cf99 /usr/share/wordlists/rockyou.txt

Çıktı olarak şunu görürsün:

5f4dcc3b5aa765d61d8327deb882cf99:password

Dictionary saldırısıyla hash’in password olarak kırıldığını gösteren hashcat çıktısı

Yani “password” gibi bir şifre MD5 ile saklanmış olsa bir değeri yok.

Rockyou.txt bulamazsan /usr/share/wordlists/ altına bak, sıkıştırılmış halde olabilir. sudo gunzip /usr/share/wordlists/rockyou.txt.gz ile açabilirsin.

Brute Force Saldırısı

Wordlistte yoksa bir de brute-force dene. Hashcat bunu mask attack ile biraz akıllı yapıyor. Mesela tam 6 karakterli rakamlardan oluşan şifre diyebilirsin:

hashcat -m 0 -a 3 5f4dcc3b5aa765d61d8327deb882cf99 ?d?d?d?d?d?d

?d bir rakam demek.

Benzer masklar:

?l küçük harf ?u büyük harf ?a hepsi (rakam + harf + özel karakter)

8 karakterli sadece küçük harf şifre için:

hashcat -m 0 -a 3 5f4dcc3b5aa765d61d8327deb882cf99 ?l?l?l?l?l?l?l?l

Rules Saldırısı

Dictionary saldırısının biraz güçlendirilmiş hali. Wordlistteki kelimelere otomatik dönüşümler uyguluyor. password varsa Password, p@ssword, password1 gibi olasılıkları deniyor.

hashcat -m 0 -a 0 5f4dcc3b5aa765d61d8327deb882cf99 rockyou.txt -r /usr/share/hashcat/rules/best64.rule

best64.rule en yaygın kullanılan kural seti. Kali’de hashcat ile birlikte geliyor.

Sonuçlar ve Benchmark

Kırma işlemi bittikten sonra sonuçları tekrar görmek için:

hashcat -m 0 --show 5f4dcc3b5aa765d61d8327deb882cf99

–show komutuyla daha önce kırılmış hash sonucunun yeniden gösterilmesi

GPU’nun ne kadar hızlı olduğunu görmek istersen:

hashcat -m 0 --benchmark

hashcat benchmark çıktısında MD5 için hash/saniye hız değerleri

Çıktıda Speed satırı var. Hash/saniye cinsinden veriyor. MD5 gibi hafif algoritmalarda GPU ile milyarlarca hash/saniye ulaşılabiliyor. GPU yoksa veya no devices found hatası alıyorsan komutun sonuna –force ekle. CPU ile çalışır ama daha yavaş.