Bu yazıda online ve offline parola kırma saldırılarında başrolü oynayan wordlist'lerin nasıl oluşturulabileceğine değinilecektir. Sızma testleri esnasında sistemler üzerinde erişim kazanmak , subdomain keşfetmek veya alt dizin keşfetmek için başvurulan yöntemlerin başında bruteforce(kaba kuvvet) ve dictionary(sözlük) saldırıları gelmektedir.

Bu saldırıları gerçekleştirmek için kaliteli worldlistlerin üretilmesi ise oldukça önemlidir, aksi halde mevcut worldlistler sizin saldırı yapacağınız sistemler ile ilgisiz olacaktır ve gereksiz bir çok kombinasyonu sistem üzerinde denenmiş olacaktır. Buda kıymetli ve kısıtlı olan sızma testi süresinin boşa gitmesi demektir. Bunun için wordlistlerin istenilen biçimde üretilebilmesi zaman kaybının önlenmesi ve başarılı testler için oldukça önemlidir.

Özelleştirilmiş wordlist oluşturmak için crunch isimli açık kaynak kodlu yazılım kullanılabilir. Crunch performans açısından oldukça hızlı ve kullanıcıya sağladığı detay özellikleri ile neredeyse istenilen her  biçimde wordlist oluşturmaya imkan sağlayan bir araçtır. Crunch uygulaması buradan temin edilebilir.

Backtrack linux işletim sistemi üzerinde kurulu gelen crunch'a şu şekilde erişilebilir.

root@bt:~/Desktop/sshuttle-master# cd /pentest/passwords/crunch/
root@bt:/pentest/passwords/crunch# ls
charset.lst  crunch  GPL.TXT
 
Burada charset.lst isimli dosya crunch ile birlikte kullanabileceğiniz karakter gruplarının tanımlandığı dosyadır. Örneğin yalnızca rakamların kullanılacaksa bu dosyada bu gruba verilen numerics charseti kullanılmalıdır. Charset.lst  dosyasının içeriğinin bir kısmı aşağıdaki gibidir.

root@bt:/pentest/passwords/crunch# cat charset.lst
# charset configuration file for winrtgen v1.2 by Massimiliano Montoro (mao@oxid.it)
# compatible with rainbowcrack 1.1 and later by Zhu Shuanglei <shuanglei@hotmail.com>


hex-lower                     = [0123456789abcdef]
hex-upper                     = [0123456789ABCDEF]

numeric                          = [0123456789]
numeric-space                 = [0123456789 ]

symbols14                     = [!@#$%^&*()-_+=]
symbols14-space               = [!@#$%^&*()-_+= ]

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

ualpha                        = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
ualpha-space                  = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ]
ualpha-numeric                = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ualpha-numeric-space          = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ]

 
Bu şekilde birçok tanımlı karakter grubu bulunmaktadır.Bu dosya içerisinde istediğiniz herhangi bir karakter grubunuda tanımlayıp bir satır olarak eklemeniz onu kullanmanız için yeterlidir. Örnek bir kullanım ile açıklamaya çalışalım.

Yalnızca rakamlardan oluşan minimum 1, maksimum 8 karakterli rakamlar.txt isimli bir wordlist oluşturalım:

root@bt:/pentest/passwords/crunch# ./crunch 1 8 -f charset.lst numeric -o rakamlar.txt

İlgili worldlistimiz bulunduğumuz dizinde oluşmuştur. Burada -f parametresi charset değerini vermek için, -o parametresi ise output(çıktı) dosyasını belirtmek için kullanılmıştır. Aynı örneği şu şekilde de oluşturmamız mümkündü:

root@bt:/pentest/passwords/crunch# ./crunch 1 5 1234567890 -o rakamlar.txt

Yalnız burada minumum 1 maksimum 5 karakter uzunluğunda olması istenmişitir.

Aşağıda, crunch uygulamasında özel bir parola oluşturmak için kullanılan -t parametresi ile kullanılabilen bazı karakterler ve görevlerine değinilmiştir;

@ işareti küçük harfli karakterleri yazdırmak için
,    işareti büyük harfli karakterleri yazdırmak için
%  işareti rakam kullanmak için
^   işareti özel karakterler yazdırmak için kullanılır.

Şimdi verilecek örnekte ise şu seneryoya göre wordlist oluşturulacaktır:
  • Şifrenin ilk 4 karakteri 1453
  • Şifre 10 karakterli
  • Şifrenin son iki karakteri ab
  • Geri kalan kısımları ise büyük harflerden oluşmaktadır.(o halde ","(virgül) işareti kullanılacaktır)
  • Çıktı ozel.txt dosyasına yazdırılacaktır.

İlgili crunch komutu şu şekilde olacaktır:
root@bt:/pentest/passwords/crunch# ./crunch 10 10 -t 1453,,,,ab -o ozel.txt
Crunch will now generate the following amount of data: 5026736 bytes
4 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 456976
100%



Oluşturduğumuz dosyanın çıktısının bir bölümü aşağıdaki gibidir:

root@bt:/pentest/passwords/crunch# head ozel.txt -n 20
1453AAAAab
1453AAABab
1453AAACab
1453AAADab
1453AAAEab
1453AAAFab
1453AAAGab
1453AAAHab
1453AAAIab
1453AAAJab
1453AAAKab
1453AAALab
1453AAAMab
1453AAANab
1453AAAOab
1453AAAPab
1453AAAQab
1453AAARab
1453AAASab
1453AAATab



Fırat Celal ERDİK <celal.erdik@bga.com.tr>



3 yorum :

  1. bir önceki yorumumu silebiliriz komutu buldum teşekkürler

    ./crunch 10 10 -t 1%%%%%%%

    YanıtlaSil
  2. şifre ALIVELI ile başlasın 14 haneli olsun ve kalan kısmı rakamlardan oluşsun fakat bu rakamların ilki 4 ile başlasın mesela ALIVELI4000000 ALIVELI4000001 ALIVELI4000002 ....... ALIVELI9999999. aralığında olsun komut nasıl olmalı?

    YanıtlaSil
  3. selam peki kali linux ta bunu nasil yapabiliriz ?

    YanıtlaSil

UA-17586270-1