Python Wordlist Oluşturma Rehberi

python logo

Handshake ile wifi şifre kırabilmek için iyi bir wordlist dosyasına ihtiyacımız var. Ya Türkçe hazır bir wifi wordlist bulmamız ya da oluşturma yoluna gitmemiz gerekiyor. Peki neden Windows tabanlı bir wifi oluşturma programı kullanmıyoruz? Ücretsiz uygulamalar hem yavaşlar hem çok az özelliğe sahipler. Kişiye özel liste oluşturmak için yetersiz kalıyorlar. Python bu noktada çok iyi iş görüyor. Üstelik Python uygulamalarını kullanabilmek için Wifislax veya Kali Linux işletim sistemlerine de gerek yok. Bu yöntemle istediğimiz kelimelerle hızlı bir şekilde listeler oluşturabilirsiniz.

Belirli Kelimelerle Kişiye Özel Wordlist Oluşturma

Belirli kelimeler ile wordlist oluşturmak için Python dili ile yazılmış programlama dosyalarına ihtiyacımız var. Pydictor, Crunch ve Cupp gibi uygulamalarla sayesinde çeşitli komutları kullanarak Türkçe wordlistler oluşturabilirsiniz. Sadece sayılarla başlayan, başında belirli kelimeler bulunan, harf sayı kombinasyonları içeren listelere ihtiyacınız varsa doğru yerdesiniz. Hatta bu yöntemle kelimeleri karıştırıp orjinal kelime listeleri dahi oluşturabilme şansınız var. Özellikle Wifi wordlistleri için Türkçe listelere ihtiyaç duyarız. İnternette bulduğumuz dosyaların büyük bir kısmı ile yabancı dildedir. Bu nedenle kendi kelimelerimizi kendimiz oluşturursak başarı şansımız daha da artar. En azından Türkçe kelimeler kullanacağımız için büyük faydasını görürüz. Önce Python kurmakla başlayalım.

Python, Windows İşletim Sistemine Nasıl Kurulur

Python dili ile yazılmış wordlist oluşturma dosyalarını çalıştırabilmemiz için önce Python’u kurmalıyız.

Aşağıdaki linkten programı indirebilirsiniz.

Python Windows Uyumlu Sürümü

python3 windows

Resmi siteye girdikten sonra Download tuşu üstüne gelerek Python3 sürümünü direk indirebilirsiniz.

python3 kurma

İlk kurulum ekranında kesinlikle Add Python 3 to PATH tikini işaretleyiniz. Bu işlemi yaptığınız takdir de bilgisayarınızın herhangi bir klasöründe yer alan bir py (python) dosyasını direk çalıştırabilirsiniz. Aksi durumda işlem yaparken sürekli olarak kurulum klasöründen komut vermeniz gerekir bu da can sıkıcı bir durum.

Pydictor

Pydictor sayesinde belirli kelimelerle kişiye özel wordlistler oluşturabiliriz. Çok etkili komutlara sahip dolayısıyla tam istediğiniz gibi bir liste çıkartabiliriz. Kullanımı çok kolay. Herhangi bir kurulum gerek yok çünkü Python yüklü olduktan sonra yapmamız gereken sadece py uzantılı dosyayı komut ile çalıştırmak!

Pydictor İndir

Öncelikle Github sitesinden Pydictor kodlamasını indirin. Karşınıza çıkan alanda CODE > Download ZIP kısmından dosyayı indirebilirsiniz. İndirdiğiniz dosyayı ZİP’ten masaüstüne çıkartınız.

pydictor çalıştırma komutu

Klasörü masaüstüne çıkardıktan sonra Çalıştır aracına CMD yazıp komut istemcisini çalıştırın. Ben Pydictor dosyalarını masaüstüne çıkartmıştım dolayısıyla CMD’den o dizine gitmemiz gerekiyor. python pydictor.py komutu ile programı çalıştırabiliriz.

Pydictor Komutları

Base, char, chunk, head ve tail komutları en çok kullanacağımız komular olacak.

usage:
pydictor.py [options]
           -base        [type]
           -char        [custom_char]
           -chunk       [chunk1] [chunk2] ...
           -extend      [string_or_file]
           -plug        [birthday,ftp,pid4,pid6,pid8,scratch]
           --conf       [expression_or_file]
           --pattern    [expression_or_file]
           --sedb
           -o,--output  [directory]
           -tool        [combiner,comparer,counter,handler,hybrider,shredder,uni
qbiner,uniqifer]
           --len        [minlen] [maxlen]
           --head       [prefix_string]
           --tail       [suffix_string]
           --encode     [b16,b32,b64,des,execjs,hmac,md516,md5,none,rsa,sha1,sha
256,sha512,test,url]
           --occur      [letter] [digital] [special]
           --types      [letter] [digital] [special]
           --repeat     [letter] [digital] [special]
           --regex      [regex]
           --level      [code]
           --leet       [code]
           --dmy

