39
Konuya ait anahtar kelimeler: Unutulan Zip şifresini deneme ile bulan script yazma Bu dersimizde kendinize ait şifresini unuttuğunuz, sıkıştırılmış .zip uzantılı dosyalarınızın şifresini belirlediğiniz yada tahmin ettiğiniz birden fazla şifre kombinasyonu içerisinden bulan script hazırlayacağız. Bunun için "Brute Force" mantığı ile doğru şifreyi bulmaya çalışacağız. Brute force, Türkçe "Kaba Kuvvet" anlamına gelmektedir. Yani belirlenen şifreleri birer birer deneyerek bulma işlemidir. Gerekli programlar;
  • unzip
Lütfen program yüklü değil ise yükleyiniz. Program hakkında geniş bilgiye ulaşmak için "man unzip" sayfasına bakabilirsiniz. Unzip programının bir çok parametresi bulunmaktadır. Bunlardan aşağıdaki parametreleri kullanacağız.
-qSeri ve hızlı bir şekilde dosyaların kontrolünü yapmak..
-tİşlemlerin hepsini değil sadece kısa bir özetini sunmak.
-PZip dosyasının şifresini belirtmek.
Örneğin, Ahmet adlı bir kişinin isminin yanında birkaç sayı ile şifrelemiş olduğu bir zip dosyası olsun(ahmet253 vb..). Fakat Ahmet isminden sonra sayısal olarak ne yazdığını hatırlamıyor. Bir kaç deneme yapmış fakat doğru şifreyi bulamamış. Ahmet isminden sonra dört basamaklı bir sayı olduğunu ama kaç olduğunu hatırlamıyor olsun. Bu probleme uygun olarak öncelikle şifre kombinasyonun olduğu bir "wordlist.txt" adında şifre dosyası hazırlayalım ve scriptimiz bu dosyadan birer birer şifreleri okuyarak deneme yapsın ve doğru şifreyi bulsun. İsterseniz sizlerde bilgisayarınızda bir text,müzik yada video dosyasını zip formatında şifreli olarak oluşturunuz. Şifreyi "ahmetXXXX" olarak belirleyiniz, burada XXXX yerine herhangi dört basamaklı bir sayı yazınız ve bu şifreyi birlikte bulalım. Şimdi şifre dosyamızı(wordlist.txt) hazırlayalım.
[alax@alax ~]$ echo -e "\n"ahmet{0..9}{0..9}{0..9}{0..9} > wordlist.txt
Evet şifre kombinasyonu dosyamızı hazırladık şimdi scriptimizi yazalım. Script adı "zipcrack.sh" olsun, içeriği aşağıdaki gibi olacaktır.
[alax@alax ~]$ cat zipcrack.sh #!/bin/bash #Unutulan zip dosyası şifresini deneme ile bulan script sonuc="" for sifre in `cat "$2" ` do echo "$sifre" if unzip -P "$sifre" -qt "$1" >/dev/null 2>1 ; then sonuc="$sifre" break fi done echo if [ ! -s "$sonuc" ] ; then echo "Şifre bulundu, Şifre: $sonuc" else echo "Malesef şifre bulunamadı.. Başka bir wordlist deneyebilirsiniz.." fi echo exit
Şimdi scripte çalıştırılma izni verelim ve çalıştıralım. Scriptin çalışma şekli, ./zipcrack.sh "Zip_dosyası_yolu" "şifre_dosyası_yolu" şeklinde olmaktadır.
[alax@alax ~]$ chmod u+x zipcrack.sh [alax@alax ~]$ ./zipcrack.sh "~/zipdosyası.zip" "~/wordlist.txt" ahmet0000 ahmet0001 ahmet0002 ahmet0003 ahmet0004 ahmet0005 ahmet0006 ahmet0007 ahmet0008 ahmet0009 ahmet0010 ahmet0011 ahmet0012 ahmet0013 ahmet0014 ahmet0015 ahmet0016 ahmet0017 ahmet0018 ahmet0019 . .. ...
Birinci pozisyonda zip dosyasının yolunu ve ikinci pozisyonda ise şifre dosyasının yolunu yazarak şifre denemesini başlatabilirsiniz. Dosya yollarını belirtirken herzaman dosyanın tam yolunu yazmaya özen gösterelim. Dosyalar nerede hangi klasör içerisinde ise o dizin yolunu belirtmelisiniz.