技术分析:GitHub OAuth钓鱼攻击,利用安全警报Issue窃取开发者权限

admin 2025年3月18日21:03:54评论9 views字数 1932阅读6分26秒阅读模式
技术分析:GitHub OAuth钓鱼攻击,利用安全警报Issue窃取开发者权限

近日,GitHub 平台爆发大规模钓鱼攻击。攻击者通过向近 12,000 个仓库发送伪造的“Security Alert”议题(Issue),诱骗开发者授权名为“gitsecurityapp”的恶意 OAuth 应用,进而获取对开发者账户、代码仓库、甚至组织资源的完全控制权。

攻击流程还原

  1. 伪造安全警报:
     攻击者向大量 GitHub 仓库发送内容相同的 Issue,声称检测到来自冰岛雷克雅未克(IP 地址:53.253.117.8)的异常登录尝试。
  2. 诱导点击链接:
     Issue 中包含“更新密码”、“查看活动会话”、“启用双因素身份验证”等链接,这些链接都指向恶意 OAuth 应用的授权页面。
  3. OAuth 授权陷阱:
     用户点击链接后,会被重定向到 GitHub 的 OAuth 授权页面。该页面会显示“gitsecurityapp”应用请求的权限。
  4. 获取访问令牌:
     如果用户不慎点击“授权”,GitHub 会生成一个访问令牌(Access Token)并将其发送到恶意应用指定的回调地址(此次攻击中为托管在 onrender.com (Render) 上的多个网页)。 Render 是一个云平台,提供网站和应用程序托管服务。 攻击者选择使用 Render 可能是为了方便部署和隐藏其恶意应用。
  5. 控制账户:
     攻击者利用获取的访问令牌,可以代表用户执行各种操作,具体取决于授予的权限。

OAuth 与权限滥用

OAuth 是一种开放标准,允许用户授权第三方应用访问其在另一个服务提供商(如 GitHub)上的资源,而无需共享用户名和密码。可以将 OAuth 想象成一把“数字钥匙”,用户可以将这把“钥匙”交给第三方应用,允许它访问自己在其他服务上的特定“房间”(资源),而无需交出“总钥匙”(密码)。

在此次攻击中,恶意 OAuth 应用请求了以下极具风险的权限:

  • repo
    • 读取、克隆、修改、删除公共和私有仓库的代码。
    • 创建、修改、删除仓库中的分支、标签、提交等。
    • 管理仓库的设置,例如协作者、Webhooks 等。
  • user
    • 读取和修改用户的个人资料信息(例如姓名、邮箱、头像等)。
    • 读取用户的电子邮件地址。
    • 以用户的身份执行操作。
  • read:org
    • 读取用户所属组织的成员列表、项目列表、团队列表等。
  • read:discussionwrite:discussion
    • 读取和写入仓库和组织中的讨论。
  • gist
    • 创建、修改、删除用户的 gists(代码片段)。
  • delete_repo
    • 删除用户的仓库(极其危险!)。
  • workflowsworkflowwrite:workflowread:workflowupdate:workflow
    • 读取、创建、修改、删除 GitHub Actions 工作流。攻击者可以利用此权限在仓库中注入恶意代码,在代码构建、测试或部署过程中执行。

攻击者可能的操作与牟利方式

获得上述权限后,攻击者可以:

  • 窃取代:
     窃取有价值的源代码、API 密钥、数据库凭据等,用于出售或进一步攻击。
  • 篡改代码:
     在代码中植入后门、恶意软件或漏洞,进行供应链攻击。
  • 破坏项目:
     删除代码、破坏版本控制历史记录等。
  • 勒索:
     加密或删除代码,向开发者索要赎金。
  • 窃取个人信息:
     获取用户的个人信息,用于身份盗用或其他欺诈活动。
  • 冒充用户:
     以用户的身份发布虚假信息、参与恶意活动。
  • 访问组织资源:
     如果用户属于某个组织,攻击者还可以访问该组织的敏感信息和资源。
  • 发起供应链攻击:
     通过篡改 workflows, 在代码构建过程中植入恶意代码, 从而感染所有使用此代码库的用户。

安全建议

  1. 警惕安全警报:
     收到任何安全警报,都不要直接点击邮件或 Issue 中的链接。应直接访问 GitHub 官方网站,登录并检查账户活动。
  2. 仔细审查 OAuth 授权:
     在授权任何第三方应用访问您的 GitHub 账户之前,务必仔细审查其请求的权限。
  3. 定期检查授权应用:
     定期检查您已授权的 GitHub 应用和 OAuth 应用列表,撤销对任何不熟悉或不再使用的应用的访问权限。
    • 访问路径:GitHub Settings -> Applications
  4. 启用双因素身份验证 (2FA):
     即使攻击者获取了您的密码,2FA 也能提供额外的保护。
  5. 监控 GitHub Actions:
     定期检查您的仓库中是否有新的或意外的 GitHub Actions 工作流。

如果您已授权了“gitsecurityapp”应用,请立即按照上述步骤撤销其访问权限,并检查您的账户和仓库是否受到影响。 建议修改密码, 并检查是否有新的 SSH 密钥被添加。

BleepingComputer 已联系 GitHub 了解有关此次钓鱼攻击的更多信息,并将在此事有新进展时更新报道.

原文始发于微信公众号(技术修道场):技术分析:GitHub OAuth钓鱼攻击,利用“安全警报”Issue窃取开发者权限

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月18日21:03:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   技术分析:GitHub OAuth钓鱼攻击,利用安全警报Issue窃取开发者权限https://cn-sec.com/archives/3852968.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息