
对于攻击者来说,入侵一个组织的云基础设施就像坐拥金矿。有时,仅仅是一个简单的配置错误或Web应用程序中的漏洞,就足以让攻击者入侵整个基础设施。由于云相对较新,许多开发人员并未完全了解威胁态势,最终部署了易受攻击的云基础设施。
AWSGoat是一个在AWS上刻意设计为易受攻击的基础设施,包含了最新发布的OWASP Top 10 Web应用程序安全风险(2021年)以及基于IAM、S3、API Gateway、Lambda、EC2和ECS等服务的不安全配置。AWSGoat模拟了真实世界的基础设施,但增加了漏洞。它包含多条权限提升路径,并侧重于黑盒方法。
AWSGoat使用IaC(Terraform)在用户的AWS账户中部署易受攻击的云基础设施。这使用户能够完全控制代码、基础设施和环境。通过AWSGoat,用户可以学习/实践:
该项目将分为多个模块,每个模块作为一个独立的Web应用程序,采用不同的技术栈和开发实践。它将通过Terraform和GitHub Actions利用IaC来简化部署过程。
曾在以下场合展示
该项目计划涵盖所有重大漏洞,包括OWASP TOP 10 2021和常见的云配置错误。 目前,该项目包含以下漏洞/配置错误:
为简化部署过程,用户只需fork此仓库,将AWS账户凭据添加到GitHub Secrets,然后运行Terraform Apply操作。此工作流将部署整个基础设施并输出托管应用程序的URL。
请按以下步骤操作:
步骤1. Fork该仓库
步骤2. 设置GitHub Action Secrets:
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
步骤3. 在仓库的Actions选项卡中,选择要部署的模块并运行Terraform Apply工作流。
步骤4. 在Terraform输出部分找到应用程序URL。
手动安装AWSGoat需要执行以下步骤:
(注意:这需要一台Linux机器,且/bin/bash shell可用)
步骤1. 克隆仓库
git clone https://github.com/ine-labs/AWSGoat
步骤2. 配置AWS用户账户凭据
aws configure
步骤3. 进入相应模块的目录,并使用Terraform部署AWSGoat
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
第一个模块是一个无服务器博客应用程序,使用了AWS Lambda、S3、API Gateway和DynamoDB。它包含多种Web应用程序漏洞,并有助于利用配置错误的AWS资源。
权限提升路径:
第二个模块是一个内部HR薪资应用程序,使用了AWS ECS基础设施。它包含多种Web应用程序漏洞,并有助于利用配置错误的AWS资源。
权限提升路径:
推荐浏览器: Google Chrome
如果AWS账户处于免费套餐/试用期,部署AWSGoat所创建的资源不会产生任何费用。但是,当免费套餐/试用用尽或不符合条件时,以下费用将适用于US-East区域:
模块1:$0.0125/小时
模块2:$0.0505/小时
Jeswin Mathai, 首席架构师, 实验室平台, INE [email protected]
Nishant Sharma, 总监, 实验室平台, INE [email protected]
Sanjeev Mahunta, 软件工程师(云), INE [email protected]
Shantanu Kale, 云开发人员, INE [email protected]
Govind Krishna Lal Balaji, 云开发人员, INE [email protected]
Litesh Ghute, 软件工程师, INE [email protected]
攻击手册位于attack-manuals目录中,防御手册位于defence-manuals目录中。
模块1利用视频:https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
更多详情请参阅“AWSGoat.pdf”PDF文件。此文件包含演示所用的幻灯片。
模块1:
模块2:
modules/module-<Number>/src,可用于修改现有应用程序代码。本程序是自由软件:您可以自由再分发和/或修改它,前提是遵循MIT许可证的条款。
您应该已经随本程序收到了MIT许可证的副本。如果没有,请参见 https://opensource.org/licenses/MIT。