Sızma Testlerinde Özelleştirilmiş Sözcük Listesi Oluşturma

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. Tekboynuzlu Unicorn 11 Kasım 2015 13:28

    selam peki kali linux ta bunu nasil yapabiliriz ?

  2. Adsız 8 Ekim 2015 15:34

    ş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ı?

  3. Adsız 2 Haziran 2013 14:27

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

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

Yorum Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*

3 × 4 =

Mail listemize üye olarak eğitim fırsatlarını kaçırmayın!
Eğitim ve ücretsiz etkinliklerizden haberdar olmak için e-posta listesimize üye olun!.