JOHN THE RIPPER ARACIYLA ŞİFRE KIRMAK
John The Ripper, açık kaynak ve ücretsiz bir şifre kırma aracı. Her ne kadar Unix için çıkmış olsa da artık Windows, DOS, BeOS, OpenVMS ve Unix benzeri işletim sistemleri dahil çok sayıda farklı platformda kullanılabiliyor.
İlk çıkış amacı zayıf parola yapılandırmalarını tespit etmekmiş ancak günümüzde kullanım amacı şifre kırmak ve bu konuda en bilinen, en sık kullanılan araç olduğu da söylenebilir.
Çoğunlukla hemen hemen her şifreyi kırabilen, her derde deva bir araç olarak görüldüğünden de çok sık karşıma çıkıyor.
Eğer JtR'yi çıkartan OpenWall sayfasına göz atmak isterseniz https://www.openwall.com/john/ adresinden ulaşabilirsiniz.
John the Ripper'ın ne olduğunu anladığımıza göre sıra nasıl yükleneceğine bakmakta.
John the Ripper Nasıl Yüklenir?
Linux terminalinizi açın ve aşağıdaki komutu yazın:
sudo apt-get install john -y
Yükleme bittikten sonra john yazıp enter tuşuna basarsanız hangi versiyonu kullandığınızı ve hangi dizin altına kaydedildiğini görebilirsiniz:
root@sparta:/home/sinem# john
Created directory: /root/.john
John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: http://www.openwall.com/john/
Basit görünüyor: john [OPTIONS] [PASSWORD-FILES] ancak çok sayıda opsiyon seçilebileceğini de listede görebiliyoruz.
Şifre kırma saldırı türleri:
1. Brute-force yani kaba kuvvet saldırıları:
Bu
saldırı türünde her harf, sayı ve özel karakter kombinasyonu sırayla
denenerek şifre tahmin edilmeye çalışılıyor. Aşırı derecede yavaş ve
uzun süren bir süreç olmakla birlikte etkili bir yöntem olarak
biliniyor.
2. Dictionary yani sözlük kullanmak:
Bu
saldırı tipinde genellikle daha önce veri ihlallerinde yer almış olan ve
kullanılmış/sık kullanılan şifreler içeren dosyalar üzerinden deneme
yapılıyor. Gerçek hayatta bu saldırı tipini kullanarak şifre kırmak çok
zor ancak eğer TryHackMe ya da HackTheBox tarzı yerlerde CTF çözmeye
çalışıyorsanız faydalı olabiliyor.
3. Rainbow table yani tablo kullanmak (bu tablolara neden gökkuşağı dendiğini bilmiyorum):
Gökkuşağı
tabloları adını verdikleri bu tablolar içerisinde önceden hesaplanmış
(pre-computed) hashler bulunuyor. Tabloların belirtilen bir algoritma
için mümkün olan tüm hashleri barındırması üzerine kurulu bir saldırı
tipi. Parola kırmaya ya da hashi çözmek yerine elinizdeki hash ile
tabloda arama yapılıyor. Bu yöntemin ciddi şekilde işlemci gücü
gerektirdiği konusunda uyarılar mevcut.
JtR varsayılan olarak "single" (tekli), ardından "wordlist" (kelime listesi) ve son olarak "incremental" (artımlı) modlarda şifre kırmayı deniyor. (Mod = JtR'nin parolaları kırmak için kullandığı bir yöntemler)
Ayrıca kendinize ait bir kelime listesi dosyası seçebilir veya şifrelerdeki tüm olası permütasyonları deneyerek John The Ripper ile brute-force saldırısı deneyebilirsiniz.
Şunu unutmamak gerekiyor ki bu parola kırma
denemeleri özellikle de evlerde kullandığımız bilgisayarlarda günlerce
sürebiliyor. TryHackMe'de denediklerim bu kadar uzun sürmedi ancak yine
de sabır gerektiren bir süreç olduğunu hatırlamakta fayda var.
Eğer durdurmak ya da çıkmak isterseniz q tuşuna ya da Ctrl + C tuşuna basmak gerekiyor.
JtR şifreyi bulduğunda terminalde görüntüleniyor ayrıca kırılan tüm şifreler
~ / .john / john.pot adlı bir dosyaya kaydediliyor.
(Şifreler [HASH]: <pass> formatında görüntüleniyor.)
Bir deneme yapalım:
Yukarıdaki resimde görülebileceği gibi bir adet jtr.hash dosyası oluşturdum ve içerisine bd9059497b4af2bb913a8522747af2de şeklinde bir MD5 parola hashini kaydettim.
Bu çok kolay bir örnekti ve parola emerald olarak terminalde görülebiliyor.
(Örneği biraz değiştirerek https://linuxhint.com/john_ripper_ubuntu/ kaynağından aldım. Sayfada verilen örnekte hash'in başına admin: yazılarak kullanıcı adı da belirtilmişti)
Buarada eğer hash formatını bilmiyorsanız hash-identifier aracı bu konuda yardımcı oluyor:
Eğer daha sonra bulduğumuz parolayı yeniden görüntülemek istersek aşağıdaki komutu kullanabiliyoruz:
john jtr.hash --format=Raw-MD5 --show
Kullanıcı adı belirtmediğim için ?:emerald olarak çıkıyor aksi halde ? yerinde kullanıcı adı da yazıyor olacaktı.
Bu defa kullanıcı adı ile birlikte farklı bir deneme yapalım:
Yeni bir dosya kaydedeceğim ve bu dosyanın adını jtr2.hash koyacağım. İlk örnekten farklı olarak <user>:<hash> şeklinde veri kaydedeceğim:
sinem:AZl.zWwxIh15Q şeklinde yazdığım hash'i jtr2.hash dosyasına kaydettim.
Bu kaydetmiş olduğum hash formatı DES:
Hiçbir opsiyon belirtmeden sadece john jtr2.hash komutu ile çalıştırıyorum:
Parolanın example olduğu yukarıda görülebiliyor.
Daha önce kırılan bir parolayı yeniden görüntülemek:
john --show jtr2.hash komutuyla ise istendiğinde yeniden görüntülemek mümkün:
Belirli bir kullanıcıya ait parolayı bulmak:
Eğer belirli bir kullanıcı ya da root kullanıcısına ait parola kırılmış mı diye kontrol etmek istersek bunu da user id kullanarak yani UID ile kontrol edebiliriz:
john --show --users=0 jtr2.hash
(Users yerine groups yazarak aynısını GUID ile de yapabilir ve belirli bir gruba göre de filtreleme yapabiliriz.)
JtR'yi Wordlist ile kullanmak:
3 tip saldırı var demiştik, eğer wordlist (kelime listesi) kullanıyorsanız bu durumda Dictionary attack (sözlük saldırısı diyebiliriz sanırım) gerçekleştirmiş oluyorsunuz.
Wordlist'ler içerisinde de en sık kullanılan ve en iyi sonuç verdiği bilinen rockyou.txt normalde /usr/share/wordlists/ altında bulunabiliyor. Eğer yoksa buradan indirebilirsiniz. (Dosya zipli olarak indiği için tar ya da gzip benzeri bir araç ile unzip etmeniz gerekiyor.)
JtR'yi wordlist modunda kullanmak istiyorsak aşağıdaki komut ile mümkün oluyor:
john --wordlist=passwd.lst jtr2.hash
Elbette --wordlist flag'den sonra farklı wordlistler seçmek ve kullanmak da mümkün, örneğin en sık kullanılan rockyou.txt ile çalışsın istiyorsak /usr/share/wordlists/rockyou.txt şeklinde dosya yolunu da belirterek çalıştırabiliriz.
JtR'yi incremental mode ile kullanmak:
En başta bahsetmiş olduğum incremental (artırımlı ya da artımlı) mod ile kullanmak için ise aşağıdaki komut kullanılabilir:
john --incremental jtr2.hash
JtR için gerekli hash formatı:
JtR için bilinmesi gereken önemli bir konu parolaları kırabilmesi için belirli bir formatta olması gerektiği.
Çeşitli dosya türlerini JtR uyumlu saldırı dosyalarına dönüştürmek için birçok farklı dönüştürme aracı var ve bunları locate *2john komutuyla görüntüleyebiliriz:
Faydalandığım kaynaklar:
https://linuxhint.com/john_ripper_ubuntu/
https://linuxconfig.org/password-cracking-with-john-the-ripper-on-linux
https://www.varonis.com/blog/john-the-ripper/
https://www.openwall.com/john/
https://null-byte.wonderhowto.com/how-to/crack-ssh-private-key-passwords-with-john-ripper-0302810/

Hiç yorum yok:
Yorum Gönder