Crunch ile Wordlist Oluşturma ve Crunch Kullanımı

Wordlist Nedir?

Crunch programının kullanımına geçmeden önce wordlist nedir ne işe yarar biraz bahsetmek gerek. Wordlistler parola tahmini için oluşturulmuş kelime listeleridir. İçerisinde parola tahmini için kullanılacak kelimeler vardır. Ve hedef sistemde parola tahmini için bu listedeki kelimeler tek tek denenir. Wordlistler yardımı ile hedef sistemlerde parola denemesi yapılır. Eğer parola wordlist içerisinde geçiyorsa hedef sistemdeki parola bulunmuş olur. Bir wordlist içerisindeki parolaların tek tek denenerek parolanın bulunmasına çalışmaya brute force türkçesiyle kaba kuvvet saldırısı denir.

Crunch Nedir?

Crunch Brute Force saldırıları için kullanılan wordlistleri oluşturmaya yarıyan bir programdır. İnternetten bulunabilecek hazır wordlistler olduğu gibi wordlistleri kendimizde oluşturabiliriz. Kendi özel wordlistlerimizi oluşturmak için web siteleri olduğu gibi kendi bilgisayarımızdan da wordlist oluşturabiliriz. Wordlist oluşturmak için kullanılan programlardan biriside crunch adlı programdır.

Crunch Kullanarak Wordlist Oluşturma (Crunch Nasıl Kullanılır?)

Crunch ile wordlist oluşturma işlemi oldukça kolaydır. Terminal ekranına crunch yazdığımızda bize en temel kullanım şeklini gösterecektir.

# crunch

root@kali:~# crunch
crunch version 3.6

Crunch can create a wordlist based on criteria you specify.  The output from crunch can be sent to the screen, file, or to another program.

Usage: crunch <min> <max> [options]
where min and max are numbers

Please refer to the man page for instructions and examples on how to use crunch.

Ekrana çıkan çıktıdan anlaşıldığı üzere önce crunch yazıp sonra minimum ve maximum aralığı belirtmemizi istiyor.

# crunch 2 3

root@kali:~# crunch 2 3
Crunch will now generate the following amount of data: 72332 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 18252
aa
ab
ac
ad
ae
af
ag
ah
ai
aj
.
.
.
.
zzs
zzt
zzu
zzv
zzw
zzx
zzy
zzz

Yukarıdaki örnektte crunch programına aralık olarak en küçük 2 karakterli ve en fazla 3 karakterli bir wordlist oluşturmasını söyledik.

Kullanması gereken karakterleri crunch programına vermediğimiz için default olarak sadece ingilizce harfleri kullanarak 2 ve 3 karakterli tüm olasılıkları buldu ve bir dosyaya yazmasını belirtmediğimiz için ekrana bastı.

72332 bytes ile oluşturduğumuz çıktıdaki toplam karakter sayısı belirtiliyor.

18252 ilede kaç satır kelime oluştuğunu yani wordlisteki toplam kelime sayısını belirtiyor.

Yukarıdaki örnekte en küçük 2, en fazla 3 karakterli ingilizce harflerden oluşan tüm olasıkları hesapladık ve toplam 18252 tane kelime oluşturduğunu söyledi.

Oluşturduğumuz listeyi bir dosyaya kaydetmesini belirtmediğimiz için standart çıktı birimine yani terminal ekranına çıktıyı bastı.

Crunch ile Belirli Karakterler Kullanarak Wordlist Oluşturmak

Crunch programına kullanacağı karakterleri belirtmediğimizde sadece ingilizce harfleri kullandığını belirtmiştik. Şimdi kendi belirttiğimiz karakterleri kullanarak crunch programının bir wordlist hazırlamasını sağlayalım.

# crunch 2 5 123456

.root@kali:~# crunch 2 5 123456
Crunch will now generate the following amount of data: 54108 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 9324
11
12
13
14
15
16
21
.
.
.
66655
66656
66661
66662
66663
66664
66665
66666

Crunch programına 1,2,3,4,5,6 karakterlerini kullanarak en küçük 2 karakterli en fazla 5 karakterli bir wordlist oluşturmasını söyledik.

# crunch 2 6 abc12345

