7. Şifre Saldırıları

_images/125.png

Günümüzde sıkça rastladığımız bir durumda parolalara yönelik saldırılardır. Bu kısımda parolalara yöneliksaldırı işlemleri için kullanılabilecek yazılımlara değineceğiz. Bu yazılımlara başlamadan önce hash’e kısaca değinelim.

Hash Nedir?

Kriptografik Hash fonksiyonları aldıkları girdinin boyutundan bağımsız olarak belirli uzunluğa sahip bir çıktı üretirler. Üretilen çıktı verilen girdiye özeldir. Aynı girdi ile sürekli aynı çıktı oluşur ve iki farklı girdinin çıktısı ile birbiriyle aynı olamaz. Kriptografik Hash fonksiyonunun çıktısı “message digest”, “hash”, “checksum” ve “digital fingerprint” olarak adlandırılabilir.

Not:

Hash değerleri geri dönüşümsüzdür. Hash sonuçlarını elde edebilmek için bruteforce mantığı ile ilerlenmektedir.

7.1. FindMyHash

İçinde çeşitli hash algoritmalarını bulunan ve çeşitli online web siteleri üzerinden hash sonucunu tespit etmeye çalışan bir yazılımdır.

Bünyesinde bulunduran hash algoritmaları aşağıdaki gibidir.

  • MD4 - RFC 1320

  • MD5 - RFC 1321

  • SHA1 - RFC 3174 (FIPS 180-3)

  • SHA224 - RFC 3874 (FIPS 180-3)

  • SHA256 - FIPS 180-3

  • SHA384 - FIPS 180-3

  • SHA512 - FIPS 180-3

  • RMD160 - RFC 2857

  • GOST - RFC 5831

  • WHIRLPOOL - ISO/IEC 10118-3:2004

  • LM - Microsoft Windows hash

  • NTLM - Microsoft Windows hash

  • MYSQL - MySQL 3, 4, 5

  • hashCISCO7- Cisco IOS type 7 encrypted passwords

  • JUNIPER - Juniper Networks $9$ encrypted passwords

  • LDAP_MD5 - MD5 Base64 encoded

  • LDAP_SHA1 - SHA1 Base64 encoded

Örnek olarak admin string’ini md5 ile hashleyip hash’in sonucuna bakalım.

MD5:

21232f297a57a5a743894a0e4a801fc3

Komut:

findmyhash MD5 -h 21232f297a57a5a743894a0e4a801fc3 -g
_images/315.png

Sonuç olarak bir çok web sitesinden arama işlemi gerçekleştirerek verdiğimiz hash değerinin admin olduğunu tespit etti.

7.2. Hash-Indentifier

Hash-Identifier elimizdeki var olan hash’ın hangi algoritmaya ait olduğunu bulan bir yazılımdır. Kullanımı basittir. Terminale hash-identifier komutunu girmeniz yeterlidir. Dahasonra bizden hash’i istiyor. Örnek olarak az yukarıdaki verdiğimiz hash’in algoritmasını tespit etmeye çalışalım.

Komut:

hash-identifer
_images/415.png

Görüldüğü gibi verdiğimiz hash’in MD5 olduğunu tespit etti.

7.3. John

_images/515.png

John parola kırma aracıdır. Consol’dan john komutunu girip aracı başlatabilirsiniz. Parametre ve kullanımı hakkında bilgi almak için -h parametresini kullanabilirsiniz.

Komut:

john -h
_images/66.png

Jonh şifreli dosya mantığı ile çalışır. Yani elinizde var olan bir parolayı herhangi bir txt dosyasına kaydedip bunu john aracına okutarak işlemler yapılacaktır. Parola kırma işleminde john yoğun olarak CPU kullanmaktadır. Bu yüzden makinanızın özelliklerine göre bu işlem kısa veya uzun olabilir. Eğer elinizdeki parolanın formatını biliyorsanız bunu tanımlayarak çok daha hızlı bir şekilde işlemlerinizi gerçekleştirmiş olursunuz. Bunu belirtmek için –format parametresini ve kırılan parolayı görmek için ise –show parametresi kullanılmaktadır. Örnek olarak bir txt dosyasının içeriğine md5 algoritmasını kullanan bir parola girelim. Txt dosyanın içeriği: Parola:21232f297a57a5a743894a0e4a801fc3

