攻破 GitLab: 攻击和防御自托管 CI/CD 环境
💡
原文中文,约4800字,阅读约需12分钟。
📝
内容提要
本文讨论了攻击自托管GitLab实例的方式,主要利用实例级运行器的安全漏洞。攻击者可通过创建新仓库检查可用运行器,执行恶意作业以获取主机信息和敏感数据,甚至通过AWS EC2实例进行进一步渗透。防御措施包括限制网络访问、加强身份验证和使用项目级运行器。
🎯
关键要点
- 本文讨论了攻击自托管GitLab实例的方式,主要利用实例级运行器的安全漏洞。
- 攻击者可以通过创建新仓库检查可用运行器,执行恶意作业以获取主机信息和敏感数据。
- 实例级运行器是全局可用的,经过身份验证的用户可以在其上下文中执行命令。
- 攻击者可以通过劫持运行器获取对主机的远程访问,利用默认的gitlab-runner用户执行命令。
- 攻击者可以访问运行器上执行的其他作业的仓库文件,寻找敏感数据如环境文件和API密钥。
- 如果目标环境托管在虚拟私有云中,攻击者可以进一步渗透到该环境,利用AWS元数据服务。
- 防御措施包括限制网络访问、加强身份验证和使用项目级运行器。
- 应谨慎配置EC2实例的IAM角色,以防止攻击者窃取访问密钥造成严重破坏。
- 监控CloudTrail日志和设置CloudWatch告警可以帮助检测潜在的恶意活动。
➡️