Jonathan Elkabas e Tomer Nahum

EntraGoat é um laboratório deliberadamente vulnerável que simula configurações incorrectas de identidade do mundo real no Microsoft Entra ID.

Quer seja um jogador da equipa vermelha, da equipa azul ou apenas curioso sobre os ataques de identidade, este guia irá guiá-lo através de como configurar o EntraGoat, lançar o seu primeiro desafio e começar a capturar bandeiras como um profissional.

O que é o EntraGoat?

Imagine um parque infantil onde pode:

  • Transferir um utilizador para o Administrador Global
  • Permissões em cadeia através da API do Graph
  • Abusar de aplicações e princípios de serviço mal configurados
  • Ativar funções privilegiadas para repor o MFA do administrador global
  • Simular ataques sem colocar em risco os ambientes de produção

É exatamente isso que a EntraGoat oferece: uma plataforma do tipo CTF para a aprendizagem da exploração da identidade na nuvem(Figura 1).

Figura 1. O painel de controlo do EntraGoat mostra o progresso do seu desafio

Começar a utilizar o EntraGoat: O que é necessário

Antes de sujarmos os cascos, eis o que precisa:

  • Um inquilino de teste do Microsoft Entra ID(a versão de teste do E5 funciona muito bem)
  • Privilégios de administrador global nesse locatário
  • Node.js + npm instalado
  • PowerShell 7+
  • SDK do Microsoft Graph PowerShell(Figura 2)
Figura 2. Instalando o Graph com o PowerShell

Passo 1: Clonar e iniciar o laboratório

Abra o seu terminal e execute o script que a Figura 3 mostra.

Figura 3. Clonagem do laboratório EntraGoat

Em seguida, abra o seu browser em: http://localhost:3000

Como mostra a Figura 4 , cada desafio vem com uma história, credenciais, dicas e um local para submeter a bandeira.

Figura 4. Quadro do desafio EntraGoat

Passo 2: Lance o seu primeiro desafio

Quando o painel de controlo EntraGoat estiver disponível em http://localhost:3000, pode lançar qualquer cenário utilizando um de dois métodos.

Opção 1: Descarregar e implementar através da interface web

  1. A partir do painel de controlo, clique num desafio (por exemplo, Cenário 1: Desconhecido e perigoso).
  2. No Vista do desafio, clicar:
    • Ver script de configuração -> Descarregar o script de configuração
    • Ver Script de Limpeza -> Descarregar o script de limpeza (opcional)
  3. Execute o script PowerShell descarregado a partir do seu terminal

Cada página de desafio permite-lhe descarregar diretamente scripts de configuração e de limpeza(Figura 5).

Figura 5. Script de configuração do EntraGoat

Depois de descarregar o guião de configuração, execute o cenário utilizando o comando de configuração(Figura 6).

Figura 6. Execução do cenário 1 a partir da GUI

Opção 2: Executar diretamente a partir da pasta Cenários

Se clonou o repositório localmente, pode saltar o download e executar os scripts diretamente a partir do terminal(Figura 7).

Figura 7. Execução do cenário 1 a partir do terminal

Ambos os métodos criam o mesmo ambiente. Utilize o que se adequa ao seu fluxo de trabalho, primeiro a GUI ou apenas o terminal.

Etapa 3: Explorar, atacar, escalar

Agora tem:

  • Credenciais de utilizador válidas
  • Um ambiente Entra ID vulnerável e mal configurado
  • E... uma bandeira escondida nas propriedades de administrador. Obtém-na depois de iniciar sessão como Administrador Global.

Use o portal do Azure, o centro de administração do Microsoft Entra, o Microsoft Graph PowerShell ou o Graph Explorer para:

  • Enumerar os recursos ligados ao utilizador
  • Verificar a propriedade de aplicações ou grupos
  • Rever as funções atribuídas e as vias de elegibilidade privilegiadas

Se tiver dúvidas, utilize as sugestões na plataforma para orientar o seu raciocínio. Foram concebidas para apoiar o raciocínio ao estilo do atacante sem revelar soluções completas.

Passo 4: Capturar a bandeira

O seu objetivo é recuperar a bandeira depois de obter acesso de Administrador Global, validando o impacto pretendido do cenário.

EntraGoat{SP_0wn3rsh1p_Pr1v_Esc@l@t10n_Congratz!}

Cola a bandeira na página do desafio e marca o desafio como concluído! Depois, terás acesso ao próximo.

NOTA: Por defeito, todos os utilizadores autenticados no Entra ID podem consultar os dados básicos do perfil de outros utilizadores e atributos como extensionAttribute1–15 não são classificados como sensíveis. Como resultado, o sinalizador armazenado no perfil do administrador pode tecnicamente ser recuperado imediatamente com a consulta API que Figura 8 espectáculos.

Figura 8. Atalho para a recuperação de bandeiras

Este comportamento é intencional. O objetivo do EntraGoat não é ocultar o sinalizador, mas demonstrar técnicas realistas de escalonamento de privilégios em ambientes Entra ID. É possível recuperar o sinalizador por meio de uma chamada direta à API, mas o objetivo real é escalar privilégios, acessar o portal do Azure como usuário administrador e visualizar o sinalizador na interface do usuário, demonstrando controle total sobre uma identidade de Administrador global(Figura 9).

A bandeira é um artefacto gamificado para validar a conclusão e não o objetivo principal do cenário.

Figura 9. Encontrar a bandeira

Passo 5: Limpar

Após cada cenário, pode anular as alterações(Figura 10).

Figura 10. Limpeza após o Cenário 1

Não há restos sujos no seu inquilino.

Quer ir mais longe?

Cada cenário vem com um guião completo e um ficheiro de solução passo-a-passo que pode utilizar para:

  • Ensinar os outros
  • Compreender a mecânica por detrás de cada caminho de ataque
  • Automatize os seus testes
  • Construir novas cadeias de ataque

Encontrá-las-á em: /solutions/

Aprender, praticar e defender com EntraGoat

O EntraGoat é mais do que um ambiente de laboratório. Ele fornece uma plataforma sob demanda para explorar os caminhos de ataque do Entra ID, desenvolver estratégias de defesa eficazes e aplicar esse conhecimento para fortalecer ambientes do mundo real.

Obter EntraGoat e explore-o você mesmo. Utilize-o para fazer o bem.

Continuar com EntraGoat

Declaração de exoneração de responsabilidade

Este conteúdo é fornecido apenas para fins educacionais e informativos. Destina-se a promover a consciencialização e a correção responsável das vulnerabilidades de segurança que possam existir nos sistemas que possui ou que está autorizado a testar. O uso não autorizado dessas informações para fins maliciosos, exploração ou acesso ilegal é estritamente proibido. A Semperis não endossa ou tolera qualquer atividade ilegal e se isenta de qualquer responsabilidade decorrente do uso indevido do material. Além disso, a Semperis não garante a exatidão ou a integridade do conteúdo e não assume qualquer responsabilidade por quaisquer danos resultantes da sua utilização.