Burpsuite系列教程之暴力破解

1. 什么是用户枚举?

用户枚举俗称暴力破解,是指用枚举的方式来爆破用户信息。具体的流程是用事先收集好的数据集成一个字典,然后用字典不断进行枚举,直到枚举成功1. 攻击过程

 

0x01 场景分析

首先打开页面,是一个用户登录框,首先可以基本确定是用post方式传输的。

如图:

 

接着模拟普通用户操作一次,用户名输入1111,密码输入111

如图:

看到用户不存在其实就能发现问题了,一般的登陆程序提示都是用户名或者密码错误,而这里提示的却是账户不存在。这是不是说明我们只要猜对了用户名,提示就是密码错误呢?

为了验证我的猜想,继续进行尝试…………..

 

当我进行反复的尝试,账号输入admin,密码输入123的时候

提示变了!如图:

到这里就基本可以确定admin这个用户存在,只是密码错误

接下来我们只要枚举admin的密码就可以了。

 

接下来使用流量分析工具burpsuite对admin账号进行爆破

因为浏览器与burpsuite要有交互才能爆破。所以这里要设置代理才能爆破

首先打开burpsuite,在porxy这个模块里打开option,设置好代理:127.0.0.1 端口8080(这里随意填写,只要没被别的服务占掉就行)

如图

 

 

0x03 抓包

首先在porxy模块下intercepet把intercepet改成on,这样就可以监听浏览器的流量了。

如图:

然后在登陆框下模拟用户操作,账号输入:admin

密码输入:123(随便输入,因为接下来要爆破)

Burpsuite拦截到我们的请求包了,点击右键,把请求包发送到intruder爆破模块下,如图:

0x04 去参爆破

Intruder这个模块是基于参数进行爆破的,也就是说你把一个值设置成参数,intruder就会利用字典对这个参数进行不断地枚举,直至成功

 

因为我们的目的是爆破admin的密码,所以要把别的参数,去除,具体操作是:选中参数,点击clear

如图:

接下来要加载字典,点击paloads,然后点击load,选择你自己的字典,网上有前辈已经总结出来很多字典,直接在网上找就行。最后点击右上方的 start attack

,就会自动进行爆破。如图:

 

 

那我们怎么分辨出到底爆破成功了没有,或者哪个是成功的呢?

因为如果是错误的信息的话,客户端一般会提示密码错误之类的,而成功会直接跳转到别的页面上,这里我们只需看length的长度,看看哪个只有一个,哪个就是正确的。

如图:

这里我们可以看出adminpass与别的数据长度不一样,基本可以确定adminpass就是正确的密码

当然,看length是不严谨的,因为其实好多网站错误的长度不一,这时候就要想想别的办法了

因为登陆失败和登陆成功两种情况是不一样的,登陆失败可能会提示账号或密码错误,登陆成功有可能直接跳转到别的页面

这样我们可以利用这个登陆失败的特征字符(账号或密码错误)来区别哪个是正确的账号密码

具体操作为:在option下的grep match 填入特征字符

如图:

这个特征字符的意思就是账号或者密码错误,等我们爆破的时候看到哪组数据没有这个特征字符说明就是正确的账号密码

 

 

尝试登陆,成功!如图:

 

 

更复杂的爆破

从刚才可以看出,枚举用户的基本条件是已知道用户名并且字典足够强大,那么如果我们不知道用户名或者字典也不够强大该怎么办呢?

 

 

0x01 账号密码双爆破

刚才例子是猜出账号是admin,如果运气不好呢,所以得账号密码全部爆破才行

Burpsuite有四种爆破模式:

  • Sniper :将字典依次填入所有变量中
  • Battering Ram:将字典同时填入所有变量中
  • Pitchfork:字典和变量分别对应,同时填入对应变量中
  • Cluster Bomb:字典和变量分别对应,分别填入对应变量中

 

  • 这里选第四个,让它们交叉爆破,然后填上错误特征字符

爆破如图:

 

 

 

Admin和adminpass没有特征符,所以这组数据就是账号密码

0x02 查找用户名的技巧

一般在交互性强的程序上,如wordpress,discuz都是有些小技巧的。

例如wordpress,查看文章上的作者名,很有可能就是网站用户名!因为wordpress你不改作者名它就会默认显示网站用户名作为作者名,discuz同理

 

还有一些网站管理员为了偷懒直接把域名当成用户名。

网站备份文件也是同理

 

 

0x03 网站字典的收集

 

网上看到前辈说过一句话:网站字典的强大取决你信息收集的程度,觉得讲的非常有道理,因为网站管理员的命名习惯一般都是与自己身份信息相关的

 

具体操作流程为:

  • 域名查找whois,把姓名,手机号,邮箱收集好
  • 把邮箱,手机号放进社工库查询下,看看有没有历史密码或者其他有价值的信息
  • 把收集好的信息丢到专门的字典生成工具中,即可生成字典

 

 

工具

1.http://www.hi-ourlife.com/caimima/

2.kali下的cew1

 

 

漏洞成因

这个完全是程序员的编码的问题,如果把错误提示改成用户名或密码错误之类的,完全可以避免该问题

 

 

 

总结

爆破的先天条件得知道用户名并且字典足够强大,在这前提下还得保证不会封ip。所以说网站管理人员只要把密码设置足够复杂,防护措施做好,攻击者攻击的概率就会非常小

点赞

发表评论

电子邮件地址不会被公开。

Loading……