
AWSGoat : Una infraestructura AWS malditamente vulnerable

Comprometer la infraestructura en la nube de una organización es como sentarse sobre una mina de oro para los atacantes. Y a veces, una simple mala configuración o una vulnerabilidad en aplicaciones web es todo lo que un atacante necesita para comprometer toda la infraestructura. Dado que la nube es relativamente nueva, muchos desarrolladores no son plenamente conscientes del panorama de amenazas y terminan desplegando una infraestructura en la nube vulnerable.
AWSGoat es una infraestructura vulnerable por diseño en AWS que presenta los riesgos de seguridad de aplicaciones web más recientes del OWASP Top 10 (2021) y otras malas configuraciones basadas en servicios como IAM, S3, API Gateway, Lambda, EC2 y ECS. AWSGoat imita la infraestructura del mundo real pero con vulnerabilidades añadidas. Cuenta con múltiples rutas de escalada y se centra en un enfoque de caja negra.
AWSGoat utiliza IaC (Terraform) para desplegar la infraestructura en la nube vulnerable en la cuenta de AWS del usuario. Esto le da al usuario control total sobre el código, la infraestructura y el entorno. Usando AWSGoat, el usuario puede aprender/practicar:
El proyecto se dividirá en módulos y cada módulo será una aplicación web separada, impulsada por diversos stacks tecnológicos y prácticas de desarrollo. Aprovechará IaC mediante terraform y GitHub actions para facilitar el proceso de despliegue.
Presentado en
Está previsto que el proyecto abarque todas las vulnerabilidades significativas, incluido el OWASP TOP 10 2021, y las malas configuraciones en la nube más populares. Actualmente, el proyecto contiene las siguientes vulnerabilidades/malas configuraciones.
Para facilitar el proceso de despliegue, el usuario solo necesita hacer un fork de este repositorio, agregar sus credenciales de cuenta de AWS a los secretos de GitHub y ejecutar la acción Terraform Apply. Este flujo de trabajo desplegará toda la infraestructura y mostrará la URL de la aplicación alojada.
Estos son los pasos a seguir:
Paso 1. Hacer un fork del repositorio
Paso 2. Configurar los secretos de GitHub Action:
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
Paso 3. Desde la pestaña de acciones del repositorio, selecciona el módulo a desplegar y ejecuta el flujo de trabajo Terraform Apply.
Paso 4. Encuentra la URL de la aplicación en la sección de salida de Terraform.
Instalar AWSGoat manualmente requeriría que sigas estos pasos:
(Nota: Esto requiere una máquina Linux, con el shell /bin/bash disponible)
Paso 1. Clona el repositorio
git clone https://github.com/ine-labs/AWSGoat
Paso 2. Configurar las credenciales de la cuenta de usuario de AWS
aws configure
Paso 3. Acceda al directorio de los módulos correspondientes y utilice terraform para desplegar AWSGoat
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
El primer módulo presenta una aplicación de blog sin servidor que utiliza AWS Lambda, S3, API Gateway y DynamoDB. Consta de diversas vulnerabilidades de aplicaciones web y facilita la explotación de recursos de AWS mal configurados.
Ruta de escalada:
El segundo módulo presenta una aplicación interna de Nóminas de RR. HH., que utiliza la infraestructura de AWS ECS. Consta de diversas vulnerabilidades de aplicaciones web y facilita la explotación de recursos de AWS mal configurados.
Ruta de escalada:
Navegador recomendado: Google Chrome
Los recursos creados con el despliegue de AWSGoat no generarán ningún cargo si la cuenta de AWS se encuentra dentro del nivel gratuito/período de prueba. Sin embargo, tras el agotamiento/no elegibilidad del nivel gratuito/período de prueba, se aplicarán los siguientes cargos para la región US-East:
Módulo 1: $0.0125/hora
Módulo 2: $0.0505/hora
Jeswin Mathai, Chief Architect, Lab Platform, INE [email protected]
Nishant Sharma, Director, Lab Platform, INE [email protected]
Sanjeev Mahunta, Software Engineer (Cloud), INE [email protected]
Shantanu Kale, Cloud Developer, INE [email protected]
Govind Krishna Lal Balaji, Cloud Developer, INE [email protected]
Litesh Ghute, Senior Engineer, INE [email protected], LinkedIn
Los manuales ofensivos están disponibles en el directorio attack-manuals, y los manuales defensivos están disponibles en el directorio defence-manuals.
Vídeos de explotación del Módulo 1: https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
Para más detalles, consulte el archivo PDF "AWSGoat.pdf". Este archivo contiene la presentación de diapositivas utilizada para las presentaciones.
Módulo 1: