文章目录
- 1. 概述
- 2. 实验环境
- 3. 破解系统密码
- 3.1 使用 John the Ripper 破解系统密码
- 3.2 使用 Medusa 破解系统密码
- 3.3 使用 Hydra 破解系统密码
- 4. 破解应用密码
- 4.1 使用 Medusa 破解应用密码
- 4.2 使用 Hydra 破解应用密码
本文简述Linux下暴力破解密码的工具,包括 John the Ripper,Medusa,Hydra。
1. 概述
名称 | 适用范围 | 优点 | 缺点 |
---|---|---|---|
John the Ripper | 操作系统 | 破解速度快 | 不能破解应用密码 |
Medusa | 操作系统、部分应用 | 支持mysql破解,支持批量破解 | 破解SSH速度慢,破解网页有局限 |
Hydra | 操作系统、大部分应用 | 支持网页破解,支持批量破解 | 破解SSH速度慢 |
操作系统密码的暴力破解推荐John the Ripper,应用密码的破解推荐Hydra和Medusa。
2. 实验环境
操作系统:kali7-amd64
字典:John the Ripper源码安装包自带字典password.lst,内含3546个常见密码。
3. 破解系统密码
3.1 使用 John the Ripper 破解系统密码
将待破解主机的 /etc/shadow 文件放到指定目录下,使用 john 命令进行暴力破解
# john --wordlist=password.lst /root/test/shadow
查询已经破解的密码,示例中root用户的密码为test。
# john --show /root/test/shadow
3.2 使用 Medusa 破解系统密码
ip.txt存放待测试主机,username.txt存放用于破解的用户名。
Medusa使用模块对特定应用进行爆破,常见模块有ssh.mod,http.mod。
以web-form模块为例,查询模块使用方法。
SSH爆破命令
# medusa -H /root/ip.txt -U /root/test/username.txt -P /root/test/password.lst -e ns -M ssh -O final.txt -r 0 -F
命令比较长,需要根据实际情况进行配置。
-H 后接文件,文件包含待测主机名或IP地址;
-U 后接文件,文件包含用来尝试登陆的用户名;
-P 后接字典文件;
-e ns 表示增加2种密码测试。n表示无密码,s表示username与密码一致;
-O 表示输出到文件;
-r 表示重新尝试爆破的等待秒数;
-F 表示在任何主机上找到第一个有效用户名/密码后停止。
由于爆破时间太长,将root写到 /root/test/username.txt 的第一行节约时间,爆破结果如下图。
3.3 使用 Hydra 破解系统密码
SSH爆破命令
# hydra -L /root/test/username.txt -P /root/test/password.lst -f 192.168.198.144 ssh -t 1 -vV
命令比较长,需要根据实际情况进行配置。
-L 后接文件,文件包含用来尝试登陆的用户名;
-P 后接字典文件;
-F 表示在本主机上找到第一个有效用户名/密码后停止;
-t 表示任务运行时并行的连接数;
-vV 展示爆破进度。
执行效果如下图。
4. 破解应用密码
4.1 使用 Medusa 破解应用密码
以 Mysql 为例,破解命令为:
# medusa -H /root/ip.txt -U /root/test/username.txt -P /root/test/password.lst -e ns -M mysql -O final.txt -r 0 -F
爆破速度很快,为了便于观察,将zabbix写到 /root/test/username.txt 的第一行节约时间,爆破结果如下图。
4.2 使用 Hydra 破解应用密码
安装好grafana,以grafana的web登录界面作为靶机,端口为3000。破解命令为:
hydra -l admin -P /root/test/password.lst -t 1 -vV -e ns -f 192.168.198.144 -s 3000 http-get /login
爆破结果如下图。