Bu kullanımda ise en küçük 2 karakterli en fazla 6 karakterli olacak şekilde içerisinde a,b,c,1,2,3,4,5 karakterleri geçen tüm olasılıklardan bir wordlist oluşturmasını söyledik.

Crunch ile Oluşturduğumuz Wordlist'i Dosyaya Yazmak (-o parametresi)

Crunch ile istediğimiz karakterleri kullanarak istediğimiz uzunlukta wordlist oluşturmayı gördük ancak bunlar hep terminal ekranına yazdırıryordu. Eğer crunch ile oluşturduğumuz listeyi bir dosyaya yazdırmak istersek -o parametresi(output) ile yazdırmak istediğimiz dosya belirtilir ve oluşturulan parolalar ekrana değilde dosyaya yazdırılır.

# crunch 5 8 abc123546789 -o wordlist.lst

root@kali:~# crunch 5 8 abc123456789 -o wordlist.lst
Crunch will now generate the following amount of data: 4178884608 bytes
3985 MB
3 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 469048320

crunch:  12% completed generating output

crunch:  22% completed generating output

crunch:  33% completed generating output

crunch:  45% completed generating output

crunch:  56% completed generating output

crunch:  69% completed generating output

crunch:  80% completed generating output

crunch:  92% completed generating output

crunch: 100% completed generating output

root@kali:~# ls
Belgeler     dosya      Genel  Masaüstü  Resimler   Videolar  wordlist.lst
dead.letter  Downloads  hs     Müzik     Şablonlar  vmware

root@kali:~# head -n 10 wordlist.lst
aaaaa
aaaab
aaaac
aaaa1
aaaa2
aaaa3
aaaa4
aaaa5
aaaa6
aaaa7

Oluşturduğumuz dosyanın uzantısı olmayabilir ya da kullanıcının bunun bir wordlist dosyası olduğunu anlamasını kolaylaştırmak için dosya soyadına .lst yazılabilir.

Oluşturduğumuz wordlist uzunluğu toplam 4GB seviyesine yaklaştı. Üstelik maximum karakter uzunluğu 8 karakter olan bir liste oluşturduk. Toplamda ise a,b,c,1,2,3,4,5,6,7,8,9 karakterleri kullanılarak 469048320 parola üretmiş olduk.

head ile dosyamızın ilk 10 satırını okuduğumuzda anlaşılıyorki aaaaa'dan başlayıp tüm olasılıklar deneniyor.

Charset Dosyasından Karakterleri Otomatik Belirtmek (-f parametresi)

Crunch ile oluşturmak istediğimiz wordlistte kullanılacak karakterleri belirtiyorduk. Ancak crunch programının bizim kullanmamız için oluşturduğu charset (karakter kümeleri) mevcut.

/usr/share/crunch/charset.lst dosyasını açtığımızda görüyoruz ki içerisinde bizim kullanmamız için hazır charsetler mevcut.

Dosya içeriğinde şu şekilde charsetler tanımlı

numeric                       = [0123456789]
numeric-space                 = [0123456789 ]
ualpha                        = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
ualpha-space                  = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ]
ualpha-numeric                = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ualpha-numeric-space          = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ]
ualpha-numeric-symbol14       = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=]
ualpha-numeric-symbol14-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ]
ualpha-numeric-all            = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]
ualpha-numeric-all-space      = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]

Köşeli parantez içerisindeki karakterler oluşturacağımız wordlistte kullanmak istediğimiz karakterleri temsil ediyor.

# crunch 5 8 -f /usr/share/crunch/charset.lst numeric -o sayi.lst

root@kali:~# crunch 5 8 -f /usr/share/crunch/charset.lst numeric -o sayi.lst
Crunch will now generate the following amount of data: 987600000 bytes
941 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 111100000

crunch:  45% completed generating output

crunch: 100% completed generating output

-f /usr/share/crunch/charset.lst numeric ile charset dosyamızı tanımladık ve daha sonra içerisindeki kullanmak istediğimiz charseti belirledik.

İstersek bu charset dosyasına kendimizde bir karakter seti tanımlayabiliriz.

Mesela furkan123456 şeklide bir charset oluşturalım.

