实战型 CI/CD 流水线安全工作坊,包含 Terraform 实验环境、AWS 漏洞利用、Kubernetes 逃逸及制品后门植入练习,用于进攻性安全培训。
随着基础设施即代码等新方法的兴起,CI/CD 流水线日益成为开发团队标准基础设施的一部分,此类流水线的敏感程度正在迅速攀升。一旦遭到入侵,面临风险的将不再只是应用程序,还包括底层系统本身,且往往是整个信息系统。
我们认为,这些基础设施虽然目前尚未成为攻击者的目标,但在未来几年将成为攻击者的主要关注点。这既是因为流水线所处理的凭据,也是因为这些环境通常缺乏监控。
在 2022 年 Hacking Summer Camp 期间,我们讲解了攻击者如何开始利用这些弱点,既用于供应链攻击,也用于在受害者信息系统中提升其权限。本仓库包含 BSides Las Vegas 22 和 DEFCON 30 研讨会所用的材料,学员将能够在完整的实验环境中实践这些攻击。
演示于
欢迎来到 DataLeek 公司,在历经数十年的 V 型开发模式后,我们现在决定采用“敏捷”方法论。为此,我们的 IT 团队搭建了一套 CI/CD 流水线,使用了市场上最先进、最顶尖的工具。然而,出于某些原因,我们的 CISO 似乎对这套全新基础设施的安全水平心存疑虑,并坚持要对其开展一次渗透测试。
你的任务——如果你选择接受的话——是评估这套 CI/CD 流水线的安全水平,并为已识别的问题提供修复方案。
在这场全程动手实践的研讨会中,我们将带你了解我们在无数次渗透测试中遇到的各种漏洞。你将学会如何:
动手实践练习将在我们的实验环境中使用多种工具完成。针对每种攻击,我们还将重点介绍预防、缓解技术以及检测利用的潜在方法。
部署该实验环境需要 3 个 AWS 账户:
第 1 步:克隆仓库
git clone https://github.com/wavestone-cdt/DEFCON-CICD-pipelines-workshop
第 2 步:在您的凭据文件中设置 AWS 机密
[infra]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
[src]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
[dest]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
第 3 步:在 0_Terraform-init 文件夹中运行:
terraform init
terraform apply --auto-approve
第 4 步:按照 1_Labs 中的说明操作
本研讨会最初由 Rémi ESCOURROU、Gauthier SEBAUX 和 Xavier GERONDEAU 创建,作为我们在 @Wavestone Offensive Security 团队工作的一部分。
非常感谢我们的朋友、AWS 大师 Arnaud PETITCOL 给予的帮助和建议。
本项目采用 MIT 许可证授权——详情请参阅 LICENSE.md 文件。