Hydra Nedir?|Kurulum ve Kullanım|

ZiFiЯ

Uzman üye
15 Kas 2021
1,110
10
875
Teşkilat
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 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



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


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


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




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



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

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
aof6mzt.png

 
Moderatör tarafında düzenlendi:
11 Tem 2021
168
1
51
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 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



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


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


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




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



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

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
aof6mzt.png

elinize sağlık dostum :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.