root@kali:~# echo "furkan = [furkan123456]" >> /usr/share/crunch/charset.lst
root@kali:~# crunch 5 8 -f /usr/share/crunch/charset.lst furkan

Oluşturduğumuz charseti belirterek wordlistimizi oluşturmaya başladık içerisinde şu karakterler var f,u,r,k,a,n,1,2,3,4,5,6

Belirlediğimiz Kelimeye Gelinceye Kadar Wordlist Oluşturma (-e parametresi)

Crunch ile wordlist oluştururken crunch'ın belirli bir kelimeye ulaştığında durmasını belirtebiliriz.

# crunch 5 8 -f /usr/share/crunch/charset.lst furkan -e furkan12 -o furkan.lst

root@kali:~# crunch 5 8 -f /usr/share/crunch/charset.lst furkan -e furkan12 -o furkan.lst
Crunch will now generate the following amount of data: 48391578 bytes
46 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 6046064

crunch: 100% completed generating output

root@kali:~# tail furkan.lst
furkann2
furkann3
furkan1f
furkan1u
furkan1r
furkan1k
furkan1a
furkan1n
furkan11
furkan12

Yukarıdaki örnekte en az 5, en fazla 8 karakterli bir wordlist oluşturmasını söyledik. Charsetimizide önceden belirlediğimiz furkan adlı charset olarak belirledik.

e parametresi ilede hangi kelimeye gelince wordlist oluşturmayı kesmesi gerektiğini belirttik. Burda furkan12 kelimesine gelene kadar wordlist oluşturmasını söylemiş olduk.

NOT: Burda -e parametresi ile belirtilen kelime oluşturduğumuz wordlistteki maximum karakter sayısı ile aynı olmalı. Yani 8 karakterli olmalı.

Crunch ile Oluşturduğumuz Wordlist'i Parçalama (-b ve -c parametreleri)

Crunch ile wordlist oluşturmayı öğrendik ancak crunch ile uzun GB lar seviyesinde wordlisteler oluşturmak ve saldırı sırasında tüm wordlistin bitmesini beklemek istemiyorsunuz. İlk yüzde 20lik kısmını deneyip daha sonra diğer kısımlarını denemek istiyebilirsiniz. Bunun için crunch bize dosya boyutu satır sayısı gibi dosya parçalamak için kullanılabilecek seçenekler vermiş bulunmakta.

b parametresi kullanılarak dosya boyutu belirli bir boyuta ulaştıkça dosyayı bölebiliriz.

NOT: b parametresi kullanılabilmesi için -o parametresi ile dosya belirtilmeli ancak dosya adı START şeklinde olmalıdır.

# crunch 5 9 123456789 -o START -b 500mb

root@kali:~# crunch 5 9 123456789 -o START -b 500mb -u
Disabling printpercentage thread.  NOTE: MUST be last option

Crunch will now generate the following amount of data: 4303963512 bytes
4104 MB
4 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 435840669

root@kali:~/Masaüstü/crunch# ls -la
toplam 4203148
drwxr-xr-x 2 root root      4096 Tem 25 00:58 .
drwxr-xr-x 7 root root      4096 Tem 25 00:45 ..
-rw-r--r-- 1 root root 499999992 Tem 25 00:57 11111-125296376.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:57 125296377-239374472.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:57 239374473-354452567.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:57 354452568-468529663.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:58 468529664-583597758.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:58 583597759-697675854.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:58 697675855-822753949.txt
-rw-r--r-- 1 root root 500000000 Tem 25 00:58 822753951-936832145.txt
-rw-r--r-- 1 root root 303963520 Tem 25 00:58 936832146-999999999.txt

Yukarıdada göründüğü gibi wordlist her 500mb'a ulaştığında yeni bir wordlist oluşturuldu.

İstediğimiz sayıda kelime oluşunca yeni bir wordlist dosyasından oluşturmaya devam etmesini -c parametresi ile yapabiliriz.

# crunch 5 9 123456789 -o START -c 100000000

root@kali:~/Masaüstü/crunch# crunch 5 9 123456789 -o START -c 100000000
Crunch will now generate the following amount of data: 1429758622 bytes
1363 MB
1 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 148420180

root@kali:~/Masaüstü/crunch# ls -la
toplam 4203120
drwxr-xr-x 2 root root       4096 Tem 25 01:44 .
drwxr-xr-x 7 root root       4096 Tem 25 00:45 ..
-rw-r--r-- 1 root root  945556822 Tem 25 01:42 11111-228156291.txt
-rw-r--r-- 1 root root 1000000000 Tem 25 01:42 228156292-457312482.txt
-rw-r--r-- 1 root root 1000000000 Tem 25 01:43 457312483-686457673.txt
-rw-r--r-- 1 root root 1000000000 Tem 25 01:43 686457674-925613864.txt
-rw-r--r-- 1 root root  358406690 Tem 25 01:44 925613865-999999999.txt

-c 100000000 ile her 100milyon kelimede bir yeni bir wordlist oluşturmasını belirttik. Böylece 5 farklı wordlistimiz oldu.

Crunch Yer Tutucu Semboller

Crunch ile wordlist oluştururken kullanabileceğimiz özel yer tutucular vardır. Bunları wordlistimizi oluştururken kullanabiliriz. Amaçları tuttukları yere belirttikleri gruptan bir karakterin geleceğidir.

@ küçük harfler için
, büyük harfler için
% rakamlar için
^ özel semboller için

Yan Yana Gelecek Aynı Karakter Sayısını Belirlemek (-d parametresi)

Yan yana bir karakterin ne kadar gelebileceğini crunch ile ayarlıyabiliriz. Örnek olarak harflerin iki kereden fazla yan yana gelmesini istemiyoruz. Bu durumlarda yer tutucular kullanılarak belirtilir.

# crunch 2 4 -d 2@

root@kali:~/crunch# crunch 2 5 -d 2@
Crunch will now generate the following amount of data: 73330478 bytes
69 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 12303876
aa
ab
ac
ad
.
.
.
zzyzt
zzyzu
zzyzv
zzyzw
zzyzx
zzyzy
zzyzz

@ işareti ile yer tutucu olarak küçük harf kullanılacağını belirtik, d parametresi ile en fazla aynı küçük harften 2 kere yan yana gelebileceğini belirttik. Burda crunch'a wordlist oluştururken kullanması gereken karakterleri belirtmediğimiz için ingilizce harfleri kullanacaktı. Eğer çıktımızı bir dosyaya yazdırıp grep ile dosya içerisinde yan yana geçen aynı üç harfi aramaya kalksaydık (aaa gibi ya da zzz gibi) bir sonuç bulumazdık. Çünkü d parametresi ile 2@ diyerek yan yana aynı harften en fazla 2 tane olabileceğini belirttik.

Zaten son ürettiği kelimelerden anlaşıldığı gibi üç tane z harfi yan yana gelemiyor.

root@kali:~/crunch# crunch 2 5 123456789 -o wordlist.lst -d 2%
Crunch will now generate the following amount of data: 390258 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 66420

crunch:  96% completed generating output
root@kali:~/crunch# tail wordlist.lst
99889
99891
99892
99893
99894
99895
99896
99897
99898
99899

Sayı örneğindede görüldüğü gibi aynı harften en fazla iki kere yan yana gelebilmiş üç kere yan yana gelebilmesi için d parametresi ile 3% olarak belirtmeliydik.

Çıktıyı Ters Çevirmek (-i parametresi)

Wordlistimizdeki çıktıları ters çevirmek için i(inverse) parametresini kulanırız.

abc olan çıktıyı cba şeklinde ters çevirir.

root@kali:~/crunch# crunch 3 3 -i
aaa
baa
caa
daa
.
.

Ekrana Yüzde Yazdırmayı Kapatmak (-u parametresi)

Crunch normal kullanımda oluşturduğu wordlistin yüzde kaçını bitirdiğini ekrana basar. Eğer u parametresi kullanılırsa bu yüzde basma işlemini yapmaz.

# crunch 5 5 -o wordlist.lst -u

NOT: u parametresi son parametre olarak kullanılmalı.

Spesifik Wordlistler Oluşturmak (-t parametresi)

Crunch'ın en önemli özelliği bu olsa gerek. Spesifik derken yani istediğimiz yerde harf istediğimiz yerde sembol gibi belirli özelliklerde bir wordlist oluşturmak istersek -t parametresini kullanıyoruz.

