Ang isang password ay teknikal na tinukoy bilang lihim na string ng mga character na ginamit upang patunayan o makakuha ng pag-access sa mga mapagkukunan. Dapat itong itago sa lihim at itago mula sa iba na hindi pinapayagan na mag-access sa mga mapagkukunang iyon. Ang mga password ay ginamit sa mga computer mula pa noong pinakamaagang araw ng pag-compute. Ang isa sa mga unang pagkakataong magbahagi ng mga system, ay ipinakilala noong 1961. Mayroon itong isang utos sa pag-login na humiling ng isang password ng gumagamit. Matapos i-type ang PASSWORD, patayin ng system ang mekanismo ng pag-print, kung maaari, upang ang gumagamit ay maaaring mag-type sa kanyang password nang may privacy.
Ang lakas ng isang password ay isang pagpapaandar ng haba, pagiging kumplikado, at hindi mahuhulaan. Sinusukat nito ang pagiging epektibo sa paglaban sa paghula o pagbasag dito. Ang mga mahihinang password, sa kabilang banda, nagpapapaikli ng oras na kinakailangan upang hulaan at makakuha ng pag-access sa mga personal / corporate e-mail, sensitibong data tulad ng impormasyong pampinansyal, impormasyon sa negosyo, mga credit card, atbp.
Maraming mga paraan ang isang password ay maaaring maging mahina naaayon sa lakas lakas ng iba't ibang mga scheme ng pag-atake. Ang pinakatanyag sa ganitong uri ng pag-atake ng kredensyal ay, malupit na puwersa. ito ay isang pamamaraan ng pagsubok at error tulad ng paghula, pagtatangka na i-decode ang naka-encrypt na data tulad ng password o pag-encrypt ng data na ginamit ng programa ng application o tool sa pag-hack.
Ang Hydra ay ang pinakamabilis na network logon cracker na sumusuporta sa maraming mga protokol ng pag-atake. Napakabilis at nababaluktot, at madaling idagdag ang mga bagong module. Ginagawang posible ng tool na ito para sa mga mananaliksik at consultant sa seguridad na ipakita kung gaano kadali na makakuha ng hindi awtorisadong pag-access sa isang system nang malayuan. Ang Hydra ay isinulat ni van Hauser at bukod dito ay suportado ni David Maciejak. Sa pinakabagong pag-update ng hydra ay inilipat sa pampublikong imbakan ng github sa: https://github.com/vanhauser-thc/thc-hydra.
Sinubukan ang Hydra na mag-ipon sa Linux, Windows / Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX / Blackberry, at ginawang magagamit sa ilalim ng GPLv3 na may isang espesyal na pagpapalawak ng lisensyang OpenSSL.
Sinusuportahan ng THC Hydra ang mga protokol na ito: Ang Cisco AAA, Cisco auth, paganahin ang Cisco, 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-Kahit saan, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 at v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC at XMPP.
Kumpara sa HYDRA SA IBA PANG CRACKING TOOLS
Mayroon ding maraming mga tool sa pag-login cracker sa tabi ng hydra, subalit walang sumusuporta sa isang malaking listahan ng mga protocol at parallelized login cracker na suporta tulad ng ginagawa ng hydra. Ipinapakita ng mga talahanayan sa ibaba ang resulta ng mga tampok, serbisyo at paghahambing ng bilis laban sa medusa at ncrack.
Mga Tampok
Tampok | Hydra | dikya | Ncrack |
Lisensya | AGPLv3 | GPLv2 | Mga term ng GPLv2 + Nmap |
Suporta ng IPv6 | Oo | Hindi | Hindi |
Graphic User Interface | Oo | Oo | Hindi |
Internasyonal na suporta (RFC 4013) | Oo | Hindi | Hindi |
Suporta ng HTTP proxy | Oo | Oo | Hindi |
Suporta ng proxy ng SOCKS | Oo | Hindi | Hindi |
Mga sinusuportahang protokol | 51 | 22 | 7 |
Mga serbisyo
Serbisyo | Mga Detalye | Hydra | dikya | Ncrack |
ADAM-6500 | Oo | Hindi | Hindi | |
Ang AFP | Oo | Oo | Hindi | |
Asterisk | Oo | Hindi | Hindi | |
Password ng Cisco | Oo | Hindi | Hindi | |
Paganahin ang Cisco | Oo | Hindi | Hindi | |
CVS | Oo | Oo | Hindi | |
Firebird | Oo | Hindi | Hindi | |
FTP | Oo | Oo | Oo | |
Suporta ng SSL | AUTH TLS & FTP sa paglipas ng SSL | AUTH TLS & FTP sa paglipas ng SSL | Hindi | |
HTTP | Paraan) | GET, HEAD, POST | GET | GET |
Pangunahing Auth | Oo | Oo | Oo | |
HTTP Form | Paraan) | GET, POST | GET, POST | Hindi |
Suporta ng SSL | HTTPS | HTTPS | Hindi | |
HTTP Proxy | Pangunahing Auth | Oo | Hindi | Hindi |
DIGEST-MD5 Auth | Oo | Hindi | Hindi | |
NTLM Auth | Oo | Hindi | Hindi | |
Suporta ng SSL | HTTPS | Hindi | Hindi | |
HTTP PROXY URL Enumeration | Oo | Hindi | Hindi | |
ICQ | v5 | Oo 1 | Hindi | Hindi |
IMAP | Suporta sa LOGIN | Oo | Oo | Hindi |
Suporta sa AUTH LOGIN | Oo | Hindi | Hindi | |
Suporta ng AUTH PLAIN | Oo | Oo | Hindi | |
Suporta ng AUTH CRAM-MD5 | Oo | Hindi | Hindi | |
Suporta ng AUTH CRAM-SHA1 | Oo | Hindi | Hindi | |
Suporta ng AUTH CRAM-SHA256 | Oo | Hindi | Hindi | |
Suporta ng AUTH DIGEST-MD5 | Oo | Hindi | Hindi | |
Suporta ng AUTH NTLM | Oo | Oo | Hindi | |
Suporta ng AUTH SCRAM-SHA1 | Oo | Hindi | Hindi | |
Suporta ng SSL | Mga IMAP at SIMULA | Mga IMAP at SIMULA | Hindi | |
IRC | Pangkalahatang password ng server | Oo | Hindi | Hindi |
OPER mode password | Oo | Hindi | Hindi | |
LDAP | v2, Simpleng suporta | Oo | Hindi | Hindi |
v3, Simpleng suporta | Oo | Hindi | Hindi | |
v3, suporta ng AUTH CRAM-MD5 | Oo | Hindi | Hindi | |
Suporta ng AUTH DIGEST-MD5 | Oo | |||
Suporta ng AUTH NTLM | Oo | Oo | ||
Suporta ng AUTH SCRAM-SHA1 | Oo | |||
Suporta ng SSL | Mga IMAP at SIMULA | Mga IMAP at SIMULA | ||
IRC | Pangkalahatang password ng server | Oo | ||
OPER mode password | Oo | |||
LDAP | v2, Simpleng suporta | Oo | ||
v3, Simpleng suporta | Oo | |||
v3, suporta ng AUTH CRAM-MD5 | Oo | |||
v3, suporta ng AUTH DIGEST-MD5 | Oo | |||
MS-SQL | Oo | Oo | ||
MySQL | v3.x | Oo | Oo | |
v4.x | Oo | Oo | ||
v5.x | Oo | Oo | ||
NCP | Oo | Oo | ||
NNTP | Suporta ng USER | Oo | Oo | |
Suporta sa AUTH LOGIN | Oo | |||
Suporta ng AUTH PLAIN | Oo | |||
Suporta ng AUTH CRAM-MD5 | Oo | |||
Suporta ng AUTH DIGEST-MD5 | Oo | |||
Suporta ng AUTH NTLM | Oo | |||
Suporta ng SSL | StarttLS & NNTP sa paglipas ng SSL | |||
Oracle | Database | Oo | Oo | |
Nakikinig sa TNS | Oo | |||
SID Enumerasyon | Oo | |||
PC-NFS | Oo | |||
saanman | Katutubong Pagpapatotoo | Oo | Oo | |
OS Base Authentication (MS) | Oo | |||
POP3 | Suporta ng USER | Oo | Oo | Oo |
Suporta ng APOP | Oo | |||
Suporta sa AUTH LOGIN | Oo | Oo | ||
Suporta ng AUTH PLAIN | Oo | Oo | ||
Suporta ng AUTH CRAM-MD5 | Oo | |||
Suporta ng AUTH CRAM-SHA1 | Oo | |||
Suporta ng AUTH CRAM-SHA256 | Oo | |||
Suporta ng AUTH DIGEST-MD5 | Oo | |||
Suporta ng AUTH NTLM | Oo | Oo | ||
Suporta ng SSL | POP3S & StarttLS | POP3S & StarttLS | POP3S | |
PostgreSQL | Oo | Oo | ||
Asterisk | Oo | |||
RDP | Windows Workstation | Oo | Oo | Oo |
Windows Server | Oo | Oo | ||
Domain Auth | Oo | Oo | ||
REDIS | Oo | Hindi | ||
REXEC | Oo | Oo | ||
RLOGIN | Oo | Oo | ||
RPCAP | Oo | Hindi | ||
Ang RSH | Oo | Oo | ||
RTSP | Oo | Hindi | ||
SAP R / 3 | Oo | |||
Siemens S7-300 | Oo | |||
SIP | Oo | |||
Suporta ng SSL | SIP sa paglipas ng SSL | |||
SMB | NetBIOS Mode | Oo | Oo | Hindi |
W2K Native Mode | Oo | Oo | Oo | |
Hash mode | Oo | Oo | Hindi | |
I-clear ang Text Auth | Oo | Oo | ||
LMv1 Auth | Oo | Oo | Oo | |
LMv2 Auth | Oo | Oo | Oo | |
NTLMv1 Auth | Oo | Oo | Oo | |
NTLMv2 Auth | Oo | Oo | Oo | |
SMTP | Suporta sa AUTH LOGIN | Oo | Oo | |
Suporta ng AUTH PLAIN | Oo | Oo | ||
Suporta ng AUTH CRAM-MD5 | Oo | |||
Suporta ng AUTH DIGEST-MD5 | Oo | |||
Suporta ng AUTH NTLM | Oo | Oo | ||
Suporta ng SSL | SMTPS & StarttLS | SMTPS & StarttLS | ||
SMTP Gumagamit Enum | VRFY cmd | Oo | Oo | |
EXPN cmd | Oo | Oo | ||
RCPT TO cmd | Oo | Oo | ||
SNMP | v1 | Oo | Oo | |
v2c | Oo | Oo | ||
v3 | (MD5 / SHA1 auth lamang) | |||
SOCKS | v5, Password Auth | Oo | ||
SSH | v1 | Oo | ||
v2 | Oo | Oo | Oo | |
SSH Keys | v1, v2 | Oo | ||
Pagkabagsak (SVN) | Oo | Oo | ||
TeamSpeak | TS2 | Oo | ||
Telnet | Oo | Oo | Oo | |
XMPP | Suporta sa AUTH LOGIN | Oo | ||
Suporta ng AUTH PLAIN | Oo | |||
Suporta ng AUTH CRAM-MD5 | Oo | |||
Suporta ng AUTH DIGEST-MD5 | Oo | |||
Suporta ng AUTH SCRAM-SHA1 | Oo | |||
VMware Auth Daemon | v1.00 / v1.10 | Oo | Oo | |
Suporta ng SSL | Oo | Oo | ||
VNC | RFB 3.x suporta sa password | Oo | Oo | |
RFB 3.x user + suporta sa password | (UltraVNC lang) | |||
RFB 4.x suporta sa password | Oo | Oo | ||
RFB 4.x gumagamit + suporta sa password | (UltraVNC lang) |
Paghahambing sa Bilis
Bilis (sa mga) | Hydra | dikya | Ncrack |
1 module ng Gawain / FTP | 11.93 | 12.97 | 18.01 |
4 na Mga Gawain / module ng FTP | 4.20 | 5.24 | 9.01 |
16 module ng Mga Gawain / FTP | 2.44 | 2.71 | 12.01 |
1 module ng Gawain / SSH v2 | 32.56 | 33.84 | 45.02 |
4 na module ng Mga Gawain / SSH v2 | 10.95 | Nasira | Napalampas |
16 module ng Mga Gawain / SSH v2 | 5.14 | Nasira | Napalampas |
Iyon ay isang maikling simpleng pagpapakilala sa hydra. Hinahayaan na ngayong lumipat sa pag-install.
INSTALLING HYDRA
Ang Hydra ay paunang naka-install sa kali linux, subalit kung mayroon kang ibang operating system maaari mo itong maiipon at mai-install sa iyong system. Sa kasalukuyan, ang suporta ni hydra sa iba't ibang mga platform:
- Lahat ng mga UNIX platform (Linux, * bsd, Solaris, atbp.)
- MacOS (karaniwang isang clone ng BSD)
- Windows na may Cygwin (parehong IPv4 at IPv6)
- Mga mobile system batay sa Linux, MacOS o QNX (hal. Android, iPhone, Blackberry 10, Zaurus, iPaq)
Upang mag-download, mag-configure, magtipon at mag-install ng hydra, i-type lamang sa terminal:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Kung mayroon kang Ubuntu / Debian kakailanganin mo ng ilang mga aklatan ng dependency:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Kung hindi mo makita ang mga aklatan na iyon sa iyong lalagyan, kailangan mong i-download at i-install ang mga ito nang manu-mano.
PAANO GAMITIN ANG HYDRA
Binabati kita, ngayon ay nagtagumpay kang mag-install ng hydra sa iyong system. Sa totoo lang, ang Hydra ay may kasamang dalawang lasa, GUI-gtk at ang aking paboritong, bersyon ng CLI. at bilang karagdagan ang Hydra ay mayroon ding gabay na bersyon ng CLI, tinatawag itong hydra-wizard. Gagabayan ka ng hakbang-hakbang sa halip na mag-type ng lahat ng mga utos o argumento nang manu-mano sa terminal. Upang magpatakbo ng hydra, mula sa iyong uri ng terminal:
Para sa CLI:
hydra
Para sa CLI-wizard:
hydra-wizard
Para sa GUI:
xhydra
Pagkatapos mong mai-type ang 'hydra' magpapakita ito ng mga tulong na tulad nito:
[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
Pag-login sa Bruteforce batay sa web gamit ang hydra
Sinusuportahan ng Hydra ang ilang serbisyo ng bruteforcing tulad ng nabanggit ko kanina, ang isa sa kanila ay ginagamit upang mag-bruteforce ng mga naka-login na web based tulad ng, form ng pag-login sa social media, form ng pag-login ng banking ng gumagamit, pag-login batay sa web ng iyong router, atbp. Iyon ang http [s] -get-form na hahawak sa kahilingang ito. Sa tutorial na ito ipapakita ko sa iyo kung paano mag-bruteforce ng mga mahina na pag-log sa web. Bago namin sunugin ang hydra dapat nating malaman ang ilang mga kinakailangang argumento tulad sa ibaba:
- Target : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Login username : admin (kung hindi ka sigurado, bruteforce this)
- Listahan ng password : Ang lokasyon ng listahan ng file ng diksyunaryo na naglalaman ng mga posibleng password.
- Mga parameter ng form : para sa pangkalahatan, gumamit ng tamper data o proxy upang makakuha ng form ng mga parameter ng paghiling. Ngunit dito gumagamit ako ng iceweasel, batay sa firefox, toolbar ng developer ng network.
- Modyul ng serbisyo : 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.
Pagkuha ng mga parameter ng post gamit ang browser, iceweasel / firefox
Sa iyong firefox browser pindutin ang mga pindutan na ' CTRL + SHIFT + Q ‘. Pagkatapos buksan ang web login pagehttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, mapapansin mo ang ilang teksto na lilitaw sa tab ng developer ng network. Sinasabi nito sa iyo kung anong mga file ang inililipat sa amin. Tingnan ang pamamaraan lahat ay GET, dahil wala pa kaming POST anumang data.
Upang makuha ang mga parameter ng post-form, i-type ang anuman sa username at o form sa password. Mapapansin mo ang isang bagong pamamaraan ng POST sa tab ng developer ng network. Mag-double click sa linyang iyon, sa tab ng Mga Header i-click ang I-edit at Ipadala muli ang pindutan sa kanang bahagi. Sa Kahilingan sa Katawang kopyahin ang huling linya, tulad ng tfUName = asu & tfUPass = raimu . ang tfUName at tfUPass ay mga parameter na kailangan namin. Tulad ng nakikita sa ibaba:
Ang Kali linux ay may bungkos ng mga wordlist, piliin ang naaangkop na listahan ng mga salita o gamitin lamang ang lugar ng rockyou.txt sa / usr / share / wordlists / tulad ng nakikita sa ibaba:
Okay, ngayon nakuha namin ang lahat ng mga argumento na kailangan namin at handa nang sunugin ang Hydra. Narito ang pattern ng utos:
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
Tanggalin natin ang mga utos:
- ang : ay isang salita na naglalaman ng username account, gamitin ang -L upang mag-refer ng listahan ng posibleng pangalan ng gumagamit sa isang file.
- P : ay isang listahan ng file ng posibleng password, gumamit ng -p upang literal na gumamit ng isang salitang password sa halip na hulaan ito.
- testapp.vunlwebapp.com : ay isang hostname o target
- http-post-form : ay ang module ng serbisyo na ginagamit namin
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName= telefoni = ang 3 mga parameter na kinakailangan, ang syntax ay:
{pahina URL}: {Humiling ng mga parameter ng form ng katawan ng post}: S = {Maghanap ng anuman sa pahina pagkatapos ng matagumpay na pag-log in} - v = Verbose mode
- V = ipakita ang pag-login: pumasa para sa bawat pagtatangka
- f = Tapusin ang programa kung mag-login ang pares: nahanap ang password
Hayaan ngayon na subukan ng hydra na sirain ang password para sa amin, kailangan nito ng oras dahil atake ito sa diksyonaryo. Kapag napagtagumpayan mo ang paghahanap ng isang pares ng pag-login: agad na wakasan ng password ang Hydra sa trabaho at ipapakita ang wastong kredensyal.
Mayroong napakaraming magagawa sa hydra, dahil sa tutorial na ito natutunan lamang namin kung paano mag-bruteforce ng web based logon gamit ang hydra, natutunan lamang namin ang isang protocol, iyon ay http-post-form na protokol. Maaari din kaming gumamit ng hydra laban sa isa pang protokolong tulad ng ssh, ftp, telnet, VNC, proxy, atbp.