前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cicd-goat:一个包含漏洞的CICD安全学习靶场环境

cicd-goat:一个包含漏洞的CICD安全学习靶场环境

作者头像
FB客服
发布2023-03-29 15:50:06
5530
发布2023-03-29 15:50:06
举报
文章被收录于专栏:FreeBufFreeBuf

?关于cicd-goat?

cicd-goat是一个故意包含大量漏洞的CI/CD安全学习靶场环境,广大研究人员可以使用cicd-goat来学习关于CI/CD安全的相关内容,并通过各种挑战并拿到Flag来更好地掌握针对CI/CD管道的安全渗透技术。

cicd-goat项目允许允许工程师和安全从业人员通过一组包含是十个项目的挑战来学习和实践CI/CD安全,这些挑战是在真实、全面的CI/CD环境中实施的。这些场景具有不同的难度级别,每个场景侧重于一个主要攻击向量。这些挑战包括10大CI/CD安全风险,包括流量控制机制不足、PPE(管道执行投毒)、依赖链滥用、PBAC(基于管道的访问控制)等。

该项目的环境基于Docker容器实现,并且可以在本地运行,这些容器包括:

1、Gitea 2、Jenkins 3、Jenkins?agent 4、LocalStack 5、Prod 6、CTFd 7、GitLab 8、GitLab?runner 9、Docker?in?Docker

这些映像能够创建功能齐全的管道,并实现互连。

?工具下载&运行?

Linux&macOS

代码语言:javascript
复制
curl -o cicd-goat/docker-compose.yaml --create-dirs https://raw.githubusercontent.com/cider-security-research/cicd-goat/main/docker-compose.yaml
cd cicd-goat && docker-compose up -d(向右滑动,查看更多)

注意:GitLab当前不支持配备有苹果芯片的macOS设备。

Windows(PowerShell)

代码语言:javascript
复制
mkdir cicd-goat; cd cicd-goatcurl -o docker-compose.yaml https://raw.githubusercontent.com/cider-security-research/cicd-goat/main/docker-compose.yamlget-content docker-compose.yaml | %{$_ -replace "bridge","nat"}docker-compose up -d

(向右滑动,查看更多)

?工具使用?

首先,在开启容器之后,可能需要等待五分钟左右的时间来让容器完成配置。

接下来,登录http://localhost:8000来查看所有的挑战:

用户名:alice 密码:alice

开始渗透

Jenkins:http://localhost:8080 用户名:alice 密码:alice

Gitea http://localhost:3000 用户名:thealice 密码:thealice

GitLab http://localhost:4000 用户名:alice 密码:alice1234

最后,将你拿到的Flag提交进去,查看是否成功即可。

?自定义开发?

首先,使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/cider-security-research/cicd-goat.git

(向右滑动,查看更多)

然后重命名.git文件夹:

代码语言:javascript
复制
./rename.py git

然后安装测试需要用到的依赖组件:

代码语言:javascript
复制
pip3 install pipenv==2022.8.30
pipenv install --deploy

运行开发环境并测试新增的挑战项目:

代码语言:javascript
复制
rm -rf tmp tmp-ctfd/
cp -R ctfd/data/ tmp-ctfd/
docker-compose -f docker-compose-dev.yaml up -d

(向右滑动,查看更多)

关闭环境,将挑战重构:

代码语言:javascript
复制
docker-compose -f docker-compose-dev.yaml down
./apply.sh # save CTFd changes
docker-compose -f docker-compose-dev.yaml up -d --build

(向右滑动,查看更多)

运行测试:

代码语言:javascript
复制
pytest tests/

重命名.git文件夹并允许push:

代码语言:javascript
复制
./rename.py notgit

最后,commit并push即可。

?许可证协议?

本项目的开发与发布遵循Apache-2.0开源许可证协议。

?项目地址?

cicd-goat:https://github.com/cider-security-research/cicd-goat

参考资料:

https://www.cidersecurity.io/utm_source=github&utm_medium=github_page&utm_campaign=ci%2fcd%20goat%20_060422

https://www.cidersecurity.io/top-10-cicd-security-risks/?utm_source=github&utm_medium=github_page&utm_campaign=ci%2fcd%20goat_060422

精彩推荐

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-23,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ?关于cicd-goat?
  • ?工具下载&运行?
    • Linux&macOS
      • Windows(PowerShell)
      • (向右滑动,查看更多)
      • ?工具使用?
        • 开始渗透
        • ?自定义开发?
        • ?许可证协议?
        • ?项目地址?
        • 参考资料:
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档


        http://www.vxiaotou.com