Kullanımı ise şu şekilde crunch'ın özel karakterleri belirtmek için yer tutucuları kullandığını yukarıda belirtmiştik. Şimdi t parametresi ile bu yer tutucuları kullanarak istediğimiz şekillerde wordlist oluşturabiliriz.

Örnek vericek olursak wordlistimizdeki kelimeler ahmet ile başlasın ve sonraki 4 hanesi rakamlardan oluşsun.

root@kali:~/crunch# crunch 9 9 -t ahmet%%%%
ahmet0000
ahmet0001
.
.
ahmet9997
ahmet9998
ahmet9999

Başka bir örneğimizde ise şu şekilde olsun ilk üç karakterin harf olduğunu biliyoruz 4. karaterin e olduğunu biliyoruz sonraki 5. ve 6. karakterin sayı olduğunu biliyoruz ve son karakterinde bir sembol olduğunu biliyoruz. Şimdi buna uygun bir wordlist oluşturalım.

# crunch 7 7 -t @@@e%%^ -o wordlist.lst

root@kali:~# crunch 7 7 -t @@@e%%^ -o wordlist.lst
Crunch will now generate the following amount of data: 464006400 bytes
442 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 58000800

crunch:  99% completed generating output

crunch: 100% completed generating output
root@kali:~# head wordlist.lst
aaae00!
aaae00@
aaae00#
aaae00$
aaae00%
aaae00^
aaae00&
aaae00*
aaae00(
aaae00)
root@kali:~# tail wordlist.lst
zzze99;
zzze99"
zzze99'
zzze99<
zzze99>
zzze99,
zzze99.
zzze99?
zzze99/
zzze99

Wordlistimizin ilk üç karakteri a harfinden başlayarak z harfine kadar devam etti 4. karakterimiz ise sabit bir şekilde e harfi olarak kaldı 5. ve 6. karakterimizi % ile bir rakam olduğunu belirttik. Son karakterimizi ise ^ ile bir sembol olarak ayarladık ve işte sonucumuz.

Crunch Yer Tutucuları Karakter Olarak Kullanmak (-l parametresi)

t parametresi ile yer tutucular kullanılarak bazı karakter gruplarını belirtebileceğimiz öğrenmiştik. Şimdi bu yer tutucuları sabit bir karakter olarak kullanmayı öğrenicez.

Örnek olarak @ karakteri küçük harfleri temsil eder ancak biz küçük harfleri değil bildiğimiz @ işaretinin yerini tutmasını istiyoruz. Bu durumda l parametresini kullanarak bunu çözüyoruz.

# crunch 5 5 -t p@ss% -l a@aaa

root@kali:~# crunch 5 5 -t p@ss% -l a@aaa
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
p@ss0
p@ss1
p@ss2
p@ss3
p@ss4
p@ss5
p@ss6
p@ss7
p@ss8
p@ss9

Normalde -t parametresi ile @ işaretinin belirtildiği yerde tüm ingilizce küçük harfler olacaktı ancak -l parametresi ile ikinci karakteri @ işareti olarak belirledik, burda crunch şunu anlıyorki ikinci karakter olan @ bir yer tutucu değil. Böylece ikinci karakteri bir yer tutucu olarak değil bir karakter olarak algılacayacak.

l ile belirtilen a karakterleri birer yer tutucudur ve herhangi bir harf olabilir.

crunch 5 5 -t p@ss% -l a@abc
Ancak bu -t ile belirtilen karakter sayısı ile eşit sayıda olmalı ve yer tutucu özel karakterin değişmemesini istiyorsak o karakteri -l parametresinide aynı yerde belirtmeliyiz.

Crunch ile Belirli Kelimeler Kullanarak Wordlist Oluşturmak (-p parametresi)

Crunch ile istediğimiz kelimeleri kombine ederek bu kelimelerin oluşturduğu tüm olasılıklar hesaplanabilir.

# crunch 4 5 -p kedi kopek kus

root@kali:~# crunch 4 6 -p kedi kopek kus
Crunch will now generate approximately the following amount of data: 78 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 6
kedikopekkus
kedikuskopek
kopekkedikus
kopekkuskedi
kuskedikopek
kuskopekkedi

