一个名为"EmeraldWhale"的大规模恶意操作扫描了暴露的 Git 配置文件,从数千个私有存储库中窃取了超过 15,000 个云帐户凭据。
根据发现该活动的 Sysdig 的说法,该操作涉及使用自动化工具扫描 IP 范围以查找暴露的 Git 配置文件,其中包括身份验证令牌。
然后,这些令牌用于下载存储在 GitHub、GitLab 和 BitBucket 上的存储库,并进一步扫描这些存储库以获得更多凭据。
被盗数据被泄露到其他受害者的 Amazon S3 存储桶中,随后被用于网络钓鱼和垃圾邮件活动,并直接出售给其他网络犯罪分子。
暴露的 Git 配置文件
Git 配置文件(例如 /.git/config 或 .gitlab-ci.yml)用于定义各种配置,例如存储库路径、分支、远程,有时甚至是 API 密钥、访问令牌和密码等身份验证信息。
为方便起见,开发人员可能会将这些密钥包含在私有存储库中,从而使数据传输和 API 交互更加容易,而无需每次都配置或执行身份验证。
只要存储库与公共访问适当隔离,这就不会有风险。但是,如果包含配置文件的 /.git 目录在网站上被错误地暴露出来,则使用扫描程序的攻击者可以轻松找到并读取它们。
如果这些被盗的配置文件包含身份验证令牌,则它们可用于下载关联的源代码、数据库和其他不供公共访问的机密资源。
EmeraldWhale 背后的攻击者使用"httpx"和"Masscan"等开源工具扫描托管在大约 5 亿个 IP 地址上的网站,这些 IP 地址分为 12,000 个 IP 范围。
Sysdig 表示,黑客甚至创建了文件,列出了所有可能的 IPv4 地址,包含超过 42 亿个目标,以方便未来的扫描。
扫描只是检查 Laravel 应用程序中的 /.git/config 文件和环境文件 (.env) 是否暴露,其中也可能包含 API 密钥和云凭据。
一旦确定了暴露,就会使用对各种 API 的"curl"命令验证令牌,如果有效,则用于下载私有存储库。
再次扫描这些下载的存储库,以获取 AWS、云平台和电子邮件服务提供商的身份验证密钥。攻击者使用暴露的电子邮件平台身份验证令牌来开展垃圾邮件和网络钓鱼活动。
Sysdig 观察到使用了两个商用工具集来简化这一大规模流程,即 MZR V2 (Mizaru) 和 Seyzo-v2。
EmeraldWhale 攻击链
对于 Laravel,Multigrabber v8.5 工具用于检查 .env 文件的域,然后根据其可用性潜力对信息进行分类。
Laravel 攻击链
评估被盗数据
Sysdig 检查了暴露的 S3 存储桶,并在其中发现了 1 TB 的机密信息,包括被盗的凭据和日志记录数据。
根据收集到的数据,EmeraldWhale 从 67,000 个暴露配置文件的 URL 中窃取了 15,000 个云凭证。
在公开的 URL 中,有 28,000 个对应于 Git 存储库,6,000 个是 GitHub 令牌,值得注意的是,有 2,000 个被验证为有效凭证。
除了 GitHub、GitLab 和 BitBucket 等主要平台外,黑客还瞄准了 3,500 个属于小型团队和个人开发人员的小型存储库。
被盗凭证来源平台
Sysdig 表示,在 Telegram 上,仅指向公开的 Git 配置文件的 URL 列表就以 100 美元左右的价格出售,那些实际去利用的人可能会赚取到更多的钱。
研究人员指出,这项活动并不是特别复杂,依赖于成熟工具和自动化,但仍然窃取了数千个可能导致灾难性数据泄露的密钥。
软件开发人员可以通过使用专用的密钥管理工具来存储其密钥,并使用环境变量在运行时配置敏感设置,而不是在 Git 配置文件中对其进行硬编码,从而降低风险。