Parola denetiminin iki ayrı dünyası vardır: çevrimdışı (hash kırma) ve çevrimiçi (canlı servise deneme yapma). Bu rehber çevrimiçi tarafa odaklanıyor ve sektörün en bilinen aracı THC-Hydra ile SSH ve HTTP form tabanlı giriş noktalarına karşı kaba kuvvet/sözlük denemelerini uygulamalı anlatıyor. Tüm örnekler yalnızca kendi lab servislerinizde ve yetkili denetimlerde geçerlidir.
Konuda Anlatılacaklar
- Çevrimiçi parola saldırısı nedir, çevrimdışından farkı
- Hydra nedir, hangi protokolleri destekler
- Lab kurulumu ve kelime listeleri
- Hydra parametre referansı
- Uygulamalı: SSH ve HTTP POST form denemesi
- İleri seviye: oran sınırlama, devam ettirme, savunma
- Sonuç, kaynakça ve yasal uyarı
1. Çevrimiçi vs Çevrimdışı
Çevrimdışı saldırıda elinizde bir hash vardır ve onu yerelde, hedefle konuşmadan kırarsınız (John/Hashcat). Çevrimiçi saldırıda ise canlı bir servise (SSH, FTP, bir web giriş formu) gerçek giriş denemeleri gönderirsiniz. Çevrimiçi saldırılar çok daha yavaştır, ağ gecikmesine bağlıdır ve tespit edilebilir: başarısız girişler loglanır, hesap kilitleme ve oran sınırlama tetiklenir. Bu yüzden gerçek denetimlerde dikkatli, hedefli ve izinli yapılmalıdır.
2. Hydra Nedir?
THC-Hydra, çok sayıda protokole (ssh, ftp, http-get/post-form, smb, rdp, mysql ve daha fazlası) paralel giriş denemesi yapabilen hızlı bir çevrimiçi parola denetim aracıdır. Paralelliği sayesinde tek tek denemeye göre çok daha verimlidir, ancak bu aynı zamanda hedefe yük bindirir; eşzamanlılığı bilinçli ayarlamak gerekir.
3. Lab Kurulumu ve Wordlist'ler
sudo apt update
sudo apt install hydra seclistsls /usr/share/seclists/Usernames/
ls /usr/share/seclists/Passwords/
# klasik parola listesi
ls -l /usr/share/wordlists/rockyou.txt*4. Hydra Parametre Referansı
-l / -L - Tek kullanıcı / kullanıcı listesi:
hydra -l admin ...
hydra -L kullanicilar.txt ...-p / -P - Tek parola / parola listesi:
hydra -P /usr/share/wordlists/rockyou.txt ...-t - Paralel görev sayısı (varsayılan 16; SSH için düşürmek gerekebilir):
hydra -t 4 ...-s - Standart dışı port:
hydra -s 2222 ...-f - İlk geçerli kimlik bulununca dur; -V her denemeyi göster:
hydra -f -V ...-o - Sonuçları dosyaya yaz:
hydra -o bulgu.txt ...5. Uygulamalı Adımlar
Adım 1 - SSH sözlük denemesi. Bilinen bir kullanıcı için parola listesi deneyin (yalnızca kendi lab hedefinizde):
hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt -t 4 -f -V ssh://192.168.56.101[22][ssh] host: 192.168.56.101 login: msfadmin password: msfadminAdım 2 - HTTP POST form denemesi. Web giriş formlarında http-post-form modülü kullanılır. Üç alanı iki nokta ile ayırırsınız: yol:POST gövdesi:başarısızlık işareti. ^USER^ ve ^PASS^ yer tutucularını Hydra doldurur:
hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.56.101 \
http-post-form "/login.php:username=^USER^&password=^PASS^:F=Login failed"Adım 3 - Gövde ve çerez detayları. Form bir CSRF token veya oturum çerezi istiyorsa, POST gövdesine ilgili alanı ekler ve C=/çerez seçeneğiyle çerezi geçirirsiniz. Doğru POST alan adlarını tarayıcı geliştirici araçlarının "Network" sekmesinden teyit edin; yanlış alan adı tüm denemeleri boşa çıkarır.
6. İleri Seviye ve Savunma
- Eşzamanlılık ve gecikme: Hesap kilitleme ve tespit riskini azaltmak için -t değerini düşürün; bazı modüllerde denemeler arası bekleme için -W / -c seçenekleri yardımcı olur.
- Hedefli liste: Devasa listeler yerine, keşifte toplanan bağlama uygun (kurum adı, yıl, sızıntı listeleri) küçük ve akıllı listeler çok daha etkilidir.
- Birden çok hedef: -M dosya ile birden çok host'u aynı anda test edebilirsiniz.
6.1. Neden Çoğu Çevrimiçi Saldırı Başarısız Olur?
Yeni başlayanlar sık sık "Hydra'yı rockyou ile çalıştırdım ama hiçbir şey bulamadım" der. Bunun nedeni genellikle aracın değil, yöntemin yanlış olmasıdır. Çevrimiçi saldırıda milyonlarca parolayı denemek pratikte imkansızdır: her deneme bir ağ turu ve sunucu yanıtı gerektirir, SSH gibi protokollerde el sıkışma pahalıdır ve saniyede yalnızca birkaç deneme yapabilirsiniz. Üstelik modern sistemler fail2ban, hesap kilitleme veya oran sınırlama ile kısa sürede IP'nizi engeller. Dolayısıyla "listeyi büyüt" yaklaşımı değil, "listeyi akıllı seç" yaklaşımı kazandırır.
Profesyonel bir denetimde doğru sıralama şudur: önce keşif (hangi kullanıcı adları gerçekten var, kurumun parola politikası ne, sızıntı veritabanlarında bu kuruma ait kimlik var mı), sonra bu bağlama göre küçük ve hedefli bir liste, en sonunda düşük eşzamanlılıkla dikkatli bir deneme. Çoğu zaman tek bir zayıf veya varsayılan parola (admin/admin, root/toor, kurum adı + yıl gibi) tüm kapıyı açar; dev listeler ise yalnızca gürültü üretir ve sizi engelletir.
Bir diğer sık hata, HTTP form modülünde yanlış "başarısızlık işareti" belirlemektir. F= ile verdiğiniz metin yanıtta her zaman görünüyorsa Hydra hiçbir denemeyi başarılı saymaz; hiç görünmüyorsa her denemeyi başarılı sanır. Bu yüzden önce elle bir hatalı ve bir doğru giriş yapıp yanıtların farkını net görmek, modülü doğru kurmanın anahtarıdır.
Sonuç
Hydra, çevrimiçi parola denetiminde hızlı ve esnek bir araçtır; gücü protokol çeşitliliği ve paralelliğinde yatar. Ancak çevrimiçi saldırılar gürültülü ve tespit edilebilirdir; başarı büyük ölçüde doğru kullanıcı/parola listesi ve doğru modül yapılandırmasına bağlıdır. Her zaman yetki dahilinde, hedefi yormadan ve bulguları savunma önerilerine (MFA, anahtar tabanlı giriş, fail2ban) dönüştürerek çalışın.
Kaynakça
- THC-Hydra Resmi Deposu - https://github.com/vanhauser-thc/thc-hydra
- Kali Tools: hydra - https://www.kali.org/tools/hydra/
- man hydra (yerel man sayfası)
- SecLists - https://github.com/danielmiessler/SecLists
- OWASP: Blocking Brute Force Attacks - https://owasp.org/www-community/controls...ce_Attacks
Yasal Uyarı
Alıntı:Çevrimiçi parola denemeleri yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde yapılmalıdır. İzinsiz giriş denemeleri Türk Ceza Kanunu 243-245. maddeleri kapsamında suçtur.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).