【白帽故事】某公司多个品牌的账户全接管

渗透技巧 2年前 (2021) admin
708 0 0

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。


背景介绍:


今天的漏洞故事分享来自一位名叫Abdelrahman Khaled的白帽子,他是一位专职的漏洞测试人员和漏洞赏金猎人,让我们开始吧。


漏洞发现:


首先目标网站托管在BugCrowd平台,并且该公司有很多品牌。在渗透该目标时,白帽小哥通过扫描发现一处目录遍历:http://sub.target.com/scripts


【白帽故事】某公司多个品牌的账户全接管


在查看这个目录遍历时,白帽小哥在[install.sh]文件中找到了感兴趣的信息:


【白帽故事】某公司多个品牌的账户全接管


很明显,这是一个Github访问令牌,但首先小哥要确认该令牌是否依然有效,因为开发人员在创建该令牌时,可以选择时间自动过期,像下面这样:


【白帽故事】某公司多个品牌的账户全接管


验证:


https://api.github.com/orgs/<username>/repos?access_token=<token>


当然我们也可以通过浏览器或cURL请求上面这个URL,通过查看响应来确认它是否过期。


【白帽故事】某公司多个品牌的账户全接管


很幸运,依然有效!!!于是我们可以利用这个访问令牌列出所有的私有库,但首先依然要确认这些私有库与该目标公司是否有关,如果无关,就不能作为漏洞上报,因为这位开发人员有可能只是在该公司兼职,于是这位白帽子克隆了这些私有库,开始对其进行详细分析:


curl https://api.github.com/orgs/<username>/repos?access_token=<token> | grep '"name"' | cut -d ":" -f 2 | cut -d '"' -f 2 > privare_repos_name.txtfor repo in $(cat privare_repos_name.txt); do git clone https://<access-token>@github.com/<username>/$repo; done


上面这段bash脚本主要用于将这些私有库克隆到白帽小哥的VPS中,从而更加方便进行下一步分析


【白帽故事】某公司多个品牌的账户全接管

足足5.4G大小的私有库


我们无法在短时间内分析这么大的数据,于是白帽小哥使用grep命令来获取一些敏感数据:


# Grep private ssh key commandgrep -r -R '(?=[-]*(?=[A-Z]*(?=[-])))(.*)(?=[-]*(?=[A-Z]*(?=[-])))'


【白帽故事】某公司多个品牌的账户全接管


上面这个正则表达式用于从所有私有库中提取SSH私钥。


【白帽故事】某公司多个品牌的账户全接管


通过上面这个文件,白帽小哥发现了很多docker的配置信息,但是这超出了漏洞测试的范围,因为规则明确声明不得尝试连接数据库或内部架构。但是可以明确的是,白帽小哥现在拥有了超过15个该目标品牌相关的私有仓库【白帽故事】某公司多个品牌的账户全接管


每个repo中都包含了[控制面板密码、备份数据库、完整的应用程序代码、云证书],白帽小哥可以连接并接管它们。


【白帽故事】某公司多个品牌的账户全接管


当然,故事的最终自然是白帽小哥获得目标的致谢与赏金奖励啦!今天的故事就是这样,下次见吧~


读者可以通过点击下方“阅读原文”跳转至作者原文查看。


====正文结束====

原文始发于微信公众号(骨哥说事):【白帽故事】某公司多个品牌的账户全接管

版权声明:admin 发表于 2021年12月8日 上午7:46。
转载请注明:【白帽故事】某公司多个品牌的账户全接管 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...