Hydra(海德拉)工具使用从0到1,爆破服务器密码,2024最新版
Hydra简介
Hydra
又叫九头蛇,是一款由著名的黑客组织THC开发的开源
暴力破解工具,支持大部分协议的在线密码破解,是网络安全·渗透测试
必备的一款工具,目前支持的协议包括
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 and XMPP。
在kali系统中自带有hydra九头蛇工具
开源地址(下载):https://github.com/vanhauser-thc/thc-hydra
常用参数列表
选项 | 描述 |
-R | 恢复先前终止/崩溃的会话 |
-I | 忽略现有的还原文件(不要等待10秒) |
-S | 执行SSL连接 |
-s PORT | 如果服务在不同的默认端口上,则在这里定义它 |
-l LOGIN or -L FILE | 使用指定登录名登录,或者使用文件加载多个登录名 |
-p PASS or -P FILE | 使用指定密码登录,或者使用文件加载多个密码 |
-x MIN:MAX:CHARSET | 密码暴力生成, 使用’-x -h‘获取帮助 |
-y | 暴力破解时忽略符号,见上文 |
-e nsr | 可选选项,n:空密码试探,s:使用指定用户和密码试探,或“r”反向登录 |
-u | 循环用户,而不是密码(有效!用-x表示) |
-C FILE | 使用冒号分割格式,例如“登录名:密码”来代替 -L/-P 参数 |
-M FILE | 要攻击的服务器列表,每行一个条目,':'指定端口 |
-o FILE | 将找到的登录名/密码对写入FILE而不是输出 |
-b FORMAT | 指定-o文件的格式:text(默认),json, jsonv1 |
-f / -F | 当找到login/pass对时退出(-M: -f per host, -f global) |
-t TASKS | 同时运行的线程数,默认为16 |
-T TASKS | run TASKS connects in parallel overall (for -M, default: 64) |
-w / -W TIME | 设置最大超时的时间,单位秒,默认是30s |
-c TIME | 所有线程上每次登录尝试的等待时间(强制执行-t 1) |
-4 / -6 | 使用IPv4(默认)/ IPv6地址(将always放在[]中,也放在-M中) |
-v / -V / -d | 详细模式/每次尝试显示登录+通过/调试模式 |
-O | 使用旧的SSL v2和v3 |
-K | 不重做失败的尝试(适用于-M批量扫描) |
-q | 不打印有关连接错误的消息 |
-U | 服务模块使用详情 |
-m OPT | 选项特定于模块,请参见-U output获取信息 |
-h | 更多命令行选项(帮助) |
server | 目标:DNS、IP或192.168.0.0/24(这个或-M选项) |
service | 指定服务名,支持的服务和协议 |
OPT | 一些服务模块支持额外输入(-U表示模块帮助) |
在hydra的帮助命令中官方我们提供了一些示例如下
hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh
这些命令基本用法用起来大体上很类似,我们以第一个命令为例,大体上可以分成三部分,即用户名
,密码
,和协议
kali自带密码字典
在kail中是自带字典的,可以通过/usr/share/wordlists/dirb路径进行查看,当然都是txt文件,也可以自己向里面添加。
包含各种类型的字典,用于密码爆破、漏洞扫描等,他们的常用用途如下
big.txt #大的字典 small.txt #小的字典 catala.txt #项目配置字典 common.txt #公共字典 euskera.txt #数据目录字典 extensions_common.txt #常用文件扩展名字典 indexes.txt #首页字典 mutations_common.txt #备份扩展名 spanish.txt #方法名或库目录 others #扩展目录,默认用户名等 stress #压力测试 vulns #漏洞测试
Hydra密码生成器
参数 | 介绍 |
-x MIN:MAX:CHARSET | 规则:MIN表示生成密码的最短长度;MAX表示生成密码的最长长度;CHARSET表示使用指定的字符生成密码,'a’表示所有的小写字母,'A’表示所有的大写字母,'1’表示所有的数字,对于其他字符,只需要添加在后面即可 |
-y | 使用方式见-x,它表示charset的字符是实际的字符,而不是正则表达式 |
-x 3:5:a | 生成的密码字典长度为3到5位,由所有的小写字母组成 |
-x 5:8:A1 | 生成的密码字典长度为5到8位,有所有的大写字母和数字组成 |
-x 5:5/%,.- | 生成的密码字典长度为5位,只由’/ % , . -'这5种字符构成 |
-x 3:5:aA1 -y | 生成的密码字典长度为3到5位,且只由’a A 1’这三种字符组成 |
-x 3:5:aA1.-+# | 生成的密码字典长度为3到8位,由大小写字母+数字+.-+#进行组合。 |
爆破SSH
hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t ip ssh -s 22
#-L 指定用户字典文件
#-P 指定密码字典文件
#-o 把成功的输出到ssh.txt文件
#-vV 显示详细信息
#-s 指定其他端口 如果要修改默认22端口,可以使用 -s 参数
先创建一个密码字典,手动编写密码(测试即可,真实渗透环境自行使用大型字典)
创建一个用户字典
准备一台centos主机,查看ip地址,确保kali系统和centos系统处于同一网段下
进行爆破
hydra -L user.txt -P pwd.txt -vV -o ssh.txt -t 5 192.168.209.138 ssh
破解成功,4个密码有效
也可以在输出的ssh.txt查看用户密码
爆破RDP
linux系统爆破成功,那么下面试试windows吧
Tips:windows使用的远程协议是rdp协议,我们直接将上面的命令协议改为rdp即可
hydra -L user.txt -P pwd.txt -vV -o ssh.txt -t 5 192.168.209.129 rdp
爆破成功,尝试使用密码连接即可