21 Kasım 2014 Cuma

Crunch ile Özel Wordlist Oluşturma

    Tübitak'ın düzenlemiş olduğu Siber güvenlik CTF yarışması olan Siber meydan da yarıştık. Sorulan sorulardan biri, ki yöntemini bildiğim halde parametrelerini hatırlayamadığımdan gugıllayıp aradığım fakat ona rağmen uzunca bir vaktimi yiyen ibine Crunch'tan bahsedecem.

Sorulan soru kablosuz haberleşme paketinin analizine ve şifresinin kırılmasına dayalıydı.
İlk soru paketin içerisindeki ESSID bilgisini bulmamızı istiyordu.
İkinci soru ise paket içerisinde ki şifreyi bulmamızı istiyordu. Burada wordlist kullanacaktık fakat bunun bir sınırı olmalıydı. Verilen ipucu'nda şifrenin 10 karakterden oluştuğu ve 4 karakterinin bilindiği söyleniyordu.

Formatı ise şu şekildeydi: W(?)(a)(?)M(1)y(a)(a)n
W,M,y,n harflerinin yerleri biliniyor geriye kalanlar için özel bir wordlist oluşturup onu deneyecektik. Burada ki ?= alfanumerik karakteri, a= küçük harfi, 1 =rakamı ifade ediyordu.


Soruyu görür görmez hemen crunch diye patlattım fakat önce bir gugıllayıp istediğim şekilde kullanımını görmeliydim. E tabi o an yarışmadayız hızlı olmalıyız. Hemen açtım web sayfasını çatır çutur ingilizce kaynak arıyorum. Lan o da ney çıkanlar/anlatılanlar hep aynı. Uzunluğu min-max kaç olacak rakamdan mı harften mi alfanumerik karakterlerden mi oluşacak bunu belirt crunch sana döksün şifreleri. Ama ben istemiyom onu. Nasıl bir kafadaysam ingilizce kaynak aramakta diretip sürekli ingilizce anahtar kelimeler ile aramalar yapıyordum. Sonuç: hüsran :(

Arkadaşa devrettim meseleyi. Bir bak suna özel wordlist oluşturma olayı diye. Adam nasıl aradı tak diye istediğim/aradığım sayfa çıktı karşısına. Lan kafamı seveyim sen neden Türkçe aratmazsın ki İngilizce senin neyine keranacı. Neyse;

Konuya dönecek olursak. Crunch'ın temel şifre üretme özelliğinin dışında istenilen formatta da şifre üretme becerisi var. Burada kullanılan özel karakterler için;

@  işareti küçük harfli karakterler

,  işareti büyük harfli karakterler

%  işareti rakam

^  işareti ise özel karakterleri yazdırmak için kullanılır


Bunların kullanımını ise -t parametresi ile gerçekleştireceğiz.
root@GundY:~/crunch-3.6# ./crunch 10 10 -t W^@^M3ydan -o word.list

Burada temel olarak yapılmak istenen şudur: art arda gelen 10'lar minimum ve maksimum karakter sayısını ifade eder. Bizim şifremiz de 10 karakter olduğu için bu şekilde giriyoruz. Özel wordlist üreteceğimiz zaman -t parametresini kullanıyoruz. Yeri belli olan karakterleri yazdıktan sonra değişecek olanları özel işaretleri ile yazıyoruz. Sonrası output anlamına gelen -o parametresi.

Tabi ben böyle yapıp 2Gb'lık bir dosya üretemesini oluşturmasını içine de yaklasık 192milyon şifre yazmasını bekleyecek değildim. Verilen formattan ve yarışmanın adından esinlenerek son karakterlerin M3ydan olduğunu tahmin edip ona göre wordlist ürettim.

Çat çat hemen bitirdi şifre üretme işini. Şimdi elimizde olası şifrelerin olduğu dosya vardı.

 Dosya .cap uzantılı ve kablosuz network paketi olduğu için direk meşhur wireless heykırlarının son aşamada yaptığı olay kalmıştı geriye. Aircrack ile şifreyi kırmak.
root@GundY:~/ctf/soru_20-21# aircrack-ng pcap2.cap -w word.list

Şifre W!f!M3ydan çıktı. Tahmin edilebilir bir şifreymiş aslında. Bu kadar uğraşmayada gerek yokmuş. Hele ki ingilizce aramaya hiç gerek yok.

1 yorum:

  1. Merhaba, yeni yeni merak saldığım bir konu.
    Blogunuzu okurken hiç sıkılmadan okudum. Acaba sadece, nasıl tüm harf ve sayılardan küçük büyük nokta virgül vb. şifre oluşturacağımızı anlatabilir misiniz? aslında sadece . (nokta) olacak şekilde de olur.

    Sevgiler saygılar.

    YanıtlaSil