九头蛇(Hydra)安装与使用

九头蛇(Hydra)安装与使用

  • 一、Hydra介绍
  • 二、Hydra安装
    • (一)Window环境
    • (二)Linux(Centos)环境
    • (三)其他
  • 三、Hydra的使用
    • (一)mysql
    • (二)ssh
    • (三)ftp
    • (四)rdb
    • (五)redis
  • 参考

一、Hydra介绍

几乎任何的密码安全研究都显示,最大的安全漏洞之一是弱口令。

为了让研究者和安全顾问们能向人们展示从远程计算机未授权获取一个系统的访问权限是多么的容易,Hydra由此诞生。

郑重声明,这个工具只是为了合法目的!

目前已经有了很多登录破解的工具,但是没有一个能像Hydra这样支持多协议攻击,并且支持并行连接。

它已经在Linux, Windows/Cygwin, Solaris, FreeBSD/OpenBSD, QNX (Blackberry 10) 和 MacOS系统上进行了完善的编译测试。
可支持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等类型密码。

这款暴力密码破解工具相当强大,支持几乎所有协议的在线密码破解,其密码能否被破解关键在于字典是否足够强大。对于社会工程型渗透来说,有时能够得到事半功倍的效果。

二、Hydra安装

(一)Window环境

hydra-8.1-windows.zip解压后使用,通过cmd进入命令行,使用hydra -h查看是否安装成功

(二)Linux(Centos)环境

hydra-7.1-src.tar.gz,在Linux下依次执行以下命令

# yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel
# tar -zxvf hydra-7.1-src.tar.gz
# cd hydra-7.1-src
# ./configure
# make
# make install

使用hydra -h查看是否安装成功
注意:发现7.1版本的不支持redis

(三)其他

如果是Ubuntu/Debian系统,执行如下:
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird2.1-dev libncp-dev libncurses5-dev hydra

Debian和Ubuntu发行版,源里自带hydra,直接用apt-get在线安装。
如果是Redhat/Fedora系统,执行如下:
yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel

如果是OpenSuSE系统,安装如下:
zypper install libopenssl-devel pcre-devel libidn-devel ncpfs-devel libssh-devel postgresql-devel subversion-devel libncurses-devel

三、Hydra的使用

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 可选项

(一)mysql

hydra -L username.txt -P password.txt -v mysql://localhost:3306

问题1:在测试mysql时,发现mysql会有最大连接错误数,当超过这个数值,则拒接该ip连接数据库

解决方案:
1、在线修改提高允许的max_connection_errors数量:

A. 登录Mysql数据库查看max_connection_errors:
  mysql>show variables like ‘%max_connect_errors%’;
B.修改max_connection_errors的数量为1000:
  mysql>set global max_connect_errors = 1000;
C. 查看是否修改成功:
mysql>show variables like ‘%max_connect_errors%’;

2、mysql>flush hosts;

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。max_connect_errors的值与性能并无太大关系。

当此值设置为10时,意味着如果某一客户端尝试连接此MySQL服务器,但是失败(如密码错误等等)10次,则MySQL会无条件强制阻止此客户端连接。如果希望重置此计数器的值,则必须重启MySQL服务器或者执行 mysql> flush hosts; 命令。当这一客户端成功连接一次MySQL服务器后,针对此客户端的max_connect_errors会清零。

如果max_connect_errors的设置过小,则网页可能提示无法连接数据库服务器;而通过SSH的mysql命令连接数据库,则会返回 ERROR 1129 (00000): Host ‘gateway’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’ 错误。
功能与作用。

问题2:Window下部分机器拒绝外部机器连接
九头蛇(Hydra)安装与使用_第1张图片
解决方案参考:https://blog.csdn.net/u013310119/article/details/88909031

问题3:测试过程中多次连接失败导致远端库封锁ip,强制拒绝连接

(二)ssh

hydra -l root -P password.txt -t 1 -v -e ns ssh://10.0.5.93

(三)ftp

hydra -l root -P password.txt -t 1 -v -e ns ftp://10.0.5.93

(四)rdb

hydra -l root -P password.txt -t 1 -v -e ns rdb://10.0.5.92

(五)redis

有的服务并没有账号,只需要输入密码,例如Redis,那么指令中就不需要账号文件,指令就这么写:

hydra -P password.txt redis://10.0.5.92

注意: 在使用过程中如果不加端口,则破解时使用软件的默认端口。

参考

linux下安装使用hydra暴力破解工具
https://blog.csdn.net/yjk13703623757/article/details/53216501/
https://blog.csdn.net/nos84848235/article/details/51094654

密码破解工具hydra官方入门教程
https://blog.csdn.net/HoloLens/article/details/80802892

暴力破解工具 Hydra (九头蛇) windows最新版下载和使用
https://www.jianshu.com/p/e02ef0a00786

你可能感兴趣的:(学习,hydra)