点此返回首页

leeya_bug@home:~$

一个Coder,Attacker,Creator

Boom:自动弱密码测试的革命性解决方案

(本文章仅为个人观点)

0x00 传统测试工具的局限性

自动后台弱密码测试 指的是由工具自动识别Web网站后台登录处的form表单、Digest/NTLM登录方案、js接口后,自动提取出登录请求的文本特征,再自动根据现有字典进行爆破(目前基本上是静态测试).

后台登录入口
↓
识别入口处登陆特征
↓
提取登陆特征,进行字典爆破
↓
结束流程

这样静态测试的局限是在没有高级文本特征提取的神经网络算法加持下,依靠传统的快速特征提取工具的识别率将相当低. 但优点是省去了人工测试成千上万个后台时的繁琐.

在此之前,笔者曾使用过老牌后台自动弱密码工具 yzddmr6/WebCrack,但效果却不尽人意.
随着近几年越来越多的反识别和特征模糊策略兴起,这个三四年没有更新的工具在应对这些后台时变得愈发地棘手.
avatar

但就在今天上午,笔者试用了由BUG-Fly公开的 Fly-Playgroud/Boom 全自动后台弱密码工具:
Fly-Playgroud/Boom
其对于网站登录form表单的识别率、传统认证、编译型 vue/react 的识别率都远超我的期望,甚至我个人认为其相比于其他自动后台弱密码测试工具已经达到了遥遥领先的水平

avatar

由于该项目为非开源项目,因此在这里笔者就不在此贴代码分析了. 仅简单介绍一下这款工具的特色和使用感受

0x01 Fly-Playgroud/Boom的特色

  • 自动识别网页是否是登录页面
  • 自动识别爆破目标类型:表单/传统认证协议类型(Basic/Digest/NTLM)
  • 自动识别登录相关组件并填充点击
  • 自动判别登录成功与否
  • 支持 URL 批量并发爆破
  • 支持单 URL 并发爆破
  • 多种爆破模式:密码优先用户名优先

  • WebHook 消息推送
  • 支持验证码组件识别

0x02 靶机选择

笔者选取了十多个网站进行测试,均收获了较好的结果. 这里我随机拿一个我朋友的普通vue网站登陆后台来举例说明
该网站技术栈为前端: vue + 组件 ant-design,后端: go + 基础库 gin

后台登陆处的url为: http://xxx/login
在此我们可以F12直观看到,其登陆处并非form
avatar

登录请求url为: http://xxx/api/email_login
观察请求包,其登录请求传输的数据格式并非body form-data或者form-urlencoded格式,而是json数据格式
avatar

再仔细查看该后台页面前端源代码发现,其登陆发请求逻辑是 由vue编译后的html登录点击事件跳转到js事件响应器再发登录请求
avatar

总的来说,要想准确识别到该网站登录特征,难度不言而喻. 这要求工具有极高的识别率和文本特征提取水平

0x03 测试

现在来正式测试该工具,在 Fly-Playgroud/Boom 目录下,配置中爆破模式设置为 用户优先(密码喷洒)和设置用户名密码字典后,输入以下命令

Boom.exe -t http://xxx/login

可以发现,工具正确提取到了网站登录特征
在此我预设了后台用户名:leeya_bug,密码:leeya_bug123 来验证爆破是否成功
下面粉红色字体提示已经成功爆破出了我预设的用户名和密码
avatar

0x04 总结

虽然该款工具已经满足绝大部分需求,但笔者发现对于部分传统cms网站该工具依然有概率无法识别到. 希望在今后该工具能够得到更进一步完善

2024年3月2日 更

在今天下午13时左右,笔者得到了一条来自Boom开发者的最新消息: 下一个版本Boom工具将接入大模型,升级成为”AI-Boom”. 相比较于传统算法,神经网络算法具有无可比拟的特征识别及提取优势. Boom或将成为第一个在自动弱密码测试中接入了大模型的工具
在此,笔者向Boom的原开发者及AI算法贡献者表达敬意

avatar