(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)
一、定义
爆破=爆破工具(BP/Hydra)+字典(用户字典/密码字典)
字典:一些用户名或者口令(弱口令/使用社工软件生成)的集合
BurpSuite:多功能渗透测试工具,渗透测试神器,使用JAVA开发,功能齐全,方便渗透测试人员去测试WEB站点
Hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用Hydra爆破C/S架构的服务
Medusa:美杜莎,开源的,支持爆破的服务有很多种,FTP、SSH、Mssql、Mysql、SNMP等等,在kali系统中有内置
二、使用BurpSuite爆破DVWA的WEB登录窗口
DVWA:web应用程序,漏洞演练平台,开源,集成常见的WEB漏洞,使用PHP+MySQL的服务支持
1.用火狐浏览器打开搭建好的DVWA站点,点击DVWA Security,调保护措施级别
- 这里已知DVWA的默认登录为admin,密码为password
- 可以看到底部的Security Level的级别变成了Low
2.点击Brute Force爆破,进入以下界面
3.破解单项,知道用户名,破解密码:在DVWA的爆破中输入账号,密码随机输入,开启火狐浏览器的代理,打开BP,开启拦截状态,在回到DVWA点击登录,BP中就拦截到数据包,所拦截的数据包如下图所示
4.将拦截到的数据发送到Intruder模块,按ctrl+I或点击Action --> Send to Intruder,点击进入Intruder模块,就可以看到如下图所示界面
5.进入Positions模块,点击Clear键,去除不需要爆破的项,在重新选择要爆破的项,点击Add,意味着要爆破密码
- 这里要注意,选择爆破的项为输入密码的数据,如下图所示
6.进入Payloads模块,在Payloads options[simple list]中添加密码字典,点击Load,找到密码字典所在位置,加载进来
- 在Options模块中,可以设置爆破时的一些规则,如:线程Rwquset Engine、匹配规则Grep-Match、排除规则
7.点击Payloads中点击Start attack,或者在菜单中的inttruder里,Start attack开启爆破!
8.在爆破的过程中使用密码字典去替换随意输入的密码,爆破结束后,双击Length,对结果进行排序,放在前几排的测试结果可能就是正确密码,把账号和密码拿过来测试
- 也可根据当前界面下面的响应包中的数据,确定是否为正确密码
- 测试,密码就是password
-
如何快速定位爆破出来的正确结果:
1.需要知道登录成功之后返回来的字符串,如上图所示的Welcom
2.将该字符添加到Options中的匹配规则中Grep-Match
3.然后爆破完成后,双击该字符,对结果进行排序,放在前几排的测试结果并且在Welcom规则下面勾选✔上了的测试结果可能就是正确密码
9.爆破多项,密码和用户名未知:在DVWA的爆破中随机输入用户名和密码,开启火狐浏览器的代理,打开BP,开启拦截状态,在回到DVWA点击登录,BP中就拦截到数据包,将拦截到的数据发送到Intruder模块,进入Positions模块,点击Clear键,去除不需要爆破的项,在重新选择要爆破的项,点击Add,然后选择“Cluster bomb”这种攻击模式,操作结果如下图所示
10.在Payloads中选择1(这里的1对应在Positions模块第一个选中的值),“Payload type”中选择需要的攻击载荷类型,然后在下方的Payload Options中加载所需要的数据,此处加载用户字典
在Payloads中选择2,“Payload type”中选择需要的攻击载荷类型,然后在下方的Payload Options中加载所需要的数据,此处加载密码字典,线程设置100,点击开始爆破
- 可以看到结果里面的第一个就是正确的密码和用户名
三、使用kali中的Hydra爆破本地FTP服务、以及kali中的SSH服务
Hydra:是著名的黑客组织THC的一款开源暴力破解工具这是一个验证性质的工具,主要目的是展示安全研究人员从远程获取一个系统认证权限
- 参数
- 破解ssh:
- hydra -l 用户名 -P 密码字典 -t 线程 -vV -e ns ip ssh
- hydra -l 用户名 -P 密码字典 -t 线程 -o save.log -vV ip ssh
- 破解ftp:
- hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
- hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
1.爆破本地FTP服务,爆破单项:打开phpStudy,点击FTP,创建FTP服务,并开启Apache2、FTP、MySQL服务,操作如下图所示
2.在本地安装Hydra,并将安装目录添加到环境变量中,操作结果如图所示
- 添加环境变量具体操作查看本篇文章https://www.cnblogs.com/yankaohaitaiwei/p/11564821.html
3.在dos命令窗口中测试Hydra是否可用,并且查看FTP服务端口是否开启
1 hydra -h 查看帮助信息
2 netstat -ano|findstr 21 查看FTP端口信息
4.使用Hydra爆破密码,在下图的回响中就可以看到本地FTP服务的用户名和密码,爆破成功!
1 hydra -l admin -P password.txt(密码字典的路径) ftp://本地IP
2 -l 表示已知用户名
3 -P 后跟密码字典
4 ftp 协议
5.爆破kali中的SSH服务,爆破多项:打开kali,开启SSH服务
1 /etc/init.d/ssh start 开启SSH服务
2 /etc/init.d/ssh status 查看SSH服务状态
6.查看kali与宿主机的连通性,并在宿主机中爆破kali的SSH服务,如下图所示,爆破成功!
1 ping kali的IP 查看连通性
2 hydra -L user.txt -P password.txt ssh://kali的IP 爆破多项
3 -L 后跟用户字典
- 这里为了快速爆破,我新配置了用户文件和密码文件
7.Hydra中常用的命令:
- 爆破目标有多个 hydra -L logins.txt -P pws.txt -M targets.tzt ssh
- 192.168.1.0/24 C端 hydra -l admin -p password ftp://[192.168.1.0/24]
-p 指定密码
- 如果爆破的服务修改了端口,使用-e 指定需要爆破的端口
四、使用kali中的Medusa爆破本地FTP服务
1.打开phpStudy,点击FTP,创建FTP服务,并开启Apache2、FTP、MySQL服务;验证kali中是否有Medusa服务,出现帮助信息,则证明有服务
2.使用Medusa爆破单项,爆破密码
1 Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] 2 -h 后跟要爆破的主机 3 -H 后跟IP集合 4 -u 后跟用户名 5 -U 用户字典 6 -p 后跟单个密码 7 -P 后跟密码字典 8 -C 组合条目文件username:password 9 -M 模块 10 -O 输出爆破结果 11 -e(指定用户) n(空密码)s(使用和账号相同的密码去测试) 12 -n 后跟端口,使用指定的端口(服务段落更改) 13 -t 线程,后跟线值数 14 -f 当找到正确的账号和密码后,就停止爆破 15 -r 重设间隔时间 16 -d 显示所有模块的名称 17 medusa -h 目标IP -u admin -P password.txt -e ns -M ftp -t -r 0 -f -O ./result_ftp.txt 爆破单项
cat result_ftp.txt 查看爆破结果