| Hydra Kurulumu ve Kullanımı | |||||||||||||||||
Merhaba arkadaşlar, bu makalede Bilgi Güvenliği alanında çalışmakta olan, mesleği sızma testleri yapma üzerine kurulu olan çalışanların envanterlerinde bulundurdukları ve iş gereği sızmayı denedikleri sistemler üzerinde kullandıkları Hydra adlı bir araçtan bahsedilecektir.
Hydra Nedir?Hydra, web uygulamalarındaki login panellerine, http basic auth (tarayıcıda popup şeklinde gelen yetkilendirme) panellerine, FTP portuna, SSH portuna, ... v.b. oturum açma noktalarına brute force (kaba kuvvet) ve dictionary (sözlük) saldırısı yapmaya yarayan bir araçtır. Oturum açma noktalarına karşı yapılan bu brute force ve dictionary türü saldırıları yapan araçlara Medusa ve Burpsuite de örnek olarak verilebilir.Pardus Linux'a Hydra KurulumuYerli (ama henüz milli olmayan) işletim sistemimiz Pardus'a hydra aracının kurulumu için kullanılan materyaller şu şekildedir:Kullanılan Materyaller
Hydra aracının kurulumunu iki türlü yapabiliriz. Birincisi; Elle kurulum metodu, İkincisi; Paket Yöneticisi ile kurulum metodu. Birinci metot ikinciye göre biraz daha külfetlidir. Zaman zaman ise gerçekten çok külfetlidir. Çünkü elle kurulum işlemi demek sizin kullanacağınız aracın kaynak kodlarını internetten sisteminize indirmeniz, sonra bu kaynak kodlarda kullanılan modülleri (dependency'lerini - bağımlılıklarını) internetten bulup indirmeniz ve yüklemeniz, sonra aracın kaynak kodlarını derleyip çalışır hale getirmeniz demektir. Buna ilaveten aracınızı sistem genelinde bir komutla çalışır hale getirme kolaylığını isterseniz ekstradan yapılandırma yapmanız demektir. İkinci seçenek olan paket yöneticisi ile kurulum metodu ise tüm bu bahsedilen adımları sizin yerinize yapan bir seçenektir. Siz sadece bir komutla kurulumu tamamlarsınız ve aracınızı kullanmaya başlayabilirsiniz. Peki neden paket yöneticisi ile kurulum bu kadar kolayken elle kurulum seçeneğinden bahsediliyor denebilir. Bunun nedeni paket yöneticisi seçeneğindeki kolaylığın (yani tüm zahmetli işleri birinin sizin yerinize yapıp paketleyerek size sunması olayının) aynı kişilerce yüzlerce / binlerce araca dakkasında yapılıp size sunulacağı anlamına gelmemesinden dolayıdır. Yani kullanmak istediğiniz aracın belki de yeni bir sürümü çıkmıştır, fakat siz paket yöneticisine baktığınızda o aracın halen eski sürümde kaldığını görebilirsiniz. Daha da kötüsü kullanmak istediğiniz aracın paket yöneticisine hiç ama hiç koyulmadığını da görebilirsiniz. Çünkü belki paketleri siz kolay kurun diye hazırlayan kişiler kapsam olarak belirledikleri araçlar içerisinde sizin kullanmak istediğiniz aracı dahil etmemiş olabilirler. Bu durumda ya paket yöneticisine paketleri koyan şahısların (sistemcilerin / geliştiricilerin) umduğunuz paketi koymasını bekleyeceksiniz ki bu sürenin bir garantisi yoktur ya da elle internetten aracın en güncel sürümünü indirip, bağımlılıklarını tespit edip sisteminize kurup, sonra kodları derleyerek kullanabilmeyi tercih edeceksiniz. Dolayısıyla elle (manuel) kurulum ile istediğiniz zaman bir yazılımın en güncel sürümüne erişebilirsiniz veya paket yöneticisine hiç konulmamış bir aracı istediğiniz zaman kullanabilir hale gelebilirsiniz. Elle kurulum seçeneğini tamamen dışlayacak olursanız bu durumda bir aracın güncel halini veya daha önce hiç paket yöneticisine koyulmamış bir aracı, kullanıyor olduğunuz linux dağıtımının yeni sürümü gelene kadar beklemek mecburiyetinde kalabilirsiniz. a. Elle (Manuel) Kurulum Önce hydra'nın en güncel sürümü (şu an v8.9.1) resmi github hesabından indirilir. Pardus Terminal: # Pardus home dizinine gidilir. cd ~ # Root kullanıcı haklarına geçilir. sudo su # Hydra v8.9.1 aracı indirilir. wget https://github.com/vanhauser-thc/thc-hydra/archive/master.zip # Dosyanın dizine inip inmediği teyit edilir. ls Çıktı:
Ardından master.zip ismiyle inen hydra zip dosyası açılır. Pardus Terminal: # zip açmaya yarayan unzip tool'u (aracı) kurulur. apt-get install unzip # Hydra'nın zip dosyası açılır. unzip master.zip # Zip dosyasının açılmış halinin dizine yerleşip yerleşmediği teyit edilir. ls Çıktı:
Daha sonra hydra klasörüne girilir ve kuruluma başlanır. Pardus Terminal: # Hydra klasörüne girilir. cd thc-hydra-master # Hydra aracının yararlandığı kütüphaneler, modüller # (yani bağımlı olduğu paketler - dependency'ler) yüklenir. apt-get install libssl1.0-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev default-libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncurses5-dev # Hydra aracı kurulur. ./configure make make install # Hydra aracı test edilir. ./hydra Çıktı:
b. Paket Yöneticisi (apt) ile Kurulum Hydra'yı paket yöneticisi aracı apt ( (a)dvanced (p)ackage (t)ool ) ile kurmak için aşağıdaki komut girilir: Pardus Terminal: # Kurulum sudo apt install hydra # Sorulan soruya [E]vet denir ve [ENTER] lanır. # Test hydra Çıktı:
Böylece hydra kullanıma hazır durumdadır. Hydra Kullanım ÖrnekleriHydra aracı kullanım dizilimi (syntax'ı) şu şekildedir:./hydra parametre arguman parametre arguman ... Şimdi hydra ile web login ekranına, http basic auth login ekranına, ftp login noktasına ve ssh login noktasına sözlük saldırısı ve kaba kuvvet saldırısı yapılma şeklini gösterelim. a. Hydra ile Web Uygulaması Login Ekranlarına Saldırı
i) Dictionary Attack (Sözlük Saldırısı)
sudo su hydra -l admin -P olasiSifreler.txt -V -f www.site-url.com http-post-form "/loginEkraninaGoturenBirDizinYolu/giris.php:userName=^USER^&userPassword=^PASS^&tryNo=1&online=1:invalid"
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-p: şifre
-P: şifre listesi (.txt dosyası)
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
http-post-form : <form action="..." değerini (linkini) alır. Ardından
iki nokta üst üste gelir ve login panelinde post edilen
tüm değişkenler ve değerler sırayla eklenir. Kullanıcı
adı ve şifre değişkenleri ise ^USER^ ve ^PASS^ değerleri
ni alacak şekilde yerleştirilir. Son olarak yine iki nokta
üst üste gelir ve kullanıcı adı & şifre yanlış girildiğinde
gelen "Yanlış Şifre Girdiniz" tarzı uyarı mesajındaki sözcük
lerden bir veya birkaçı konur.
ii) Brute Force Attack (Kaba Kuvvet Saldırısı)
sudo su hydra -l admin -x 1:5:a -V -f www.site-url.com http-post-form "/loginEkraninaGoturenBirDizinYolu/giris.php:userName=^USER^&userPassword=^PASS^&tryNo=1&online=1:invalid"
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-x: Brute force parametresi (Syntax: MIN:MAX:CHARSET)
1:5:a: MIN:MAX:CHARSET // a demek sadece küçük harfli alfabedeki
// harflerin tamamı demektir
// A demek sadece büyük harfli alfabedeki
// harflerin tamamı demektir
// 1 demek sadece sayı demektir.
// a1 demek hem küçük harfli alfabedeki
// harfler hem de sayılar demektir.
// A1 demek hem büyük harfli alfabedeki
// harfler hem de sayılar demektir.
// a1+. demek hem küçük harfli alfabedeki
// harfler hem sayılar hem + karakteri hem
// de . (nokta) karakteri demektir.
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
http-post-form : <form action="..." değerini (linkini) alır. Ardından
iki nokta üst üste gelir ve login panelinde post edilen
tüm değişkenler ve değerler sırayla eklenir. Kullanıcı
adı ve şifre değişkenleri ise ^USER^ ve ^PASS^ değerleri
ni alacak şekilde yerleştirilir. Son olarak yine iki nokta
üst üste gelir ve kullanıcı adı & şifre yanlış girildiğinde
gelen "Yanlış Şifre Girdiniz" tarzı uyarı mesajındaki sözcük
lerden bir veya birkaçı konur.
b. Hydra ile Http Basic Authentication Login Ekranlarına Saldırı
i) Dictionary Attack (Sözlük Saldırısı)
sudo su hydra -l admin -P olasiSifreler.txt -V -f www.site-url.com http-get /httpBasicAuthLoginPanelDizinYolu
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-p: şifre
-P: şifre listesi (.txt dosyası)
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
ii) Brute Force Attack (Kaba Kuvvet Saldırısı)
sudo su hydra -l admin -P olasiSifreler.txt -V -f www.site-url.com http-get /httpBasicAuthLoginPanelDizinYolu
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-x: Brute force parametresi (Syntax: MIN:MAX:CHARSET)
1:5:a: MIN:MAX:CHARSET // a demek sadece küçük harfli alfabedeki
// harflerin tamamı demektir
// A demek sadece büyük harfli alfabedeki
// harflerin tamamı demektir
// 1 demek sadece sayı demektir.
// a1 demek hem küçük harfli alfabedeki
// harfler hem de sayılar demektir.
// A1 demek hem büyük harfli alfabedeki
// harfler hem de sayılar demektir.
// a1+. demek hem küçük harfli alfabedeki
// harfler hem sayılar hem + karakteri hem
// de . (nokta) karakteri demektir.
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
c. Hydra ile FTP Login Noktalarına Saldırı
i) Dictionary Attack (Sözlük Saldırısı)
sudo su hydra -l admin -P olasiSifreler.txt -V -f ftp://127.0.0.1:21
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-p: şifre
-P: şifre listesi (.txt dosyası)
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
ii) Brute Force Attack (Kaba Kuvvet Saldırısı)
sudo su hydra -l admin -x 1:5:a -V -f ftp://127.0.0.1:21
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-x: Brute force parametresi (Syntax: MIN:MAX:CHARSET)
1:5:a: MIN:MAX:CHARSET // a demek sadece küçük harfli alfabedeki
// harflerin tamamı demektir
// A demek sadece büyük harfli alfabedeki
// harflerin tamamı demektir
// 1 demek sadece sayı demektir.
// a1 demek hem küçük harfli alfabedeki
// harfler hem de sayılar demektir.
// A1 demek hem büyük harfli alfabedeki
// harfler hem de sayılar demektir.
// a1+. demek hem küçük harfli alfabedeki
// harfler hem sayılar hem + karakteri hem
// de . (nokta) karakteri demektir.
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
d. Hydra ile SSH Login Noktalarına Saldırı
i) Dictionary Attack (Sözlük Saldırısı)
sudo su hydra -l admin -P olasiSifreler.txt -V -f ssh://127.0.0.1:22
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-p: şifre
-P: şifre listesi (.txt dosyası)
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
ii) Brute Force Attack (Kaba Kuvvet Saldırısı)
sudo su hydra -l admin -x 1:5:a -V -f ssh://127.0.0.1:22
-l: kullanıcı adı
-L: kullanıcı adları listesi (.txt dosyası)
-x: Brute force parametresi (Syntax: MIN:MAX:CHARSET)
1:5:a: MIN:MAX:CHARSET // a demek sadece küçük harfli alfabedeki
// harflerin tamamı demektir
// A demek sadece büyük harfli alfabedeki
// harflerin tamamı demektir
// 1 demek sadece sayı demektir.
// a1 demek hem küçük harfli alfabedeki
// harfler hem de sayılar demektir.
// A1 demek hem büyük harfli alfabedeki
// harfler hem de sayılar demektir.
// a1+. demek hem küçük harfli alfabedeki
// harfler hem sayılar hem + karakteri hem
// de . (nokta) karakteri demektir.
-V: Kullanıcı adı & Şifre denemelerini göster parametresi.
-V harfi verbose'dan gelir ve bol bol çıktılama yap an
lamına gelir.
-f: İlk kullanıcı adı / şifre çiftini tespit ettiğinde dur
parametresi. -f harfi first'ten gelir ve birden fazla
kullanıcı hesap elde etme saldırısı yerine bulduğun an
denemeleri durdur ve direk bulduğunu bana göster amacı
için kullanılır.
EK: Demo Video #1 - Hydra ile Http Basic Brute Force & Dictionary Attacks EK: Materyaller #1 EK: Demo Video #2 - Hydra ile HTTP GET Dictionary Attack EK: Materyaller #2 Yararlanılan Kaynaklar
|
|||||||||||||||||
Bu yazı 16.03.2026 tarihinde, saat 06:48:16'de yazılmıştır.
16.03.2026 tarihi ve 08:45:12 saatinde ise güncellenmiştir. |
|||||||||||||||||
|
|||||||||||||||||
| Yorumlar |
|||||||||||||||||
| Henüz yorum girilmemiştir. | |||||||||||||||||
| Yorum Ekle | |||||||||||||||||
Bu yazı 16.03.2026 tarihinde, saat 06:48:16'de yazılmıştır.
16.03.2026 tarihi ve 08:45:12 saatinde ise güncellenmiştir.