Jonathan Elkabas e Tomer Nahum

EntraGoat è un laboratorio deliberatamente vulnerabile che simula configurazioni errate dell'identità del mondo reale in Microsoft Entra ID.

Che siate giocatori della squadra rossa, della squadra blu o semplicemente curiosi di conoscere gli attacchi di identità, questa guida vi spiegherà come configurare EntraGoat, lanciare la vostra prima sfida e iniziare a catturare le bandiere come un professionista.

Che cos'è EntraGoat?

Immaginate un parco giochi in cui sia possibile:

  • Passare un utente all'amministratore globale
  • Autorizzazioni a catena tramite l'API Graph
  • Abuso di app e di presidi di servizio configurati in modo errato
  • Attivare i ruoli privilegiati per reimpostare l'MFA dell'amministratore globale
  • Simulare gli attacchi senza mettere a rischio gli ambienti di produzione

Questo è esattamente ciò che offre EntraGoat: una piattaforma in stile CTF per l'apprendimento dello sfruttamento delle identità nel cloud(Figura 1).

Figura 1. Il cruscotto di EntraGoat mostra i progressi della sfida

Per iniziare con EntraGoat: cosa serve

Prima di sporcarci gli zoccoli, ecco cosa vi serve:

  • Un tenant Microsoft Entra ID di prova(la versione di prova E5 funziona benissimo)
  • Privilegi di amministratore globale in quel tenant
  • Node.js + npm installati
  • PowerShell 7+
  • Microsoft Graph PowerShell SDK(Figura 2)
Figura 2. Installazione di Graph con PowerShell

Passo 1: clonare e lanciare il laboratorio

Avviate il terminale ed eseguite lo script mostrato nella Figura 3 .

Figura 3. Clonazione del laboratorio EntraGoat

Aprire quindi il browser all'indirizzo: http://localhost:3000

Come mostra la Figura 4 , ogni sfida è corredata da una storia, da credenziali, da suggerimenti e da un luogo dove inviare la bandiera.

Figura 4. Struttura della sfida EntraGoat

Fase 2: Lanciare la prima sfida

Una volta che il cruscotto di EntraGoat è attivo su http://localhost:3000, è possibile lanciare qualsiasi scenario utilizzando uno dei due metodi.

Opzione 1: Scaricare e distribuire tramite interfaccia web

  1. Dalla dashboard, fare clic su una sfida (ad esempio, lo Scenario 1: Misowned and Dangerous).
  2. Nel Vista della sfida, fare clic:
    • Visualizza script di configurazione -> Scarica lo script di configurazione
    • Visualizza lo script di pulizia -> Scaricare lo script di pulizia (opzionale)
  3. Eseguite lo script PowerShell scaricato dal vostro terminale

Ogni pagina di sfida consente di scaricare direttamente gli script di configurazione e pulizia(Figura 5).

Figura 5. Script di configurazione di EntraGoat

Una volta scaricato lo script di configurazione, eseguite lo scenario usando il comando setup(Figura 6).

Figura 6. Esecuzione dello Scenario 1 dalla GUI

Opzione 2: Esecuzione direttamente dalla cartella Scenarios

Se avete clonato il repo in locale, potete evitare di scaricare ed eseguire gli script direttamente dal terminale(Figura 7).

Figura 7. Esecuzione dello Scenario 1 dal terminale

Entrambi i metodi configurano lo stesso ambiente. Utilizzate quello che più si addice al vostro flusso di lavoro, con l'interfaccia grafica o solo con il terminale.

Fase 3: Esplorazione, attacco, escalation

Ora avete:

  • Credenziali utente valide
  • Un ambiente Entra ID vulnerabile e non configurato correttamente
  • E... un flag nascosto nelle proprietà dell'amministratore. Si ottiene dopo aver effettuato l'accesso come amministratore globale.

Utilizzare il portale Azure, il centro di amministrazione Microsoft Entra, Microsoft Graph PowerShell o Graph Explorer per:

  • Enumerare le risorse collegate all'utente
  • Verifica della proprietà di app o gruppi
  • Esaminare i ruoli assegnati e i percorsi di idoneità privilegiati.

Se siete bloccati, usate i suggerimenti della piattaforma per guidare il vostro ragionamento. Sono progettati per supportare il ragionamento in stile attaccante senza rivelare le soluzioni complete.

Fase 4: catturare la bandiera

L'obiettivo è recuperare la bandiera dopo aver ottenuto l'accesso come amministratore globale, convalidando l'impatto previsto dallo scenario.

EntraGoat{SP_0wn3rsh1p_Pr1v_Esc@l@t10n_Congratz!}

Incollate la bandiera nella pagina della sfida e contrassegnate la sfida come completa! Avrete così accesso alla prossima.

NOTA: Per impostazione predefinita, tutti gli utenti autenticati in Entra ID possono interrogare i dati di base del profilo di altri utenti, nonché attributi come extensionAttribute1–15 non sono classificati come sensibili. Di conseguenza, il flag memorizzato nel profilo dell'amministratore può essere tecnicamente recuperato immediatamente con la query API che Figura 8 spettacoli.

Figura 8. Scorciatoia per il recupero dei flag

Questo comportamento è intenzionale. L'obiettivo di EntraGoat non è nascondere il flag, ma dimostrare tecniche realistiche di escalation dei privilegi in ambienti Entra ID. È possibile recuperare il flag tramite una chiamata diretta all'API, ma il vero obiettivo è scalare i privilegi, accedere al portale Azure come utente amministratore e visualizzare il flag nell'interfaccia utente, dimostrando il pieno controllo di un'identità di amministratore globale(Figura 9).

La bandiera è un artefatto di gioco per convalidare il completamento, non l'obiettivo primario dello scenario.

Figura 9. Trovare la bandiera

Fase 5: Pulire

Dopo ogni scenario, è possibile annullare le modifiche (Figura 10).

Figura 10. Pulizia dopo lo Scenario 1

Nessun avanzo disordinato nel vostro inquilino.

Volete approfondire?

Ogni scenario è corredato da uno script completo e da un file di soluzione passo-passo che potete utilizzare per:

  • Insegnare agli altri
  • Comprendere la meccanica di ogni percorso di attacco
  • Automatizzare i test
  • Costruire nuove catene di attacco

Li troverete sotto: /soluzioni/

Imparare, esercitarsi e difendersi con EntraGoat

EntraGoat è più di un ambiente di laboratorio. Fornisce una piattaforma on-demand per esplorare i percorsi di attacco di Entra ID, sviluppare strategie di difesa efficaci e applicare queste conoscenze per rafforzare gli ambienti del mondo reale.

Ottenete EntraGoat ed esploratelo voi stessi. Usatelo per fare del bene.

Continuare con EntraGoat

Esclusione di responsabilità

Questo contenuto è fornito solo a scopo educativo e informativo. Il suo scopo è quello di promuovere la consapevolezza e la correzione responsabile delle vulnerabilità di sicurezza che possono esistere sui sistemi di cui si è proprietari o che si è autorizzati a testare. È severamente vietato l'uso non autorizzato di queste informazioni per scopi malevoli, sfruttamento o accesso illegale. Semperis non approva né condona alcuna attività illegale e declina ogni responsabilità derivante dall'uso improprio del materiale. Inoltre, Semperis non garantisce l'accuratezza o la completezza dei contenuti e non si assume alcuna responsabilità per eventuali danni derivanti dal loro utilizzo.