Destan gibi bir başlıkla girişe gerek kalmaksızın yazının amacını açıkladım diye düşünüyorum. John The Ripper ve Hashcat bilinen ve en çok kullanılan parola kırma araçlarından ikisidir.
John The Ripper çoğunlukla C dili ile yazılmış özgür ve açık kaynak kodlu bir yazılımdır. Bu iki aracın da kullanım örneklerini aşağıda bulabilirsiniz. Ancak eğer Kerberos, MD5, DES, AES gibi şifreleme ve özet alma algoritmaları hakkında hiçbir bilgimiz ve fikrimiz yoksa ilk önereceğim şey bu konularda nedir, ne için kullanılır gibi soruları açıklayacak bir kaç kaynak okumanızdır.
1. John The Ripper
Eğer Kali dışında farklı bir linux dağıtımı kullanıyorsanız önce aşağıdaki gibi kurulumunuzu gerçekleştirmeniz gerekmektedir:
1.1 Debian
aptitude install john
1.2 Fedora
yum install john
1.3 Arch Linux
pacman -S john
1.4 OpenSuse Linux
zypper install john
1.5 Gentoo
emerge johntheripper
Eğer Kali işletim sistemini kullanıyorsanız “john” komutunu direkt olarak kullanabilirsiniz. Ya da aşağıdaki fotoğraftaki gibi menülerin içerisinde de bulabilirsiniz.
john --help
komutu ile aşağıdaki gibi bir sayfa ile karşılaşacağız; aracın nasıl kullanılacağını, parametrelerini, parametrelerin ne işe yaradıklarını vs öğrenebiliriz:
john [parametre] şifreli_dosya_yolu
şeklinde kullanıyoruz aracımızı. Eğer seçeneklere göz gezdirecek olursak –format’ın işimize en çok yarayacak parametrelerden biri olduğunu görürüz. Bu parametre ile eğer özet algoritmasının tipini biliyorsak, aracımızı bu algoritma için çalışmaya zorlayabiliriz. Parola kırıldıktan sonra JTR sonuçlarını ~/.john/john.pot ‘ta saklar ancak bunu direkt olarak okumanız mümkün olmadığı için, karşılığını terminalinizde görmek istiyorsanız –show parametresini kullanmalısınız.
Bu kadar özet ve bilgiden sonra artık ilk parola dosyamızı oluşturalım. John the ripper aracının kullandığı parola dosyası formatı “kullanıcı_adı:parola” şeklinde hazırlanıyor.
Örneğin;
kullaniciAdim:5D41402ABC4B2A76B9719D911017C592
yazdığım dosyamı password.txt olarak kaydettikten sonra öncelikle john’a format vermeden aşağıdaki gibi çalıştırıyorum:
john password.txt
bu şekilde yazdığımda araç lotus5’ten başlayarak tek tek tüm algoritmaları kontrol ederek verdiğim parolayı kırmaya çalışıyor. Parola kırma işleminde CPU kullanımı yoğun olacağı için, sizin makinenizin gücüne göre parolayı kırma süreniz de değişken oluyor. Bu yüzden format’ı biliyor olmanız durumunda parametre olarak vermeniz de süreci kısaltacaktır.
Örnek olarak DVWA’nın kendi kullandığı özeti alınmış parola bilgilerini kullanacağım. 2 tanesini alıp aşağıdaki gibi bir password.txt dosyasına kaydediyorum:
john --format=raw-md5 password.txt --show
Yukarıdaki kodu çalıştırdığımda aracımın bana vereceği sonuç aşağıdaki gibi olacaktır. Kaç tanesinin kırabildiğini, geriye kaç tane kaldığı vs hepsini sonuç olarak görebilirsiniz :
Bu anlattıklarım sadece çok küçük bir kısmı olup JTR’la çok daha fazlasını yapabilirsiniz. Örneğin; wordlist verebilir, birden çok dosya için çalışmasını isteyebilirsiniz. JTR siz özellikle belirtmediğiniz sürece önce “single crack mode”da, sonra “wordlist mode”da daha sonra da “incremental mode”da çalışacaktır.
Hashcat
Hashcat kendi web sitesinden bakacak olursanız, dünyanın en hızlı parola kurtarma aracı diye geçer ve en önemli özellikleri özgür ve açık kaynak kodlu olmasıdır. En güzel özelliklerinden biri de GPU kullanabiliyor olmasıdır. Yine Kali kullanıyor olmanız durumunda hashcat kurulumu yapmanıza gerek kalmayacaktır. Kali kullanıcıları aşağıdaki gibi menülerden de hashcat’e ulaşabilirler:
Eğer farklı bir linux dağıtımı kullanıyorsanız aşağıdaki adımları takip edebilirsiniz.
wget https://hashcat.net/files/hashcat-2.00.7z
7zip aracı sizde hali hazırda kuruluysa aşağıdaki adımı geçebilirsiniz
Fedora, Centos, Redhat
yum install p7zip
Debian, Ubuntu
apt-get install p7zip
Arch Linux
sudo pacman -Syy && pacman -S p7zip
Fedora, Centos, Redhat
7za x hashcat-2.00.7z
Debian, Ubuntu
p7zip -d hashcat-2.00.7z
Arch Linux
7z x hashcat-2.00.7z
cd hashcat-2.00
İşletim sisteminizin 32 yada 64 bit olmasına göre seçip devam edin.
64 bit için:
cp hashcat-cli64.bin /usr/bin/
ln -s /usr/bin/hashcat-cli64.bin /usr/bin/hashcat
Kurulum tamamlandıysa hem kontrol için hem de hashcat’in kullanımını görmek için yine JTR’da olduğu gibi hashcat --help
komutunu kullanıyoruz.
Yukarıda gördüğümüz üzere hashcat’i hashcat [parametre] dosyanin_yolu [mask/wordfiles/directory]
şeklinde kullanıyoruz. Araç çok fazla sayıda algoritma için çalışabilmektedir; GPU kullanabildiği için de oldukça hızlıdır.
Bu araçla bir örnek gerçekleştirelim. Aşağıdaki dosyaya kaydedilmiş 2 adet md5 hash’i bulunmaktadır:
wordlist vermek istediğim için var olan rockyou.txt wordlist’imi de parola dosyamla aynı klasöre taşıdım. hashcat -m 0 -a 0 x.txt rockyou.txt
kodumu çalıştırıyorum. help kısmında görebileceğim gibi -m parametresi ile kullanmak istediğim özet-tipini bu noktada kullandığım algoritma md5 oldu; -a parametresi ile de saldırı-tipini parametre olarak verdim bu da direkt saldırı yöntemi anlamına geliyor.
Yukarıda görüldüğü gibi hashcat kelime listemizden tek tek deneyerek hashlerin karşılıklarını bulmuştur.
5d41402abc4b2a76b9719d911017c592:hello
7d793037a0760186574b0282f2f435e7:world