
AzureGoat : Uma Infraestrutura Azure Maldosamente Vulnerável

Comprometer a infraestrutura de nuvem de uma organização é como sentar em uma mina de ouro para atacantes. E, às vezes, uma simples má configuração ou uma vulnerabilidade em aplicações web é tudo o que um atacante precisa para comprometer toda a infraestrutura. Como a nuvem é relativamente nova, muitos desenvolvedores não estão totalmente cientes do panorama de ameaças e acabam implantando uma infraestrutura de nuvem vulnerável. A nuvem Microsoft Azure tornou-se o segundo maior fornecedor em participação de mercado entre os provedores de infraestrutura de nuvem (de acordo com vários relatórios), logo atrás da AWS. Existem inúmeras ferramentas e aplicações vulneráveis disponíveis para a AWS para que profissionais de segurança realizem práticas de ataque/defesa, mas esse não é o caso do Azure. Existem muito menos opções disponíveis para a comunidade.
AzureGoat é uma infraestrutura vulnerável por design no Azure, apresentando os mais recentes riscos de segurança de aplicações web do OWASP Top 10 (2021) e outras má configurações baseadas em serviços como App Functions, CosmosDB, Storage Accounts, Automation e Identidades. O AzureGoat imita a infraestrutura do mundo real, mas com vulnerabilidades adicionadas. Ele apresenta múltiplos caminhos de escalação e é focado em uma abordagem de caixa-preta.
O AzureGoat usa IaC (Terraform) para implantar a infraestrutura de nuvem vulnerável na conta Azure do usuário. Isso dá ao usuário controle total sobre código, infraestrutura e ambiente. Usando o AzureGoat, o usuário pode aprender/praticar:
O projeto é dividido em módulos e cada módulo é uma aplicação web separada, alimentada por diversas pilhas tecnológicas e práticas de desenvolvimento.
Apresentado em
O projeto está programado para abranger todas as vulnerabilidades significativas, incluindo o OWASP TOP 10 2021 e má configurações populares de nuvem. Atualmente, o projeto contém as seguintes vulnerabilidades/má configurações.
Para facilitar o processo de implantação, o usuário só precisa clonar este repositório, fazer login no azure cli e então inicializar e aplicar o arquivo Terraform. Esse fluxo de trabalho implantará toda a infraestrutura e fornecerá a URL da aplicação hospedada.
Aqui estão os passos a seguir:
Passo 1. Clone o repositório
git clone https://github.com/ine-labs/AzureGoat
Passo 2. Faça login no Azure CLI
az login
E siga os passos para fazer login.
Passo 3. Crie um grupo de recursos com o nome "azuregoat_app".
Passo 4. Use o terraform para implantar o AzureGoat
terraform init
terraform apply --auto-approve
O primeiro módulo apresenta uma aplicação de blog serverless utilizando Azure App Functions, Storage Accounts, CosmosDB e Azure Automation. Ele consiste em várias vulnerabilidades de aplicações web e facilita a exploração de recursos Azure mal configurados.
Visão geral dos caminhos de escalação para o módulo 1

Nishant Sharma, Diretor, Lab Platform, INE [email protected]
Jeswin Mathai, Arquiteto Chefe, Lab Platform, INE [email protected]
Rachna Umaraniya, Desenvolvedora de Nuvem, INE [email protected]
Sherin Stephen, Engenheiro de Software (Nuvem), INE [email protected]
Shantanu Kale, Desenvolvedor de Nuvem, INE [email protected]
Sanjeev Mahunta, Engenheiro de Software (Nuvem), INE [email protected]
D Yashwanth Babu, Engenheiro de Software (Nuvem), 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.
Vídeos de Exploração do Módulo 1: https://www.youtube.com/playlist?list=PLcIpBb4raSZGdYHKpqIu5Boc2ziga4oGY
Para mais detalhes, consulte o arquivo PDF "AzureGoat.pdf". Este arquivo contém os slides usados nas apresentações.
Página Inicial da Aplicação Blog

Portal de Login da Aplicação Blog

Página de Registro da Aplicação Blog

Painel Logado da Aplicação Blog

Perfil de Usuário da Aplicação Blog

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 GNU General Public License versão 2, conforme publicada pela Free Software Foundation.
Este programa é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO. Veja a GNU General Public License para mais detalhes.
Você deve ter recebido uma cópia da GNU General Public License junto com este programa. Se não, consulte http://www.gnu.org/licenses/.