AWS

AWSGoat : A Damn Vulnerable AWS Infrastructure

Compromising an organization’s cloud infrastructure is like sitting on a gold mine for attackers. And sometimes, a simple misconfiguration or a vulnerability in web applications, is all an attacker needs to compromise the entire infrastructure. Since the cloud is relatively new, many developers are

Vulnerable AWS Infrastructure

Compromising an organization’s cloud infrastructure is like sitting on a gold mine for attackers. And sometimes, a simple misconfiguration or a vulnerability in web applications, is all an attacker needs to compromise the entire infrastructure. Since the cloud is relatively new, many developers are not fully aware of the threatscape and they end up deploying a vulnerable cloud infrastructure.

AWSGoat is vulnerable by design infrastructure on AWS featuring the latest released OWASP Top 10 web application security risks (2021) and other misconfiguration based on services such as IAM, S3, API Gateway, Lambda, EC2, and ECS. AWSGoat mimics real-world infrastructure but with added vulnerabilities. It features multiple escalation paths and is focused on a black-box approach.

The project will be divided into modules and each module will be a separate web application, powered by varied tech stacks and development practices. It will leverage IaC through terraform and GitHub actions to ease the deployment process.

Built With

  • AWS
  • React
  • Python 3
  • Terraform
  • PHP
  • Docker

Vulnerabilities

The project is scheduled to encompass all significant vulnerabilities including the OWASP TOP 10 2021, and popular cloud misconfigurations. Currently, the project contains the following vulnerabilities/misconfigurations.

  • XSS
  • SQL Injection
  • Insecure Direct Object reference
  • Server-Side Request Forgery on Lambda Environment
  • Sensitive Data Exposure and Password Reset
  • S3 Misconfigurations
  • IAM Privilege Escalations
  • ECS Container Breakout

Prerequisites

  • An AWS Account
  • AWS Access Key with Administrative Privileges

Installation

To ease the deployment process the user just needs to fork this repo, add their AWS Account Credentials to GitHub secrets, and run the Terraform Apply Action. This workflow will deploy the whole infrastructure and output the hosted application’s URL.

Here are the steps to follow:

Step 1. Fork the repo

Step 2. Set the GitHub Action Secrets:

AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY

Step 3. From the repository actions tab, select the module to deploy and run the Terraform Apply Workflow.

Step 4. Find the application URL in the Terraform output section.

Modules

Module 1

The first module features a serverless blog application utilizing AWS Lambda, S3, API Gateway, and DynamoDB. It consists of various web application vulnerabilities and facilitates the exploitation of misconfigured AWS resources.

ScreenShots:

Escalation Path:

Module 2

The second module features an internal HR Payroll application, utilizing the AWS ECS infrastructure. It consists of various web application vulnerabilities and facilitates the exploitation of misconfigured AWS resources.

ScreenShots:

Escalation Path:

Get AWSGoat

Was this article helpful?

If something here is wrong or out of date, tell us and we will check the source.

Related reading

See all
AI

CISO Assistant — One-stop GRC Platform for Risk Management, AppSec

CISO Assistant offers a fresh perspective on Cybersecurity Management and GRC (Governance, Risk, and Compliance) practices: Features Upcoming features are listed on the roadmap. CISO Assistant is developed and maintained by Intuitem, a company specializing in Cybersecurity, Cloud, and Data/AI. Core

March 29, 2026
Forensic Tool

teler : Real-time HTTP Intrusion Detection

Teler is a real-time intrusion detection and threat alert based on a weblog that runs in a terminal with resources that we collect and provide by the community. ❤️ Features Real-time: Analyze logs and identify suspicious activity in real time. Alerting: teler provides alerting when a threat is detec

December 4, 2022
BugBounty

APTRS – An Automated Penetration Testing Reporting System

APTRS (Automated Penetration Testing Reporting System) is an automated reporting tool in Python and Django. The tool allows Penetration testers to create a report directly without using the Traditional Docx file. It also provides an approach to keeping track of the projects and vulnerabilities. Prer

November 24, 2022
BugBounty

XORpass – An encoder to bypass WAF

XORpass is an encoder to bypass WAF filters using XOR operations. Installation & Usage git clone https://github.com/devploit/XORpasscd XORpass$ python3 xorpass.py -h Example of bypass: Using clear PHP function: Using XOR bypass of that function: $ python3 xorpass.py -e “system(ls)” Why does PHP trea

November 8, 2021