1. 用户名确定方法

因为一些网站登陆框,输入不存在的用户名,会提示:用户名不存在,请重新输入 (这种情况下其实就可以提一个用户名枚举的漏洞)。
我们根据该信息可以枚举用户名,如果枚举的用户名很多的话,就可以用这些用户名,批量去撞弱口令,可以大大提高爆破成功率。

1.1 用户名枚举漏洞

用户名枚举主要就是利用,输入存在用户名和不存在用户名时返回信息不同来确认。而用户名枚举,因为不是爆破同一个账号的密码,所以不容易引起系统,waf拦截还是很好用的。
而登陆页面中可以输入用户名的地方有三处:登陆框,密码找回,注册

某src注册接口:

注册接口,手机号存在会提示:用户名已存在。
用户不存在,会提示:验证码以发送。
虽然发送同一ip发起发送验证码请求过多会提示:验证码请求频繁,但是当手机号存在时依旧会提示:用户名已存在。
从而造成注册手机号枚举。

1.2 利用公开信息收集用户名

搜索引擎收集:
比如,收集高校学号信息

1
site:*.test.edu.cn 学号

就能收集到很多,更进一步收集还有收集泄露的office文件,一般excel文件中比较多

1
2
site:*.test.edu.cn filetype:xlsx 学号
site:*.test.edu.cn filetype:docx

企业公开信息:
最近p神在小密圈分享了一个找用户名的小技巧:

1
2
3
4
5
6
7
爆破弱口令的时候经常需要目标公司的员工姓名组成字典,但员工姓名字典从哪来呢?

大型公司(员工数量5k+),可以根据中国姓名拼音Top500来做。但是对于千人及以下的中小型创业公司就不是很灵了。

分享一种方法,适用于所有公司(尤其是科技公司),就是爬一下这个公司的专利信息列表。由于专利信息都是公开的,能找到大量人员真实姓名,而且多半是技术人员。

企查查和天眼查都可以做这个事情。

社交软件:
比如我们可以搜索qq群:

1
2
3
2020级清华大学通知群
某公司xx项目开发群
...

编造一下加群信息,进入群的瞬间打开文件,下载所有群文件….也许有意想不到的收获.

2. 密码生成

密码生成主要使用一些小工具

2.1 pydictor

项目地址:https://github.com/LandGrey/pydictor
该工具有很多模块,其中社会工程学字典模块,可以根据用户信息针对性生成字典:
python pydictor.py --sedb
设置收集到的用户名,邮箱,生日等可以针对性的生成字典。
该工具还有字典合并去重,字典编码等多种功能,也可以单独 编写扩展插件。

2.2 杂七杂八的小工具

在线字典生成网站:
https://www.bugku.com/mima/

2.3 一些小尝试

常用手段出不来,可以试试:
域名,用户名,企业名,后台名称加1-5位随机数字。
如:htgl8899,zhangsan2020
六位数字太费时间就不优先考虑了

3.存在验证码

存在验证码,验证码过弱,或者存在绕过缺陷也是可以被爆破的

3.1 验证码识别

pkavhttpfuzzer
验证码识别可以使用pkavhttpfuzzer,该工具可以识别一些特别简单的验证码
也可以使用burp插件:https://github.com/c0ny1/captcha-killer
调用第三方的打码平台接口
比如这里调用:http://www.ttshitu.com/ 的识别接口,识别效果还是不错的。不过太贵了,一般渗透测试,不至于不至于…