*[+] A Useful Hacker Dictionary  Builder. [+]*
 [+] Build by LandGrey    email:[email protected]

optional arguments:
  -h, --help            show this help message and exit
  -base Type            Choose from  (d, L, c, dL, dc, Lc, dLc)
                            d     digital             [0 - 9]
                            L     lowercase letters   [a - z]
                            c     capital letters     [A - Z]
                            dL    Mix d and L         [0-9 a-z]
                            dc    Mix d and c         [0-9 A-Z]
                            Lc    Mix L and c         [a-z A-Z]
                            dLc   Mix d, L and dL     [0-9 a-z A-Z]
  -char character       Use Custom Character build the dictionary
  -chunk arg [arg ...]  Use the multi-chunk build the dictionary
  -extend arg [arg ...]
                        Extend the string list or file
  -plug arg [arg ...]   birthday  [begin_date] [end_date], date format: [yyyyMMd
d or ddMMyyyy(--dmy option)]
                        ftp       [keyword1] [keyword2] ...
                        pid4      chinese id card last 4 digit
                        pid6      chinese id card last 6 digit
                        pid8      chinese id card last 8 digit
                        scratch   [url_or_file]
  --conf [file_path]    Use the configuration string or file build the dictionar
y
  --pattern [file_path]
                        Use pattern string build the dictionary
  --sedb                Enter the Social Engineering Dictionary Builder
  -o path, --output path
                        Set the output directory path
                            default: C:\Users\Mecra\Desktop\pydictor-master\resu
lts
  -tool arg [arg ...]   combiner  [dir]
                        comparer  [minuend_file] [subtrahend_file]
                        counter   ['v','s','vs'] [file] [view_num]
                        handler   [file]
                        hybrider  [file1] [file2] ...
                        shredder  [file_or_dir]
                        uniqbiner [dir]
                        uniqifer  [file]
  --len minlen maxlen   Default: min=0  max=4
  --head prefix         Add string head for the items
  --tail suffix         Add string tail for the items
  --encode encode       b16       base16 encode
                        b32       base32 encode
                        b64       base64 encode
                        des       des algorithm and need modify code
                        execjs    execute js function and need modify code
                        hmac      hmac message digest algorithm
                        md5       md5 message digest algorithm output 32 char
                        md516     md5 message digest algorithm output 16 char
                        none      default and don't encode
                        rsa       rsa algorithm and need modify code
                        sha1      sha-1 message digest algorithm
                        sha256    sha-256 message digest algorithm
                        sha512    sha-512 message digest algorithm
                        test      custom yourself encode method by modifying fun
ction
                        url       url encode
  --occur letter digital special
                        Default: letter "<=99" digital "<=99" special "<=99"
  --types letter digital special
                        Default: letter ">=0"  digital ">=0"  special ">=0"
  --repeat letter digital special
                        Default: letter ">=0"  digital ">=0"  special ">=0"
  --regex regex         Filter by regex, Default: (.*?)
  --level code          Use code [1-5] to filter results, default: 3
  --leet code [code ...]
                        Choose leet mode code (0, 1, 2, 11-19, 21-29)
  --more                Append more simple word list to extend function results,
 default: false
  --dmy                 Use ddMMyyyy format date, default date format: yyyyMMdd

Base

Sayı veya harflerden oluşan bir liste oluşturmak istediğimize base komutunu kullanıyoruz. Base komutundan sonra bir boşluk bırakarak aşağıdaki kodlardan birini kullanıyoruz.

  • d sayılar [0-9]
  • L küçük harfler [a – z]
  • c büyük harfler [A – Z]
  • dL 0-9 rakamlar ve küçük harf kombinasyonu [0-9 a-z]
  • dc 0-9 rakamlar ve büyük harf kombinasyonu [0-9 A-Z]
  • Lc küçük ve büyük harf kombinasyonu [a-z A-Z]
  • dLc 0-9 rakamlar küçük ve büyük harf kombinasyonu [0-9 a-z A-Z]

