近日,GitHub 平台爆发大规模钓鱼攻击。攻击者通过向近 12,000 个仓库发送伪造的“Security Alert”议题(Issue),诱骗开发者授权名为“gitsecurityapp”的恶意 OAuth 应用,进而获取对开发者账户、代码仓库、甚至组织资源的完全控制权。
攻击流程还原
- 伪造安全警报:
攻击者向大量 GitHub 仓库发送内容相同的 Issue,声称检测到来自冰岛雷克雅未克(IP 地址:53.253.117.8)的异常登录尝试。 - 诱导点击链接:
Issue 中包含“更新密码”、“查看活动会话”、“启用双因素身份验证”等链接,这些链接都指向恶意 OAuth 应用的授权页面。 - OAuth 授权陷阱:
用户点击链接后,会被重定向到 GitHub 的 OAuth 授权页面。该页面会显示“gitsecurityapp”应用请求的权限。 - 获取访问令牌:
如果用户不慎点击“授权”,GitHub 会生成一个访问令牌(Access Token)并将其发送到恶意应用指定的回调地址(此次攻击中为托管在 onrender.com (Render) 上的多个网页)。 Render 是一个云平台,提供网站和应用程序托管服务。 攻击者选择使用 Render 可能是为了方便部署和隐藏其恶意应用。 - 控制账户:
攻击者利用获取的访问令牌,可以代表用户执行各种操作,具体取决于授予的权限。
OAuth 与权限滥用
OAuth 是一种开放标准,允许用户授权第三方应用访问其在另一个服务提供商(如 GitHub)上的资源,而无需共享用户名和密码。可以将 OAuth 想象成一把“数字钥匙”,用户可以将这把“钥匙”交给第三方应用,允许它访问自己在其他服务上的特定“房间”(资源),而无需交出“总钥匙”(密码)。
在此次攻击中,恶意 OAuth 应用请求了以下极具风险的权限:
repo
:-
读取、克隆、修改、删除公共和私有仓库的代码。 -
创建、修改、删除仓库中的分支、标签、提交等。 -
管理仓库的设置,例如协作者、Webhooks 等。 user
:-
读取和修改用户的个人资料信息(例如姓名、邮箱、头像等)。 -
读取用户的电子邮件地址。 -
以用户的身份执行操作。 read:org
:-
读取用户所属组织的成员列表、项目列表、团队列表等。 read:discussion
、write:discussion
:-
读取和写入仓库和组织中的讨论。 gist
:-
创建、修改、删除用户的 gists(代码片段)。 delete_repo
:-
删除用户的仓库(极其危险!)。 workflows
、workflow
、write:workflow
、read:workflow
、update:workflow
:-
读取、创建、修改、删除 GitHub Actions 工作流。攻击者可以利用此权限在仓库中注入恶意代码,在代码构建、测试或部署过程中执行。
攻击者可能的操作与牟利方式
获得上述权限后,攻击者可以:
- 窃取代:
窃取有价值的源代码、API 密钥、数据库凭据等,用于出售或进一步攻击。 - 篡改代码:
在代码中植入后门、恶意软件或漏洞,进行供应链攻击。 - 破坏项目:
删除代码、破坏版本控制历史记录等。 - 勒索:
加密或删除代码,向开发者索要赎金。 - 窃取个人信息:
获取用户的个人信息,用于身份盗用或其他欺诈活动。 - 冒充用户:
以用户的身份发布虚假信息、参与恶意活动。 - 访问组织资源:
如果用户属于某个组织,攻击者还可以访问该组织的敏感信息和资源。 - 发起供应链攻击:
通过篡改 workflows, 在代码构建过程中植入恶意代码, 从而感染所有使用此代码库的用户。
安全建议
- 警惕安全警报:
收到任何安全警报,都不要直接点击邮件或 Issue 中的链接。应直接访问 GitHub 官方网站,登录并检查账户活动。 - 仔细审查 OAuth 授权:
在授权任何第三方应用访问您的 GitHub 账户之前,务必仔细审查其请求的权限。 - 定期检查授权应用:
定期检查您已授权的 GitHub 应用和 OAuth 应用列表,撤销对任何不熟悉或不再使用的应用的访问权限。 -
访问路径:GitHub Settings -> Applications - 启用双因素身份验证 (2FA):
即使攻击者获取了您的密码,2FA 也能提供额外的保护。 - 监控 GitHub Actions:
定期检查您的仓库中是否有新的或意外的 GitHub Actions 工作流。
如果您已授权了“gitsecurityapp”应用,请立即按照上述步骤撤销其访问权限,并检查您的账户和仓库是否受到影响。 建议修改密码, 并检查是否有新的 SSH 密钥被添加。
BleepingComputer 已联系 GitHub 了解有关此次钓鱼攻击的更多信息,并将在此事有新进展时更新报道.
原文始发于微信公众号(技术修道场):技术分析:GitHub OAuth钓鱼攻击,利用“安全警报”Issue窃取开发者权限
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论