0x01------寻找切入点
切入点是渗透中非常重要的一个环节,这里预想了两个切入点进行测试。
预想的切入点1:收集七牛github里的用户名和邮箱,通过社工进入员工的github
为什么要找这个切入点?根据前期的信息收集,通过github可以oauth登录到七牛自建的gitlab上,也不排除有些公司在github上建有自己的私有仓库。
很多公司的员工在github上有互相关注并且公开了自己的公司名,邮箱等信息。所以这里的测试思路就是用已知的几个七牛github用户作为入口,爬取这些用户粉丝中包含qiniu、Qiniu和七牛等关键字的用户名,再访问这些用户名的主页获取用户名、昵称和邮箱
脚本如下,渣代码凑合用。
然而结果却是,一个成功登录的都没有!后来才知道,七牛的github启用了二次验证,能登录才怪!
预想的切入点2:暴力破解。分两步,先暴破用户名再暴破密码。
1.暴破用户名
选择gitlab作为暴破暴破用户名的入口
将uri中的user修改为姓名即可,返回长度大于8000的就是存在的用户。我们拿了top500的字典跑,跑出来了12个。这里还有100万姓名的字典,应该能把七牛所有的gitlab用户覆盖到70%以上
不过这里我偷了个懒,用了上次提交的漏洞里,从ITDB系统拿到的所有员工姓名。
2.暴破密码
暴破其实已经做过,但之前拿到的并不是全量的用户名,系统和字典也没有好好选择,这次有针对性的分析下。
密码字典其实就包括2个密码,这两个密码在实际的渗透中出现概率极高,建议各公司把这两个密码放到字典里。然后破解了两个用户,第一个用户姓名也在100万的大字典里,所以即使没从ITDB拿用户名,结果也是一样的。
0x02------GO!
七牛的账号认证体系有几种:
我们只能访问Ldap和自带账户认证系统的应用,从redmine和Jira/Confluenc找到的几个重要的系统信息如下:
1.七牛用的各家CDN的信息
我们登录下腾讯云的,可以管理的域名3w多个。
这是果壳在某家CDN的日志,打开后是用户访问图片的请求,包括了图片地址。
Qcos系统,应该是七牛的核心生产系统,这是七牛几个用户的
可以进行重启,查看配置,修改等操作
接下来说下重置任意用户密码。在Jenkins里的某个deploy包里,发现了noreply@qiniu.com的邮箱密码。
七牛官网有重置密码的接口找回密码
查看邮箱,发件箱里并没有找到发送的重置密码邮件,仔细看发件人是noreply@email.qiniu.com,而腾讯企业邮箱的格式是noreply@qiniu.com。
又翻了下之前的文件,收发邮件并不是一个系统,发邮件用的是mailgun,文件中包括了发件需要的key
去官网看了下他们的API说明,只要发送如下的包就能获取到mailgun对某个用户发送的邮件
获取到的发件信息如下。
这里还要打开那个url,用户名是api,密码就是那个key
然后用获取的token重置密码