HYDRA Nedir?
Hydra, kaba kuvvet( brute - force ) kullanarak parola tahmini ile deneme yanılma yöntemi uygulayarak doğru parolayı bulmamıza yarayan bir araçtır.
Hydra aracı bir liste( wordlist) ultramodern ve kaba kuvvet yani deneme yöntemiyle doğrulama sistemlerini atlatmak için beğendirir. Örneğin
SSH, Web uygulaması, FTP uygulaması, SNMP gibi belirli bir serviste manuel olarak tahminde çalışmak için hazır bir seçim listesi veya Hydra aracından faydalanılabilir ve doğru tahmin süresi hızlıdır(diğer araçlara göre)
FORM - GET , HTTP- FORM - POST, HTTP- GET , HTTP- HEAD , HTTP- POST, HTTP- vekil , HTTPS- FORM - GET , HTTPS- FORM-POST, HTTPS- GET , HTTPS- HEAD, HTTPS-POST, HTTP- Proxy, ICQ, IMAP, IRC, LDAP, MS- SQL, MYSQL, NCP, NNTP, Oracle Dinleyici, Oracle SID, Oracle, PC- Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, RTSP, SAP / R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1 v2 v3, SOCKS5, SSH( v1 ve v2), SSHKEY, Subversion, Teamspeak( TS2), Telnet, VMware-Auth, VNC ve XMPP.
Bir sistem için önce gelen protokollere Kaba kuvvet saldırısı düzenlemek için Hydra'dan faydalanabilirsiniz
Bu araç kullanımı parola listeleri içinde yer alan, sık kullanılan bir parola programı ya da 8 karakter parolanız yoksa, Hydra benzeri araçlar ile bu parolayı kırma süresi çok kısadır. Aynı zamanda “öngörülen” yani kullanılan servis ile birlikte gelen parolalar da listeler içerisinde yer aldığından aynı tehlike'yi yaratabilir.
Kurulum
Kali Linux kullanıyor iseniz , Hydra aracı zaten yüklü olarak gelir.
Eğer sisteminizde yoksa GitHub - vanhauser-thc/thc-hydra: hydra linkinden indirilebilir.
Hydra, kaba kuvvet( brute - force ) kullanarak parola tahmini ile deneme yanılma yöntemi uygulayarak doğru parolayı bulmamıza yarayan bir araçtır.
Hydra aracı bir liste( wordlist) ultramodern ve kaba kuvvet yani deneme yöntemiyle doğrulama sistemlerini atlatmak için beğendirir. Örneğin
SSH, Web uygulaması, FTP uygulaması, SNMP gibi belirli bir serviste manuel olarak tahminde çalışmak için hazır bir seçim listesi veya Hydra aracından faydalanılabilir ve doğru tahmin süresi hızlıdır(diğer araçlara göre)
FORM - GET , HTTP- FORM - POST, HTTP- GET , HTTP- HEAD , HTTP- POST, HTTP- vekil , HTTPS- FORM - GET , HTTPS- FORM-POST, HTTPS- GET , HTTPS- HEAD, HTTPS-POST, HTTP- Proxy, ICQ, IMAP, IRC, LDAP, MS- SQL, MYSQL, NCP, NNTP, Oracle Dinleyici, Oracle SID, Oracle, PC- Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, RTSP, SAP / R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1 v2 v3, SOCKS5, SSH( v1 ve v2), SSHKEY, Subversion, Teamspeak( TS2), Telnet, VMware-Auth, VNC ve XMPP.
Bir sistem için önce gelen protokollere Kaba kuvvet saldırısı düzenlemek için Hydra'dan faydalanabilirsiniz
Bu araç kullanımı parola listeleri içinde yer alan, sık kullanılan bir parola programı ya da 8 karakter parolanız yoksa, Hydra benzeri araçlar ile bu parolayı kırma süresi çok kısadır. Aynı zamanda “öngörülen” yani kullanılan servis ile birlikte gelen parolalar da listeler içerisinde yer aldığından aynı tehlike'yi yaratabilir.
Kurulum
Kali Linux kullanıyor iseniz , Hydra aracı zaten yüklü olarak gelir.
Eğer sisteminizde yoksa GitHub - vanhauser-thc/thc-hydra: hydra linkinden indirilebilir.
HYDRA NASIL KULLANILIR?
Hydra ile kullanılacak olan opsiyonlar saldırmak istediğimiz hedef/protokole göre farklılık göstermektedir.
Örnek: eğer bir FTP protokolüne karşı kaba kuvvet saldırısı düzenlemek istersek ve kullanıcı adının “kullanıcıadı” olduğunu bilir ve kullanmak istediğimiz şifre listesi de bizim sistemimizde “parola_listesi.txt” şeklinde kayıtlı ise bu durumda aşağıdaki komut kullanılır:
Kod:
hydra -l kullanıcıadı -P parola_listesi.txt ftp://SALDIRI_YAPILACAK_IP
Eğer bir SSH servisine karşı şifre tahmin saldırısını kaba kuvvet yöntemiyle gerçekleştirmek istersek bu durumda komutu aşağıdaki şekilde yazarız:
Kod:
hydra -l kullanıcıadı -P parola_listesi.txt SALDIRI_YAPILACAK_IP -t 4 ssh
Yukarıda yazdığımız komutlarda örnek olarak verdiğimiz parola_listesi.txt dosyasına giden tam dizin yolunu (path) unutmamamız gereklidir. Örnek: home/Zifir/ parola_listesi.txt vb.
Kali Linux sistemi içerisinde kelime listeleri de hazır olarak bulunabilmektedir ve bunlar genellikle /usr/share/wordlists dizini altında yer almakta ancak internet üzerinden bir çok sayıda farklı parola listesine de erişim sağlanabilmektedir.
Hydra aracının kullanım dökümanı için diğer pek çok araçlarda da olduğu gibi bir “help” dokümanı mevcut ve bu dokümana ulaşabilmek için hydra -h komutu ile erişim sağlayabiliriz(Dökümana):
![3igfbpi.png](https://i.hizliresim.com/3igfbpi.png)
Hydra aracı ile web formlarına karşı kaba kuvvet saldırısı düzenlemek için de kullanabiliriz.
Bu tür saldırıların düzenlenebilmesi içinde ne tip bir istemde (GET veya POST)bulunulduğunun bilinmesi gerekmektedir. Bu adımda, istem tipini tespit etmek için tarayıcının “Web Geliştirici” menüsünde var olan “Web Geliştirici Araçları” tıklayarak ve ya sayfa üzerinde fareye sağ tık yapıp “Erişilebilirlik Özelliklerini Denetle” seçilerek (tabi Firefox için) açılan menü de kullanılabilir:
![bf2qr2m.png](https://i.hizliresim.com/bf2qr2m.png)
Yukarıdaki resimde görüldüğü gibi Ağ sekmesi altında yöntem kısmı aradığımız bilgiyi vermekte.
Kaynak kodunu inceleyerek de kullanılan method'un ne olduğunu öğrenebiliriz
Aşağıda POST istemi kullanan bir giriş formunda kullanılabileceğimiz Hydra komut örneği görülmekte:
Kod:
hydra -l <kullanıcı_adı> -P <kelime_listesi> <IP_ADRESİ> http-post-form "/:username=^USER^&password=^PASS^:F=incorrect" -V
Yukarıdaki komutumuz da yer alan -l kullanıcı adını, -P f saldırı için kullanılacak olan şifrelerin yer aldığı kelime listesini tanımlamamız için kullanılır. http-post-form ile web form yöntemi (POST) belirtilir. :username kullanıcı adı girilen web formu alanını, password ise yine web formunda yer alan ve parola girişi yapılan alanı gösteriyor. F=incorrect ile sayfada bu kelime görülürse alınan hata olduğunun anlaşılacağı belirtilir. -V ise verbose yani çıktıyı direk ekranda detaylı gösterimini almak için yazılır
HYDRA ÖRNEK ÇÖZÜM
Örnek olarak TryHackMe’nin Hydra odasını çözümleyelim. Bu odaya aşağıdaki linkten ulaşabilirsiniz:
TryHackMe | Hydra
Odayı çözmek için verilen makinayı etkin hale getirdiğimizde saldırı düzenlenecek IP adresi tanımlanır.
Bu yaptığımız örnekte tanımlanan IP adresi: 10.10.49.122‘dir.
Tarayıcıdan IP adresini girdiğimizde/ziyaret ettiğimizde karşımıza çıkan sayfa aşağıdakidir:
![s9bljop.png](https://i.hizliresim.com/s9bljop.png)
Sorulan soru ise Şudur,“Use Hydra to bruteforce molly’s web password. What is flag 1?” şeklinde olduğundan dolayı kullanıcı adının “molly” olduğunu anlayabiliriz.
Sayfa kaynak kodunu görüntülediğimiz zaman da kullanılan method'un post olduğu görebiliriz:
![1rzvfen.png](https://i.hizliresim.com/1rzvfen.png)
Bu durumda, aşağıdaki hydra komutunu kullanarak parola tahmini için kaba kuvvet saldırısı gerçekleştirebiliriz:
Kod:
hydra -l molly -P /usr/share/wordlists/rockyou.txt <IP_ADRESİ> http-post-form "/:username=^USER^&password=^PASS^:F=incorrect" -V
Hydra aracını çalıştırdıktan sonra molly kullanıcısının parolasını görebiliriz
![slchi0o.png](https://i.hizliresim.com/slchi0o.png)
Kullanıcı adı ve parola öğrendikten sonra tarayıcıdan giriş yaptığımızda karşımıza istenen ilk flag çıkar.
Bu CTF 'deki ikinci soru ise “molly” kullanıcısına ait ssh parolasına ulaşmamız gerekir. Bunu yapmak için de aşağıdaki komutu kullanacağız:
Kod:
hydra -l molly -P rockyou.txt 10.10.49.122 -t 4 ssh
Yukarıdaki komutla ile ssh parolasını elde etmek ve daha sonra ardından ssh bağlantısını sağlayarak talep edilen 2. flag’ı alabiliriz:
![ovylcgk.png](https://i.hizliresim.com/ovylcgk.png)
SSH bağlantısı açmak için
Kod:
ssh Hedef_IP_adresi
Bağlantıyı açtıktan sonra kullanıcı adı ve şifreyi verip ssh portuna erişim sağlayabilir ve 2.flag'ı alabilirsiniz
![amin8sk.png](https://i.hizliresim.com/amin8sk.png)
![aof6mzt.png](https://i.hizliresim.com/aof6mzt.png)
Moderatör tarafında düzenlendi: