Crunch Kurulumu ve Kullanımı

Herkese selamlar!
Bazen hayat size hiç bir seçenek bırakmaz. Şifreli dosyayı açmak için denemediğiniz yöntem kalmamıştır, Komşunuzun ağına girmek için günlerinizi harcamışsınızdır. Yada; ahh o hashler.. Denediğiniz yöntemler işe yaramadığında Brute-Force saldırısı yapmak için kollarını sıvarsınız. İhtiyacınız olan şey bir Wordlist'tir, yani bir sözcük listesi.

Şifre kırma, asırlık bir sanattır. Wordlist ile şifre kırmak, basit bir işmiş gibi görünse de daha önce teşebbüs etmişleriniz, bu sanatın bir hayli zor olduğunu bilir. Eğer başka tercihleriniz varsa önce onları deneyin. Brute-Force, yani kaba kuvvet saldırısı, başvuracağınız en son yöntem olmalıdır.

Wordlist(Sözcük listesi), parola kombinasyonunu içeren dosyalarıdır. İçerisinde olası parolalar, alt alta yazılarak bulundurulur. Kaba kuvvet saldırısını gerçekleştiren araç, sözcük listesi içerisindeki parolaları tek tek dener.

Crunch Nedir?

Crunch, belirli kurallara göre; harf, sayı ve sembol kullanarak sözcük listeleri oluşturmak için kullanılan yardımcı araçtır. 

Crunch Kurulumu

1. Kolay kurulum

0.14-rc1 sürümü ile Hapentool, Crunch desteğine kavuştu. 
./hapentool.py --kur crunch

Eski bir sürüme sahipseniz --guncelle parametresi ile yeni özellikleri edinebilir, Hapentool aracına sahip değilseniz git clone https://github.com/HackerAdana/hapentool.git komutu ile edinebilirsiniz. Hapentool hakkında detaylı bilgi ise buradadır.

2. Zahmetli Kurulum

Sırasıyla uçbirimde çalıştırmanız gereken 3 komut var.
sudo apt-get install build-essential
git clone git://git.kali.org/packages/crunch.git; cd crunch
make ; make install

Crunch Kullanımı

Crunch için temel sözdizimi aşağıdaki gibidir.
crunch <Min> <Max> <Char> -o <Outp>
  • Minimum şifre uzunluğu
  • Maximum şifre uzunluğu
  • Parola oluşturulurken kullanılacak karakterler
  • Kelime listesinin yazılacağı dosyasının konumu

-o parametresi: Oluşturulan parolaların yazılacağı konumunu, adını ve uzantısını belirttiğimiz parametredir. 
crunch 1 3 abc -o /tmp/liste.lst
/tmp dizininde liste.lst adından dosya oluşturuldu ve oluşturulan parolalar bu dosyaya yazıldı.


-f parametresi: Oluşturulan parolaların karakter kümelerini belirlediğimiz parametredir.

Yani sizi, 13 karakterli harflerden ve sayılardan oluşan liste oluşturmak istediğinizde teker teker a,b,..,z,0,1..9 karakterlerini komuta yazmak zorunda bırakmayan parametredir. 

Crunch ile birlikte gelen charset.lst dosyasında karakter kümeleri yer alıyor. Aşağıdaki komut ile bu dosyayı okuyalım.
cat /usr/share/crunch/charset.lst


Bir wordlist oluşturun ve içerisinde sadece küçük harf ve rakamlar olsun. charset.lst dosyasına bakarak aradığınız özelliklere sahip karakter kümesini bulun. lalpha-numeric isteklerimi karşılıyor. Kümede sadece küçük harfler ve rakamlar mevcut.
crunch 5 6 -f /usr/share/crunch/charset.lst lalpha-numeric

Yalnızca küçük harften ve rakamlardan: 2.237.248.512 parola tahmini oluşturulacak ve dosyanın boyutu 14.877 MB, yani 14 GB olacak.


-t parametresi: Oluşturulan parolaların modelini belirlediğimiz parametredir.
Örneğin, hedefimizin doğum günü 12 Haziran olsun. Doğum gününü parolasında kullandığından emin olalım, yada tahminlerimiz bu yönde olsun. Bunu da 1206 şeklinde kısaltalım. 
crunch 5 5 -t 1206%

-t 1206% : parametresinde dikkatinizi bir şey çekmiş olmalı; % işareti.
Bu işaret, 1206 sözcüğünün devamının rakam olacağını belirtir. Çıktısı aşağıdaki gibidir.

Crunch will now generate the following amount of data: 60 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 10
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
% : Rakamların kullanılacağını,
@ : Harflerin kullanılacağını,
, : Büyük harflerin kullanılacağını,
^ : Sembollerin kullanılacağını belirlir.

Tamer isminde bir hedefimiz olsun. Hedefimizin doğum tarihi ise 10 Ağustos 1981. Hedefimiz, doğum tarihini parolasının sonuna eklesin, parolasının karakter uzunluğu 10 olsun. Bu hedef için sözcük listesi oluşturalım.
crunch 10 10 -t @@^^%%1018

Çalıştırdığım komutta -t parametesinde iki @ , iki ^ ve iki % işareti kullandım. Bunu kullanarak crunch'a söylediğim şuydu;
10 karakterli bir sözcük listesi oluştur. Bu sözcük listesinin ilk 2 karakteri harf olsun (@), 3 ve 4. karakteri sembol olsun, 5 ve 6. karakteri ise sayı olsun ve son 4 rakamı 1018 ile bitsin.

Aşağıdaki komut ile ne yapmaya çalıştığımı tahmin etmeye çalışın bakalım.
crunch 4 4 -t ,,,%
Aynen! 4 karakterli ilk 3 karakteri büyük harften oluşan, son karakteri ise sayıdan oluşan bir sözcük listesi oluşturmasını istedim.

Biraz daha zorlaştırıp -t parametresini anlatmayı geçeceğim.
crunch 6 6 -t Ja%^ck
İlk 2 karakteri Ja, 3 karakteri sayı, 4. karakteri sembol ve son iki karakteri ck olan 6 karakterli parola oluşturdum. 


-b ve -c parametreleri: Oluşturduğumuz sözcük listesini satır veya boyutuna göre bölerek sözcük dosyası oluşturmanıza imkan veren parametredir. 

-b parametresi boyut bazında dosyanızı böler. 
crunch 5 6 -f /usr/share/crunch/charset.lst lalpha-numeric -b 1024mb 
Bu şekilde oluşturulan sözcük listesi boyutunun 14 GB olacağını söylemiştim.
-b 1024 parametresi ile toplam boyutu 1'er GB parçalara ayırdım.

crunch 5 6 -f /usr/share/crunch/charset.lst lalpha-numeric -c 100000 
-c 100000 parametresi ile her 100.000 sözcükte bir dosya oluşturmak istediğimi belirttim.


-p parametresi: Bu parametre ise belirli kelimeler ile liste üretmenizi sağlar.
crunch 1 6 -p Yaşasın Anarşi!
Crunch will now generate approximately the following amount of data: 36 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 2
Anarşi!Yaşasın
YaşasınAnarşi!

"Yaşasın" ve "Anarşi!" kelimeleri iki farklı şekilde yazılıyormuş. Bu parametreyi kullanırken minimum ve maximum karakter sayısı önemli değildir. 

crunch 1 6 -p Joe
Joe kelimesindeki harflerin kaç farklı şekilde yazılabiliceğini yazdırdınız bu komut ile.


Geri bildirimde bulunmanız dileğiyle.
HackerAdana@protonmail.com
#AnarşistYazılımcı