黑客正在使用未发布的 GitHub 和 GitLab 评论来生成似乎来自合法开源软件 (OSS) 项目的网络钓鱼链接。
Open Analysis 的 Sergei Frankoff 上个月首次描述了这个巧妙的技巧,它允许任何人 模仿他们想要的任何存储库 在该存储库的所有者不知情的情况下。即使业主知道这件事,他们也无法采取任何措施阻止它。
恰当的例子:黑客有 已经滥用了这个方法 分发 红线窃取者木马,根据 McAfee 的说法,使用与 Microsoft GitHub 托管的存储库“vcpkg”和“STL”相关的链接。 Frankoff 独立发现了更多涉及该活动中使用的相同加载程序的案例,Bleeping Computer 发现了另一个受影响的存储库“httprouter”。
根据 Bleeping Computer 的说法,该问题既影响到 GitHub(拥有超过 100 亿注册用户的平台),也影响到其最接近的竞争对手 GitLab(拥有超过 30 万用户)。
无法检测、无法阻止、可信的网络钓鱼链接
GitHub 和 GitLab 中的这一显着缺陷可能存在于可以想象到的最普通的功能中。
开发人员经常会通过在 OSS 项目页面上留下评论来提出建议或报告错误。有时,这样的评论会涉及文件:文档、屏幕截图或其他媒体。
当文件作为评论的一部分上传到 GitHub 和 GitLab 的内容分发网络 (CDN) 时,评论会自动分配一个 URL。此 URL 明显与评论所属的任何项目相关联。例如,在 GitLab 上,上传带有评论的文件会获得以下格式的 URL: https://gitlab.com/{project_group_name}/{repo_name}/uploads/{file_id}/{file_name}.
黑客发现这为他们的恶意软件提供了完美的掩护。例如,他们可以将 RedLine Stealer 的恶意软件加载程序上传到 Microsoft 存储库,并获得链接作为回报。尽管它包含恶意软件,但对于任何旁观者来说,它似乎是指向真实 Microsoft 存储库文件的合法链接。
但这不是全部。
如果攻击者将恶意软件发布到存储库,您会认为该存储库或 GitHub 的所有者会发现它并解决它。
那么,他们能做的就是发布评论,然后迅速删除。尽管如此,该 URL 仍然有效,并且文件仍然上传到该网站的 CDN。
或者,更好的是:攻击者一开始就可以不发表评论。在 GitHub 和 GitLab 上,只要将文件添加到正在进行的评论中,就会自动生成工作链接。
由于这种平庸的怪癖,攻击者可以将恶意软件上传到他们想要的任何 GitHub 存储库,获取与该存储库关联的链接,然后简单地保留未发布的评论。他们可以在网络钓鱼攻击中使用它,只要他们愿意,而被冒充的品牌将不知道首先生成了任何此类链接。
不要相信链接
与合法存储库绑定的恶意 URL 为网络钓鱼攻击提供了可信度,相反,也可能威胁到网络钓鱼攻击。 使可信度蒙羞并受到损害 被冒充一方的。
更糟糕的是:他们没有追索权。根据 Bleeping Computer 的说法,没有任何设置允许所有者管理附加到其项目的文件。他们可以暂时禁用评论,同时阻止错误报告和与社区的协作,但没有永久的解决办法。
Dark Reading 联系了 GitHub 和 GitLab,询问他们是否计划解决这个问题以及如何解决。以下是一位人士的回应:
“GitHub 致力于调查报告的安全问题。我们根据以下规定禁用了用户帐户和内容 GitHub 的可接受使用政策,禁止发布直接支持非法主动攻击或造成技术损害的恶意软件活动的内容,”GitHub 代表在一封电子邮件中表示。 “我们将继续投资提高 GitHub 和用户的安全性,并正在研究措施以更好地防范此类活动。我们建议用户按照维护人员提供的有关如何下载正式发布的软件的说明进行操作。维护者可以利用 GitHub 发布 或软件包和软件注册表中的发布流程,以安全地将软件分发给用户。”
如果 GitLab 做出回应,Dark Reading 将更新该故事。与此同时,用户应谨慎行事。
“开发人员在 GitHub URL 中看到可信供应商的名称通常会相信他们所点击的内容是安全合法的,”Sectigo 产品高级副总裁 Jason Soroko 表示。 “有很多评论说 URL 元素不被用户理解,或者与信任没有太大关系。然而,这是一个完美的例子,说明 URL 很重要,并且有能力造成错误的信任。
“开发人员需要重新考虑与 GitHub 或任何其他存储库相关的链接的关系,并投入一些时间进行审查,就像对待电子邮件附件一样。”