--len komutu şifrenin kaç haneli olacağını belirliyor! En az 6 hane en çok 8 haneli bir şifre için --len 6 8 komutunu kullanıyoruz. Oluşturduğumuz şifreler RESULTS isimli klasörün içine çıkarılıyor lütfen bunu unutmayın. Şimdi denemelere geçelim.

8 haneli sayılardan oluşan bir wordlist için şu komutu kullanıyoruz:

python pydictor.py -base d --len 8 8

8 ve 9 haneli sayılardan bir liste oluşturmak ister sek de:

python pydictor.py -base d --len 8 9

Örnekleri geliştirebiliriz. Haydi bunun içine harfleri de katalım.

0-9 sayıları ve küçük harfleri içersin ve sadece 9 haneli olsun!

python pydictor.py -base dL --len 9 9

Gördüğünüz gibi base komutunu kullanmak oldukça basit.

Char

-char komutu ile sadece belirlediğimiz harf ve sayılarla wordlist oluşturabiliriz.

Mesela listemizdeki kelimelerin sadece abcdef01 harf ve rakamlarını içermesini istiyoruz. Şifremiz 8 haneli olacak. Kullanmamız gereken kod:

python pydictor.py -char abcdef01 --len 8 8

Head ve Tail

Başı veya sonu belirli kelime ile biten listeler oluşturmak isteyebiliriz. Head baş, Tail de son demek!

Mesela turkiye ile başlayan ve turkiye’den sonra 6 haneli sadece sayılardan oluşan bir listeye ihtiyacımız olduğunu düşünelim.

python pydictor.py --head turkiye -base d --len 6 6

— head baştaki sabit kelimedir. Daha sonra -base d komutu ile turkiye kelimesinden sonra sadece rakamların gelmesini sağladık. Dikkat edilmesi gereken bir nokta var. Biz –len komutu ile şifrenin sayı kısmının 6 haneli olmasını belirledik. Kısacası baş kelime haneye dahil edilmiyor.

Bu örneğin tam tersini yapalım. turkiye ile biten basında 6 haneli sayılar olan bir örnek yapalım.

python pydictor.py --tail turkiye -base d --len 6 6

Bu kez tail komutu ile kelimeyi basa çektik.

İki Wordlist birleştirme veya bir listede yer alan kelimelere sayı ekleme!

Örnekleri biraz zorlaştıralım. Pydictor ile yapabilecekleriniz hayal gücünüz ile sınırlı.

Elimizde 2 liste olsun birinde isimler diğerinde sayılar! Ya da ilk listede isim listemiz var her isimin sağına 6 haneli sayılar eklemek istiyoruz.

İsim listesi Ali Ahmet ve Mehmet kelimelerinden oluşuyor. Peki biz
Ali000000-Ali999999
Ahmet000000-Ahmet999999
Mehmet000000-Mehmet999999

bu listeyi nasıl oluşturabiliriz?

Adım 1

Önce Ali Ahmet Mehmet kelimelerinden oluşan bir txt dosyası oluşturuyoruz. İsimler tabi alt alta olacak.

Adım 2

6 haneli sayıları pydictor ile oluşturuyoruz bunun için;

python pydictor.py -char 1234567890 --len 6 6

komutunu kullandık. Şimdi elimizde 2 liste var. sayı listemiz /results/ klasörünün içindeydi. Ali Ahmet ve Mehmet kelimelerinden oluşan isim.txt olan dosyayı da buraya atabiliriz.

Adım 3

Tek yapmamız gereken bu 2 listeyi birleştirmek!

python pydictor.py -tool hybrider C:\Users\isim\desktop\pydictor-master\results\isim.txt C:\Users\isim\desktop\pydictor-master\results\6hanelisayilar.txt

hybrider aracı ile 2 listeyi kolayca birleştirebiliriz.

Bunun için listelerin tam yolunu koda girmemiz gerekiyor.

Pydictor kodlamasının Github sayfasını inceleyebilirsiniz. Denemelerde bulunarak diğer tüm işlevleri öğrenirseniz çok etkili listeler hazırlarsınız. Ben belli başlı noktalara değindim. Kali linux kurmadan hemen sonuç aldık. Handshake kırmak için oluşturduğunuz wordlistleri eğer tam sürümünü edinebilirseniz Elcomsoft Wireless Security Auditor isimli programla hızlı bir şekilde deneyebilirsiniz.

Python Pydictor bir sorun yaşadığınız durumda yorum kısmından bana ulaşırsanız yardımcı olmaya çalışırım. Teşekkür ederim.

Benzer Yazılar

Bir cevap yazın

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