Parola Kırma Saldırısı İçin John The Ripper ve Hashcat Kullanımı

Ayşe Bilge Gündüz —  16 Şubat 2016 — 1 Comment

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_the_ripper_menu

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:

Screen Shot 2015-11-20 at 22.18.07

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:

Screen Shot 2015-11-20 at 22.23.11

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 :

Screen Shot 2015-11-20 at 22.29.56

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:

Screen Shot 2015-11-20 at 22.32.45

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.

Screen Shot 2015-11-20 at 22.34.01

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:
Screen Shot 2015-11-20 at 22.40.48

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.

Screen Shot 2015-11-20 at 22.42.58

Yukarıda görüldüğü gibi hashcat kelime listemizden tek tek deneyerek hashlerin karşılıklarını bulmuştur.

5d41402abc4b2a76b9719d911017c592:hello
7d793037a0760186574b0282f2f435e7:world

Ayşe Bilge Gündüz

Ayşe Bilge Gündüz

Posts Twitter Facebook Google+

Trackbacks and Pingbacks:

  1. DVWA Manuel SQL Injection Uygulaması (Düşük Düzey) | Kadın Yazılımcı - 12 Nisan 2016

    […] görmek için bir sözlük saldırısı yapan araç kullanmam yeterli olacaktır. Örneğin; john-the-ripper ya da hashcat‘i […]

Yorum yapmak için