Pek çok noktada hedef sisteme saldırı aşamasında Brute Force yönteminden faydalanmaktayız. Fakat bunu yaparken genelde en çok bilinen Word List’leri kullanmaktayız. Bu sebepten dolayı Brute Force atağımızın sonuç vermesi bir hayli uzun sürebiliyor. Hatta bazen sonuç dahi alamamaktayız. Bazen bazı CTF sorularının çeşitli aşamalarında da indirdiğimiz dosyaların şifrelerini kırmak için Brute Force yönteminden faydalanmaktayız. Peki hedef sistem, kişi vs. hakkında bir takım bilgiler topladığımızı var sayalım. Bu durumda hazır Word List’leri kullanarak zaman kaybetmeden önce kendi spesifik Word List’imizi oluşturup hedefe yönelik bir saldırı gerçekleştirmek daha mantıklı olacaktır.

Brute Force Ne Ola?

Brute Force saldırısı Türkçe karşılığı ile kaba kuvvet saldırısı. Sistemdeki parolaları ele geçirmek adına yapılan, bir not defteri (Word List) içerisinde bulunan milyonlarca şifre kombinasyonunun otomatize bir şekilde sisteme tek tek denenmesi ve doğru sonuç elde edildiği takdirde sonucun saldırıyı yapan kişi tarafından elde edilmesidir. Elde hiçbir bilgi olmaksızın yapılabildiği gibi (hazır Word List’ler ile) bilgi toplama aşamasından sonra özel Word List’ler oluşturularak da yapılabilir.

Word List Nedir?

Parolaları tahmin ederken denenecek şifre kombinasyonlarını içerisinde bulunduran çoğu zaman .txt formatındaki dosyalara Word List demekteyiz.

Crunch Kurulumu

Eğer Kali Linux kullanıyorsanız muhtemelen sisteminize zaten kurulu olarak gelecektir. Fakat kurulu değil ise veya başka bir distroda Crunch’ı kullanmak istiyorsanız şu şekilde kurulumu gerçekleştirebilirsiniz;

BURADAN dosya kurulumunu gerçekleştirip ardından;

sudo apt-get install build-essential

tar xzvf crunch-3.6.tgz

make && make install

parametrelerini izleyerek kurulumu gerçekleştirebilirsiniz.

Crunch Kullanımı

Kurulumu gerçekleştirdikten sonra terminale crunch yazarak aracımızı açabilmekteyiz. Crunch’ın genel kullanım parametresi aşağıdaki gibidir;

crunch [min length] [max length] [character set] [options]
  • min length : Minimum parola uzunluğu.
  • max length : Maksimum parola uzunluğu.
  • character set : Özel karakter kullanımı, rakam ve harflerin birbiri ile olan kombinasyonu, büyük/küçük harf kombinasyonu, ASCII karakterlerin kullanımı vs. ayarları.
  • options : Bir takım ayarlar.

Elbette kendimize özel Word List’ler oluşturabileceğimiz gibi Crunch aracı ile birlikte gelen klasik parametreler de mevcut. Bu parametreler aşağıdaki gibidir.

Word Listimizi oluştururken kaplayacağı boyutu da aracımız bize bildirmekte. Örneğin abcdefg karakterlerini kullanarak en az 2 en fazla 4 karakterli bir Word List oluşturmak için aşağıdaki parametreyi kullanabiliriz;

crunch 2 4 abcdefg

Şeklinde devam etmekte ve daha sonra 3 karakterli ardından 4 karakterli bütün kombinasyonları bizlere sunmakta. Peki varsayılan Crunch kombinasyonları ile nasıl Word List oluşturabiliriz? Hemen ilk görselimizi hatırlayalım. hex-upper parametresi ile Word List Oluşturalım.

crunch 2 4 hex-upper

Şeklinde devam etmekte.

Oluşturduğumuz Word List’i Dosyaya Yazdırmak

Oluşturduğumuz Word List’leri kaydetmemiz de daha sonra farklı platformlar ve araçlar aracılığı ile kullanabilmemiz açısından önemli bir husus. Bunun için -o parametresini kullanmaktayız. Hemen bir örnek ile anlatalım;

crunch 2 3 abcd1234 -o wordlist.txt

Spesifik Karakterlerin Açıklanması ve Kullanımı

-t parametresi yardımı ile oluşturacağımız parolaların şeklini belirleyebilmekteyiz. Mesela hedefimizin Galatasaraylı olduğunu var sayalım.

crunch 7 7 -t gs1905%@

Burada dikkatinizi bazı özel karakterler çekmiş olacak.

  • @ : Küçük harfler.
  • % : Rakamlar.
  • ,  : Büyük harfler.
  • ^ : Semboller.

Yukarıdaki örnekte gs1905 ve hemen sonrasında 1 adet ramak 1 adet küçük harf kombinasyonları ile bir Word List oluşturulacağını belirttik.

Oluşturduğumuz Word List’i Parçalara Ayırmak

Oluşturduğumuz Word List çok büyük boyutlara ulaştıysa bu Word List’i parçalara ayırarak tutmak isteyebilirsiniz. Bu gibi durumlarda -b ve -c parametrelerini kullanmaktayız.  Burada dikkat edilmesi gereken husus -o parametresinden sonra rastgele bir isim veremiyor olmamız. Dosya ismine START yazmamız gerekmekte. Hemen bir örnek yapalım;

crunch 2 8 abcde12345 -o START -b 500mb

Aynı işlemi dosya boyutuna göre değil Word List’in içerisinde bulunan kelime sayısına göre de yapabilmekteyiz. Bunun için -c parametresini kullanmaktayız.

crunch 2 8 abcde12345 -o START -b 10000

Her 10.000 kelimeden sonra başka bir Word List’e kayıt yapacaktır.

Belirli Kelimeler ile Word List Oluşturmak

Bu noktada ise karşımıza -p parametremiz çıkmakta. Hemen bir örnek ile gösterelim;

crunch 3 4 -p ali veli

-p parametresi kullanılırken dikkat edilmesi gereken husus -p parametresini en sonda kullanmak olmalıdır. Yine -p parametresi kullanılarak bir kelimedeki harfler kombine edilerek Word List oluşturulabilir.

crunch 6 6 -p ayberk

Şeklinde devam etmekte.

Spesifik Karakterleri Normal Karakter Olarak Kullanmak

@, % karakterlerini Word List’imizde kullanmak için;

crunch 5 5 -t [email protected]% -l [email protected]

Yan Yana Gelecek Aynı Karakterleri Belirlemek

Burada -d parametremizden faydalanmaktayız. Örneğin yan yana aynı harflerin 3’ten fazla yan yana gelmesini engellemek için;

crunch 2 8 -d [email protected]

 

Yazımızın sonuna gelirken hedef sistem hakkında bilgi toplama aşamasından sonra hedefe özel Word List’ler ile atak gerçekleştirmek hem nokta atışı olur hem de vaktimizden tasarruf etmemizi sağlar.