Komut:

john --format=raw-MD5 sonuc.txt
_images/76.png

Md5 çözülmüş hali admin olarak bulundu.

7.4. Hydra

_images/hydrimage.jpg

Hydra hedef sisteme user ve password yönelikli brute force saldırısı gerçekleştiren bir araçtır. Hem consol tabanlı hemde gui tabanlı seçenekleri mevcuttur.

Komut:

hydra
_images/86.png

Hydra en temel haliyle aşağıdaki gibi kullanılmaktadır.

Komut:

hydra -l [user] -p[password] -s[port] [servis]

Komut kullanmadan bu işlemleri kısa ve basit bir şekilde gerçekleştirmek için gui tabanlısını kullanabilirsiniz.

_images/96.png

7.5. Medusa

Medusa servislere yönellik parolalara brute force atackları gerçekleştirmemizi sağlayan bir araçtır. Tüm parametreleri görmek için -h parametresi kullanılır. Medusa genel olarak aşağıdaki komut gibi çalışmaktadır.

Komut:

medusa
_images/1110.png

Genel kullanımı aşağıdaki gibidir.

Komut:

medusa -h [host] -u[kullanıcı listesi] -p[Parola listesi] -M [servis] -F

Bir örnek üzerinden ftp brute force gerçekleştirelim.

Komut:

medusa -h 1.1.1.1 -u /root/MAsaüstü/user.txt -p /root/Masaüstü/pass.txt -M ftp -F
_images/126.png

7.6. Crunch

Crunch bruteforce atakları için seçilen karakter sınıfından ve istenilen karakter uzunluğunda bize wordlist hazırlayan bir araçtır. Örnek kullanımına bakalım.

Komut:

crunch [min uzunluk] [max uzunluk] [karakter seti] -o [dosya adı]

Örnek olarak hedef kişimiz kalitr olsun ve bulunduğu şehrin plakası 50 olsun bu doğrultuda bir şifre oluşturulalım.

Komut:

crunch 5 9 kalitr50 -o kalitr50.txt
_images/135.png

Buradan anlaşılacağı üzere toplamda 153387008 adet olabilecek şifreler bize çıkarttı. Ve bu işlemi çok kısa bir sürede gerçekleştirdi. Dosyamızı İnceleyelim.

_images/145.png

1.5 GB boyutunda olup hızlı ve pratik bir şekilde tüm kombinasyonları hesaplayarak listeyi oluşturdu.

7.7. HashData

Hash-Identifier yazılımı ile aynı işlevleri gerçekleştirir. Farkı ise daha net sonuç vermektedir. Kali Linux içinde kurulu olarak gelmemektedir. Gem üzerinden kurulumunu gerçekleştirebilirsiniz.

Komut:

gem install hashdata

Kurulumu gerçekleştirdikten sonra terminalde hashdata şeklinde çalıştırabilirsiniz.

_images/155.png

7.8. Hashkiller

Hashkiller web ortamında en geniş hash veritabanına sahip site diyebiliriz. Bu site üzerinden çeşitli hashleri çözebilirsiniz.

_images/165.png

Görseldede görüldüğü gibi anasayfada en son kırılan hashleri listelemektedir.

7.9. Kali LinuxTr Password Killer

Proje yakın bir zamanda kullanıcılara açılacaktır.

URL: pskiller.kali-linuxtr.net

7.10. Neler Öğrendik?

Bu bölümde hash’in ne olduğunu, elimize geçen hash’in hangi algoritmaya ait olduğunu ve hash’in sonucunu tespit edebileceğimiz yöntem ve araçları öğrenmiş olduk.