
GCPGoat : Uma Infraestrutura GCP Deliberadamente Vulnerável
Comprometer a infraestrutura cloud de uma organização é como sentar em uma mina de ouro para atacantes. E, às vezes, uma simples configuração incorreta ou uma vulnerabilidade em aplicações web é tudo o que um atacante precisa para comprometer toda a infraestrutura. Como a cloud é relativamente nova, muitos desenvolvedores não estão totalmente cientes do cenário de ameaças e acabam implantando uma infraestrutura cloud vulnerável.
GCPGoat é uma infraestrutura vulnerável por design no GCP, apresentando os riscos de segurança mais recentes do OWASP Top 10 (2021) e outras configurações incorretas baseadas em serviços como IAM, Storage Bucket, Cloud Functions e Compute Engine. O GCPGoat imita infraestruturas do mundo real, mas com vulnerabilidades adicionadas. Ele apresenta múltiplos caminhos de escalonamento e é focado em uma abordagem de caixa-preta.
O GCPGoat utiliza IaC (Terraform) para implantar a infraestrutura cloud vulnerável na conta GCP do usuário. Isso dá ao usuário controle total sobre código, infraestrutura e ambiente. Usando o GCPGoat, o usuário pode aprender/praticar:
O projeto será dividido em módulos e cada módulo será uma aplicação web separada, alimentada por diversas pilhas tecnológicas e práticas de desenvolvimento. Ele aproveitará IaC através do terraform para facilitar o processo de implantação.
O projeto está programado para abranger todas as vulnerabilidades significativas, incluindo o OWASP TOP 10 2021 e configurações incorretas populares em cloud. Atualmente, o projeto contém as seguintes vulnerabilidades/configurações incorretas.
A instalação manual do GCPGoat exigiria que você seguisse estas etapas:
(Nota: Isso requer uma máquina Linux, com o shell /bin/bash disponível)
Passo 1. Clone o repositório
git clone https://github.com/ine-labs/GCPGoat
Passo 2. Configure as Credenciais da Conta de Usuário GCP usando a CLI do gcloud
gcloud auth application-default login
Passo 3. Insira o nome da Conta de Faturamento no arquivo main.tf
data "google_billing_account" "acct" {
display_name = "<Your Billing Account Name>"
}
Passo 4. No mesmo diretório de trabalho, use o terraform para implantar o GCPGoat.
terraform init
terraform apply --auto-approve
O primeiro módulo apresenta uma aplicação de blog serverless utilizando Cloud Functions, Cloud Storage Buckets, Compute Engine e Firestore. Consiste em várias vulnerabilidades de aplicações web e facilita a exploração de recursos GCP mal configurados.
Caminho de Escalonamento:
Navegador Recomendado: Google Chrome
Os recursos criados com a implantação do GCPGoat não incorrerão em custos se a conta GCP estiver no nível gratuito/período de teste. No entanto, após o esgotamento/inelegibilidade do nível gratuito/teste, os seguintes custos serão aplicados para a região Leste dos EUA:
Módulo 1: $0,03/hora
Nishant Sharma, Diretor, Plataforma de Laboratórios, INE [email protected]
Jeswin Mathai, Arquiteto Chefe, Plataforma de Laboratórios, INE [email protected]
Sherin Stephen, Engenheiro de Software (Cloud), INE [email protected]
Divya Nain, Engenheiro de Software (Cloud), INE [email protected]
Rishappreet Singh Moon, Engenheiro de Software (Cloud), INE [email protected]
Litesh Ghute, Engenheiro de Software (Cloud), INE [email protected]
Sanjeev Mahunta, Engenheiro de Software (Cloud), INE [email protected]
Os manuais ofensivos estão disponíveis no diretório attack-manuals, e os manuais defensivos estão disponíveis no diretório defence-manuals.
Módulo 1:
modules/module-<Number>/src, que pode ser usado para modificar o código da aplicação existente.Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença MIT.
Você deve ter recebido uma cópia da Licença MIT junto com este programa. Caso contrário, veja https://opensource.org/licenses/MIT.