(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)

 

一、定义

爆破=爆破工具(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,并将安装目录添加到环境变量中,操作结果如图所示

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  查看爆破结果