????本文简述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
????爆破结果如下图。
|