kedi, kopek, kus kelimelerinin oluşturduğu tüm kombinasyonlar hesaplandı toplam 6 tane sonuç çıktı. Her kelimenin bir kez kullanıldığı durumda 3'ün faktöryelini alarak sonuçta 6 farklı kelime oluşacaktır.

NOT: p parametresi ile kelimeleri kombine ederken maksimum ve minimum uzunluğun bir önemi olmasada rastgelede olsa bu değerler girilmeli.

NOT: p parametresi son parametre olmalıdır.

Crunch'a Verilen Kelimedeki Harfleri Kombine Etmek (-p parametresi)

p parametresini birde karakter belirtilerek verilen karakterleri birbirleri ile kombine etmek için kullanılabilir.

root@kali:~# crunch 3 3 -p mert
Crunch will now generate approximately the following amount of data: 120 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 24
emrt
emtr
ermt
ertm
etmr
etrm
mert
metr
mret
mrte
mter
mtre
remt
retm
rmet
rmte
rtem
rtme
temr
term
tmer
tmre
trem
trme

mert kelimesindeki karakterler kullanılarak hepsi birbiri ile kombine edildi. 4 karakter olduğundan 4! (faktöryel) bize sonucumuzdaki çıktı sayısını veriyor.

Başka Bir Dosya İçerisindeki Kelimeleri Kombine Ederek Wordlis Oluşturmak (-q parametresi)

p parametresine kombine edilmesini istediğimiz kelimeleri vererek wordlist oluşturuyorduk. q parametresinde tek fark bu kelimeleri vermek yerine dosyanın ismini vermemiz ve dosyadaki her satırı bir kelime olarak alıp bunları kombine etmesidir.

# crunch 4 6 -q test.txt

root@kali:~# cat test.txt
ali
baba
nerde

root@kali:~# crunch 9 9 -q test.txt
Crunch will now generate approximately the following amount of data: 78 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 6
alibabanerde
alinerdebaba
babaalinerde
babanerdeali
nerdealibaba
nerdebabaali

Oluşturulacak kelimelerin uzunluğu önemli değil ancak crunch'a bu bilgiler önemsizde olsa verilmeli.

Kelimeleri ve Yer Tutucuları Kombine Etmek (-t ve -p parametrelerinin birlikte kullanımı)

t parametresi ile yer tutucuları kullanarak wordlistimizdeki karakterlerin bizim istediğimiz karkter kümeleriyle kombine edilebiliyordu.

p parametresi ile kelimeleri veya bir kelimedeki harfleri kombine etmeyi öğrenmiştik şimdi t ve p parametrelerini birlikte kullanarak wordlist oluşturalım.

Aşağıdaki örnekte -p parametresi ile belirtilen ali kelimesinin kendi içinde kombinasyonu -t parametresindeki aaa ile belirtilen yer tutucuların yerine gelecektir. -t ile % olarakta son karakterinin bir rakam olması gerektiğini belirttik.

root@kali:~# crunch 4 4 -t aaa% -p ali
Crunch will now generate approximately the following amount of data: 300 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 60
ail0
ail1
ail2
ail3
ail4
ail5
.
.
.
lia5
lia6
lia7
lia8
lia9


Şimdi birden fazla kelimeyi kombine ederek wordlist oluşturalım.

root@kali:~# crunch 4 4 -t a%%a -p mert ali
Crunch will now generate approximately the following amount of data: 2000 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 200
ali00mert
ali01mert
ali02mert
..
ali98mert
ali99mert
mert00ali
mert01ali
..
mert98ali
mert99ali

Bu sefer t parametresindeki yer tutucu harfleri -p parametresindeki kelimelerin yerini tutacak şekilde ayarlıyoruz. Bu sefer a harfi -p parameresindeki kelimeleri temsil ediyor. Harfleri istediğimiz gibi dağıtabiliriz. -p parametresindeki kelimeler kendi içlerinde yer tutucu(a) harfleri ile yer değiştirecektir.

Wordlistimiz kısaca aşağıdaki durumun tüm olasılıkları şeklinde olacaktır.

ali%%mert

mert%%ali