Torna agli aggiornamenti
New releaseAug 26, 2026

EntraFalcon V20260824

Uno strumento PowerShell leggero per valutare la postura di sicurezza degli ambienti Microsoft Entra ID. Aiuta a identificare oggetti privilegiati, assegnazioni rischiose e potenziali errori di configurazione.

Condividi

EntraFalcon

alt text

EntraFalcon è uno strumento di valutazione basato su PowerShell per pentester, analisti della sicurezza e amministratori di sistema, progettato per valutare il livello di sicurezza di un ambiente Microsoft Entra ID.

Pensato per essere facile da usare, EntraFalcon funziona con PowerShell 5.1 e 7, supporta sia Windows che Linux e non richiede moduli PowerShell aggiuntivi, installazioni extra o consenso dell'API Microsoft Graph.

Lo strumento aiuta a individuare oggetti privilegiati, assegnazioni potenzialmente rischiose e configurazioni errate di Conditional Access spesso trascurate, come ad esempio:

  • Utenti con controllo su gruppi o applicazioni ad alto privilegio
  • Applicazioni enterprise esterne o interne con permessi eccessivi (ad es., API Microsoft Graph, ruoli Azure)
  • Utenti con assegnazioni di ruoli IAM di Azure direttamente sulle risorse
  • Account privilegiati sincronizzati da ambienti on-premises
  • Utenti inattivi o utenti senza capacità MFA
  • Gruppi non protetti utilizzati in assegnazioni sensibili (ad es., esclusioni di Conditional Access, Subscription Owner o membri idonei di un gruppo privilegiato)

I risultati vengono presentati in report HTML interattivi per supportare un'esplorazione e un'analisi efficienti.

🚀 Funzionalità

  • Script PowerShell semplice, compatibile con PowerShell 5.1 e 7. Funziona su Windows e Linux
  • Autenticazione integrata che supporta più metodi
  • Utilizza applicazioni Microsoft di prima parte con ambiti pre-consentiti per bypassare le richieste di consenso dell'API Graph
  • Genera report HTML navigabili che supportano filtri, ordinamento, esportazione dei dati, ecc.
  • Esegue oltre 90 controlli automatizzati e riepiloga i risultati in un Security Findings Report
    • Include controlli per configurazioni tenant deboli e proprietà o permessi degli oggetti rischiosi
    • Fornisce valutazioni di gravità, oltre a descrizioni del problema, potenziali minacce e indicazioni per la correzione
    • Elenca gli oggetti interessati e fornisce collegamenti diretti ai relativi report dettagliati per ulteriori indagini
  • Esegue una valutazione di base di impatto, probabilità e rischio per evidenziare gli oggetti ad alto privilegio scarsamente protetti e ordinare i dati.
  • Visualizza avvisi per configurazioni rischiose e privilegi elevati
  • Enumera gli oggetti Entra ID, tra cui:
    • Utenti (inclusi Agent Users)
    • Gruppi
    • Applicazioni enterprise
    • Registrazioni di app
    • Identità gestite
    • Identità degli agenti
    • Principal del blueprint delle identità degli agenti
    • Blueprint delle identità degli agenti
    • Assegnazioni PIM:
      • PIM per ruoli Entra
      • PIM per gruppi
      • PIM per ruoli Azure
    • Assegnazioni di ruoli Entra
    • Assegnazioni di ruoli Azure
    • Assegnazioni RBAC di Intune
    • Pacchetti di accesso
    • Cataloghi di Entitlement Management
    • RBAC dei cataloghi
    • Criteri di Conditional Access
    • Unità amministrative
    • Impostazioni PIM:
      • PIM per ruoli Entra
      • PIM per gruppi (solo autenticazione BroCi)

✅ Requisiti

TipoPermessoObbligatorioImpatto se assente
Ruolo Entra IDGlobal ReaderNon è possibile eseguire gli script
Ruolo AzureReader: su ogni Management Group o SubscriptionNoImpossibile valutare le assegnazioni IAM di Azure

Inoltre, devi essere in grado di autenticarti all'API Microsoft Graph e, opzionalmente, all'API Azure ARM dal dispositivo su cui esegui lo strumento. Assicurati che i criteri di Conditional Access non blocchino la tua autenticazione.

▶️ Utilizzo

Scaricare EntraFalcon

Per iniziare, clona il repository e accedi alla directory del progetto:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon

Nota: Potrebbe essere necessario modificare temporaneamente i criteri di esecuzione di PowerShell per eseguire lo script.
Fallo solo per script attendibili!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

Eseguire EntraFalcon

EntraFalcon include il supporto integrato per l'autenticazione Entra ID. Usare -AuthFlow per selezionare il flusso di autenticazione.

Per le valutazioni standard, usare uno dei flussi a copertura completa:

Flusso consigliatoIdeale perPiattaformaCopertura
BroCi (predefinito)Esecuzioni interattive su WindowsWindowsCompleta
BroCiManualCodeAutenticazione in un altro browserWindows, Linux, macOSCompleta
BroCiTokenToken di aggiornamento esistente del portale AzureWindows, Linux, macOSCompleta
ServicePrincipalAutomazione / CIWindows, Linux, macOSCompleta

BroCi richiede un solo accesso interattivo. BroCiToken e ServicePrincipal non ne richiedono alcuno. I flussi utente di fallback possono richiedere più accessi interattivi perché vengono richiesti token di risorse separati.

Flussi di autenticazione di fallback

A causa della mancanza di applicazioni di prima parte pre-consentite, i flussi di fallback non possono eseguire l'enumerazione completa (PIM for Groups, Access Packages, Catalogs). Pertanto, attualmente rimangono solo opzioni di fallback.

FlussoUsare solo quandoPiattaformaLimitazioni
AuthCodeÈ richiesta la compatibilità legacyWindowsCopertura parziale. Nessun report autonomo per PIM for Groups, Access Packages o Catalogs.
DeviceCodeL'autenticazione basata su browser non è possibileWindows, Linux, macOSCopertura parziale. Nessun report autonomo per PIM for Groups, Access Packages o Catalogs. Alcuni controlli di Security Findings vengono eseguiti con profondità ridotta.
ManualCodeL'autenticazione deve essere completata tramite una sessione browser separataWindows, Linux, macOSCopertura parziale. Nessun report autonomo per PIM for Groups, Access Packages o Catalogs.

Consigliato: flusso BroCi (predefinito / solo Windows)

BroCi usa applicazioni di prima parte alternative e richiede un solo accesso interattivo.
È utile quando il client Azure Active Directory PowerShell richiede l'assegnazione e deve essere evitato.```powershell .\run_EntraFalcon.ps1

Selezione esplicita di BroCi:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi

Consigliato: BroCi + Flusso di Codice Manuale```powershell

.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode

1. Lo script copia l'URL di autenticazione negli appunti.
2. Incolla l'URL in un browser (opzionalmente su un altro dispositivo per il supporto SSO).
3. Apri gli strumenti di sviluppo del browser e, nella scheda Rete, abilita `Preserve log`.
4. Completa l'autenticazione.
5. Cerca nel log di rete `code=1.` e copia l'URL della richiesta contenente il codice negli appunti.
6. Premi Invio per continuare; lo script legge il codice dagli appunti e completa l'acquisizione del token.


#### Consigliato: BroCi con Token
Se è già disponibile un token di aggiornamento valido del portale Azure (client c44b4083-3bb0-49c1-b47d-974e53cbdf3c), può essere utilizzato direttamente.
Esempio: Ottenere il token di aggiornamento dal browser
1. Apri gli strumenti di sviluppo del browser e, nella scheda Rete, abilita Preserve log.
2. Autenticati su https://entra.microsoft.com.
3. Cerca nel log di rete `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` ed estrai il token di aggiornamento dalla risposta.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"

Consigliato: Service Principal

Autentica come applicazione registrata utilizzando la concessione delle credenziali client OAuth2 — nessuna interazione utente richiesta. Utile per esecuzioni automatizzate ripetute.
Richiede una registrazione personalizzata dell'app Entra con autorizzazioni API Graph di tipo Application (vedi sotto).

Con segreto client:```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""

**Con certificato PFX:**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"

Per un PFX protetto da password, aggiungi -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString).

Con certificato PEM + chiave privata (solo PowerShell 7+):```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"

Per una chiave privata crittografata, aggiungi `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.

##### Autorizzazioni richieste per la registrazione dell'app
Concedi le seguenti autorizzazioni **Applicazione** (non Delegata) sulla registrazione dell'app e fornisci il consenso amministrativo:

| Autorizzazione | Tipo |
|---|---|
| `AdministrativeUnit.Read.All` | Applicazione |
| `AgentIdentity.Read.All` | Applicazione |
| `AgentIdentityBlueprint.Read.All` | Applicazione |
| `AgentIdentityBlueprintPrincipal.Read.All` | Applicazione |
| `Application.Read.All` | Applicazione |
| `AuditLog.Read.All` | Applicazione |
| `Device.Read.All` | Applicazione |
| `EntitlementManagement.Read.All` | Applicazione |
| `Group.Read.All` | Applicazione |
| `Organization.Read.All` | Applicazione |
| `Policy.Read.All` | Applicazione |
| `PrivilegedAccess.Read.AzureADGroup` | Applicazione |
| `RoleManagement.Read.Directory` | Applicazione |
| `RoleManagementPolicy.Read.AzureADGroup` | Applicazione |
| `User.Read.All` | Applicazione |
| `DeviceManagementRBAC.Read.All` | Applicazione |

Inoltre, assegna il ruolo **Azure Reader** sul gruppo di gestione radice (o su ogni sottoscrizione pertinente) e, opzionalmente, il ruolo **Global Reader** all'entità servizio in Entra ID (richiesto per lo stato MFA per utente).

#### Fallback: Flusso del codice di autorizzazione (solo Windows)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode

Fallback: Device Code Flow

È spesso limitato da Conditional Access in ambienti hardened.
Con DeviceCode, due controlli di Security Findings vengono eseguiti con profondità ridotta (CAP-004 e CAP-005).```powershell .\run_EntraFalcon.ps1 -AuthFlow DeviceCode

#### Fallback: flusso con codice di autorizzazione + codice manuale```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
  1. Lo script copia l'URL di autenticazione negli appunti.
  2. Incolla l'URL in un browser (opzionalmente su un altro dispositivo per il supporto SSO).
  3. Completa l'autenticazione.
  4. Copia l'URL di reindirizzamento finale dalla barra degli indirizzi del browser (contenente il codice di autorizzazione) negli appunti.
  5. Premi Invio per continuare; lo script legge il codice dagli appunti e completa l'acquisizione del token.

Altri Parametri

Includi App Enterprise di Proprietà Microsoft

Per impostazione predefinita, le applicazioni enterprise ufficiali di Microsoft sono escluse dalla valutazione per ridurre il rumore. Per includerle nell'enumerazione e nell'analisi, usa l'interruttore -IncludeMsApps:```powershell .\run_EntraFalcon.ps1 -IncludeMsApps

#### Valutazione Skip PIM per i Gruppi
Usa l'opzione `-SkipPimForGroups` per saltare la pre-raccolta e l'arricchimento di PIM per i Gruppi.  
Questo salta anche il report autonomo delle impostazioni di `PIM for Groups`.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups

Altri Parametri Opzionali

ParametroDescrizioneValore Predefinito
UserAgentUser agent utilizzato per le richieste all'endpoint del token e per le chiamate API.EntraFalcon
DisableCAEDisabilita la richiesta di token Continuous Access Evaluation (CAE).false
TenantSpecifica il tenant (ID o dominio) per l'autenticazione. Utile quando si valuta un tenant diverso da quello principale dell'account.Tenant principale dell'account
OutputFolderCartella di output in cui vengono salvati i report.Results_%TenantName%_YYYYMMDD_HHMM
LimitResultsLimita il numero di gruppi e utenti nel report (dopo l'ordinamento per rischio). Utile per tenant di grandi dimensioni.-
LogLevelControlla la verbosità della registrazione CLI in fase di esecuzione. Valori supportati: Off (predefinito), Verbose, Debug, Trace.Off
ApiTopImposta il numero massimo di oggetti restituiti dall'API. Valori più bassi riducono il rischio di timeout (HTTP 504), ma aumentano il numero di richieste.999 (Intervallo valido: 5–999)
AuthFlowSelettore del flusso di autenticazione preferito. Valori: BroCi (predefinito), AuthCode, DeviceCode, ManualCode, BroCiManualCode, BroCiToken, ServicePrincipal.BroCi
BroCiTokenRefresh token del portale Azure per AuthFlow BroCiToken.-
SPClientIdID applicazione (client) del service principal. Richiesto per -AuthFlow ServicePrincipal.-
SPClientSecretSegreto client per il service principal. Utilizzato con -AuthFlow ServicePrincipal.-
SPCertificatePathPercorso di un file di certificato PFX/P12 per l'autenticazione del service principal.-
SPCertificatePasswordPassword (SecureString) per il certificato PFX specificato da -SPCertificatePath.-
SPCertificatePemPathPercorso di un file di certificato PEM. Utilizzato insieme a -SPPrivateKeyPemPath.-
SPPrivateKeyPemPathPercorso del file della chiave privata PEM corrispondente a -SPCertificatePemPath.-
SPPrivateKeyPemPasswordPassword (SecureString) per la chiave privata PEM specificata da -SPPrivateKeyPemPath.-
CsvAbilita la scrittura di file di report CSV in aggiunta ai file di report TXT/HTML.false
ExportCapUncoveredUsersPer ogni policy di Accesso Condizionale abilitata con targeting utente, esporta un CSV che elenca gli utenti non coperti da tale policy. I file vengono scritti in una sottocartella ConditionalAccessPolicies_UncoveredUsers nella directory di output.false
ExportFindingsJsonEsporta tutti i Security Findings come JSON al termine dell'esecuzione.false
ExportDataJsonEsporta il report arricchito e i dataset di supporto come file di dati JSON grezzi in Data_Json; i metadati dell'esecuzione sono disponibili in Summary.json.false
DebugObjectDumpEsporta gli oggetti di report finali in memoria come CLIXML in Debug_ObjectDump per risoluzione dei problemi e test.false

📊 Alcuni Esempi di Report

Report dei Security Finding

alt text alt text

Utenti

alt text

Utenti (Sezione Dettagli)

alt text

Ruoli Entra ID

alt text

Ruoli Azure

alt text

Applicazione Enterprise (Sezione Dettagli)

alt text

Policy di Accesso Condizionale

alt text

Policy di Accesso Condizionale (Sezione Dettagli)

alt text

Impostazioni Ruolo PIM (Entra)

alt text

Identità Agente

alt text

Riepilogo Enumerazione

alt text

📑 Report HTML

Generale

  • Fare clic sul pulsante ⚙️ Columns per mostrare o nascondere colonne specifiche.
  • Fare clic su 💾 Export per scaricare CSV/JSON o copiare CSV/TSV/JSON dei dati attualmente visibili.
  • Fare clic su 👁 Share View per copiare filtri, ordinamento e selezione delle colonne come collegamento condivisibile.
  • Fare clic su 🧰 Preset Views per applicare filtri e selezioni di colonne preconfigurati.
  • Fare clic su 🔄 Reset View per ripristinare la visualizzazione predefinita.
  • Fare clic sui nomi degli oggetti per passare alle informazioni dettagliate, anche in altri report.
  • Quando si utilizza la navigazione interna, premere il pulsante Indietro del browser per tornare indietro.
  • Alcuni campi di intestazione delle tabelle mostrano testo di aiuto al passaggio del mouse.
  • Ordinare i dati facendo clic su un'intestazione di tabella.
  • Alt+clic su un'intestazione di colonna principale della tabella per nascondere rapidamente quella colonna.
  • Alt+clic su una riga di contenuto della tabella principale per nasconderla temporaneamente. Utilizzare il chip delle righe nascoste o Reset View per mostrare di nuovo le righe nascoste.

Filtraggio

  • Se non viene specificato un operatore, il filtraggio utilizza per impostazione predefinita contains.
  • Utilizzare = per una corrispondenza esatta.
  • Utilizzare ^ per starts with (ad es., ^Mallory).
  • Utilizzare $ per ends with (ad es., $domain.ch).
  • Sono supportati operatori di confronto come >, <, >=, <= (solo valori numerici).
  • I filtri possono essere negati iniziando con ! (tranne per i confronti numerici). Esempi: !Mallory, !=Mallory, !^Mallory o !$domain.ch.
  • Utilizzare =empty per corrispondere a celle vuote, o !=empty per corrispondere a celle non vuote.
  • Utilizzare || per corrispondere a uno qualsiasi di più valori nella stessa colonna (ad es., Admin || Guest).
  • Utilizzare && per richiedere più corrispondenze nella stessa colonna (ad es., !adm && !svc && !sql).
  • Per applicare la logica OR tra colonne, utilizzare or_, group1_, group2_... direttamente in un campo di filtro. Esempi: nella colonna 1: or_>1, nella colonna 2: or_!Mallory
  • Nota: La colonna DisplayName include anche l'ID dell'oggetto (invisibile), quindi è possibile filtrare anche per ID.

Controlli tramite Parametri GET

  • Filtraggio: Applicare i filtri utilizzando i nomi dei campi come parametri HTTP GET, ad es., ?EntraRoles=>1&Enabled=true.
    Per applicare la logica OR tra colonne, utilizzare il prefisso or_ o group1_ (ad es., ?or_EntraRoles=>0&or_GrpMem=>0).
  • Selezione Colonne: Scegliere quali colonne visualizzare utilizzando il parametro columns. Esempio: ?columns=DisplayName,Owner.
  • Ordinamento: Ordinare i dati utilizzando i parametri sort e sortDir. Esempio: ?sort=Impact&sortDir=desc o ?sort=OwnerCount&sortDir=asc.
  • Dettagli Oggetto: Passare direttamente a un oggetto specifico nel report utilizzando un'ancora (#) e l'ID dell'oggetto, ad es. #%ObjectID%.

Valutazione

  • Impact: Rappresenta la quantità o la gravità delle autorizzazioni dell'oggetto.
  • Likelihood: Rappresenta quanto facilmente l'oggetto può essere influenzato o quanto è protetto.
  • Risk: Punteggio calcolato: Impact × Likelihood = Risk.
  • Importante:
    • Questo punteggio è inteso come una valutazione di base per aiutare a ordinare e dare priorità alle voci nella tabella.
    • I punteggi di rischio non sono direttamente confrontabili tra diversi tipi di oggetti o report.
    • Non è inteso a sostituire una valutazione completa del rischio.

🔧Sotto il Coffano

Categorizzazione dei Ruoli

I ruoli Entra ID e Azure sono approssimativamente categorizzati in diversi livelli di tier. Questa categorizzazione influenza i punteggi di impatto degli oggetti assegnati a tali ruoli. L'obiettivo è assegnare un punteggio di impatto più alto agli utenti con ruoli più potenti (ad es., Global Administrator) rispetto agli utenti con ruoli meno critici (ad es., Global Reader), anche se entrambi sono considerati ruoli privilegiati da Microsoft.

Nota: Per i ruoli Azure, questa categorizzazione è meno precisa, poiché l'impatto effettivo dipende fortemente dall'ambito dell'assegnazione del ruolo. Ad esempio, un ruolo Owner su una singola macchina virtuale ha un impatto significativamente inferiore rispetto a quando lo stesso ruolo viene applicato a un'intera sottoscrizione. Potrebbe anche essere una sottoscrizione di test senza alcuna risorsa.

Ruoli Entra ID
Nome RuoloLivello TierGUID
Global Administrator062e90394-69f5-4237-9190-012177145e10
Partner Tier2 Support0e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8
Privileged Authentication Administrator07be44c8a-adaf-4e2a-84d6-ab2649e08a13
Privileged Role Administrator0e8611ab8-c189-46e8-94e1-60213ab1f814
Domain Name Administrator08329153b-31d0-4727-b945-745eb3bc5f31
External Identity Provider Administrator0be2f45a1-457d-42af-a067-6ec1fa63bc45
Hybrid Identity Administrator08ac3fc64-6eca-42ea-9e69-59f4c7b60eb2
Application Administrator09b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3
Cloud Application Administrator0158c047a-c907-4556-b7ef-446551a6b5f7
Security Administrator0194ae4cb-b126-40b2-bd5b-6091b380977d
Agent ID Administrator1db506228-d27e-4b7d-95e5-295956d6615f
AI Administrator1d2562ede-74db-457e-a7b6-544e236ebb61
Conditional Access Administrator1b1be1c3e-b65d-4f19-8427-f6fa0d97feb9
Authentication Administrator1c4e39bd9-1100-46d3-8c65-fb160da0071f
Azure DevOps Administrator1e3973bdf-4987-49ae-837a-ba8e231c7286
Directory Writers19360feb5-f418-4baa-8175-e2a00bac4301
Entra SOC Identity Responder158f930cc-fcf4-4152-852c-1d7dbf502139
Exchange Administrator129232cdf-9323-42fd-ade2-1d097af3e4de
Groups Administrator1fdd7a751-b60b-444a-984c-02652fe8fa1c
Helpdesk Administrator1729827e3-9c14-49f7-bb1b-9608f156bbb8
Identity Governance Administrator145d8d3c5-c802-45c6-b32a-1d70b5e1e86e
Intune Administrator13a2c62db-5318-420d-8d74-23affee5d9d5
Knowledge Administrator1b5a8dcf3-09d5-43a9-a639-8e29ef291470
Knowledge Manager1744ec460-397e-42ad-a462-8b3f9747a02c
Lifecycle Workflows Administrator159d46f88-662b-457b-bceb-5c3809e5908f
Directory Synchronization Accounts1d29b2b05-8046-44ba-8758-1e26182fcf32
On Premises Directory Sync Account1a92aed5d-d78a-4d16-b381-09adb37eb3b0
Partner Tier1 Support14ba39ca4-527c-499a-b93d-d9b492c50246
Password Administrator1966707d0-3269-4727-9be2-8c3a10f19b9d
SharePoint Administrator1f28a1f50-f6e7-4571-818b-6a12f2af6b6c
Teams Administrator169091246-20e8-4a56-aa4d-066075b2a7a8
User Administrator1fe930be7-5e62-47db-91af-98c3a49a38b1
Windows 365 Administrator111451d60-acb2-45eb-a7d6-43d0f0125c13
Yammer Administrator1810a2642-a034-447f-a5e8-41beaa378541
Authentication Policy Administrator20526716b-113d-4c15-b2c8-68e3c22b9f80
Azure AD Joined Device Local Administrator29f06204d-73c1-4d4c-880a-6edb90606fd8
Cloud Device Administrator27698a772-787b-4ac8-901f-60d6b08affd2
Global Reader2f2ef992c-3afb-46b9-b7cf-a126ee74c451
Guest Inviter295e79109-95c0-4d8e-aee3-d01accf2d47b
Security Reader25d6b6bb7-de71-4623-b4af-96380a352509
Directory Readers288d8e3e3-8f55-4a1e-953a-9b9898b8876b
Ruoli Azure
Nome RuoloLivello TierGUID
Owner08e3af657-a8ff-443c-a75c-2fe8c4bcb635
User Access Administrator018d7d88d-d35e-4fb5-a5c3-7773c20a72d9
Contributor0b24988ac-6180-42a0-ab88-20f7382dd24c
Role Based Access Control Administrator0f58310d9-a9f6-439a-9e8d-f62e7b41a168
Reservations Administrator0a8889054-8d42-49c9-bc1c-52486c10e7cd
Security Admin1fb1c8493-542b-48eb-b624-b4c8fea62acd
Virtual Machine Contributor19980e02c-c2be-4d73-94e8-173b1dc7cf3c
Virtual Machine Data Access Administrator166f75aeb-eabe-4b70-9f1e-c350c4c9ad04
Virtual Machine Administrator Login11c0163c0-47e6-4577-8991-ea5c82e286e4
Windows Admin Center Administrator Login1a6333a3e-0164-44c3-b281-7a577aff287f
Container Registry Contributor and Data Access Configuration Administrator13bc748fc-213d-45c1-8d91-9da5725539b9
Key Vault Administrator100482a5a-887f-4fb3-b363-3b7fe8e74483
Key Vault Data Access Administrator18b54135c-b56d-4d72-a534-26097cfdc8d8
Key Vault Secrets Officer1b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Key Vault Secrets User14633458b-17de-408a-b874-0445c86b69e6
Azure Kubernetes Service RBAC Admin13498e952-d568-435e-9b2c-8d77e338d7f7
Azure Kubernetes Service RBAC Cluster Admin1b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b
Azure Arc Kubernetes Admin1dffb1e0c-446f-4dde-a09f-99eb5cc68b96
Azure Arc Kubernetes Cluster Admin18393591c-06b9-48a2-a542-1bd6b377f6a2
Azure Arc VMware VM Contributor1b748a06d-6150-4f8a-aaa9-ce3940cd96cb
Storage Account Contributor117d1049b-9a84-46fb-8f53-869881c3d3ab
Reader2acdd72a7-3385-48ef-bd42-f606fba81ae7
SecurityReader239bc4728-0917-49c7-9d2c-d95423bc2eb4
Virtual Machine User Login3fb879df8-f326-4884-b1cf-06f3ad86be52
Desktop Virtualization User31d18fff3-a72a-46b5-b4a9-0b38a3cd7e63

Categorizzazione delle Autorizzazioni API

Alcune autorizzazioni API consentono a un'applicazione di escalare direttamente ai privilegi di Global Administrator. Pertanto, diverse autorizzazioni API sono categorizzate in diversi livelli di gravità. Questa categorizzazione influenza il punteggio di impatto delle applicazioni a cui sono assegnate queste autorizzazioni — sia come autorizzazioni applicazione che come autorizzazioni delegate per gli utenti.

Autorizzazione Applicazione| Permission | Severity | GUID | |-------------------------------------------------------------|------------|----------------------------------------| | RoleManagement.ReadWrite.Directory | Pericoloso | 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8 | | AppRoleAssignment.ReadWrite.All | Pericoloso | 06b708a9-e830-4db3-a914-8e69da51d44f | | Application.ReadWrite.All | Pericoloso | 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 | | RoleAssignmentSchedule.ReadWrite.Directory | Pericoloso | dd199f4a-f148-40a4-a2ec-f0069cc799ec | | PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Pericoloso | 41202f2c-f7ab-45be-b001-85c9728b9d69 | | PrivilegedAccess.ReadWrite.AzureADGroup | Pericoloso | 2f6817f8-7b12-4f0f-bc18-eeaf60705a9e | | RoleEligibilitySchedule.ReadWrite.Directory | Pericoloso | fee28b28-e1f3-4841-818e-2704dc62245f | | PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Pericoloso | 618b6020-bca8-4de6-99f6-ef445fa4d857 | | Domain.ReadWrite.All | Pericoloso | 7e05723c-0bb0-42da-be95-ae9f08a6e53c | | Application.ReadUpdate.All | Pericoloso | fc023787-fd04-4e44-9bc7-d454f00c0f0a | | AgentIdentityBlueprint.ReadWrite.All | Alto | 7fddd33b-d884-4ec0-8696-72cff90ff825 | | AgentIdentityBlueprint.AddRemoveCreds.All | Alto | 0510736e-bdfb-4b37-9a1f-89b4a074763a | | ADSynchronization.ReadWrite.All | Alto | ab43b826-2c7a-4aff-9ecd-d0629d0ca6a9 | | EntitlementManagement.ReadWrite.All | Alto | 9acd699f-1e81-4958-b001-93b1d2506e19 | | Organization.ReadWrite.All | Alto | 292d869f-3427-49a8-9dab-8c70152b74e9 | | Policy.ReadWrite.PermissionGrant | Alto | a402ca1c-2696-4531-972d-6e5ee4aa11ea | | RoleManagementPolicy.ReadWrite.AzureADGroup | Alto | b38dcc4d-a239-4ed6-aa84-6c65b284f97c | | RoleManagementPolicy.ReadWrite.Directory | Alto | 31e08e0a-d3f7-4ca2-ac39-7343fb83e8ad | | Policy.ReadWrite.AuthenticationMethod | Alto | 29c18626-4985-4dcd-85c0-193eef327366 | | User.DeleteRestore.All | Alto | eccc023d-eccf-4e7b-9683-8813ab36cecc | | User.EnableDisableAccount.All | Alto | 3011c876-62b7-4ada-afa2-506cbbecc68c | | DelegatedPermissionGrant.ReadWrite.All | Alto | 8e8e4742-1d95-4f68-9d56-6ee75648c72a | | Policy.ReadWrite.ConditionalAccess | Alto | 01c0a623-fc9b-48e9-b794-0756f8e8f067 | | DeviceManagementConfiguration.ReadWrite.All | Alto | 9241abd9-d0e6-425a-bd4f-47ba86e767a4 | | DeviceManagementRBAC.ReadWrite.All | Alto | e330c4f0-4170-414e-a55a-2f022ec2b57b | | Directory.ReadWrite.All | Alto | 19dbc75e-c2e2-444c-a770-ec69d8559fc7 | | Group.ReadWrite.All | Alto | 62a82d76-70ea-41e2-9197-370581804d09 | | GroupMember.ReadWrite.All | Alto | dbaae8cf-10b5-4b86-a4a1-f871c94c6695 | | UserAuthenticationMethod.ReadWrite.All | Alto | 50483e42-d915-4231-9639-7fdb7fd190e5 | | User-PasswordProfile.ReadWrite.All | Alto | cc117bb9-00cf-4eb8-b580-ea2a878fe8f7 | | Sites.FullControl.All | Alto | a82116e5-55eb-4c41-a434-62fe8a61c773 | | Sites.FullControl.All SharePointAPI | Alto | 678536fe-1083-478a-9c59-b99265e6b0d3 | | Sites.Manage.All SharePointAPI | Alto | 9bff6588-13f2-4c48-bbf2-ddab62256b36 | | Sites.Read.All SharePointAPI | Alto | d13f72ca-a275-4b96-b789-48ebcc4da984 | | Sites.ReadWrite.All SharePointAPI | Alto | fbcd29d2-fcca-4405-aded-518d457caae4 | | Sites.Manage.All | Alto | 0c0bf378-bf22-4481-8f81-9e89a9b4960a | | Sites.Read.All | Alto | 332a536c-c7ef-4017-ab91-336970924f0d | | Sites.ReadWrite.All | Alto | 9492366f-7969-46a4-8d15-ed1a20078fff | | Files.Read.All | Alto | 01d4889c-1287-42c6-ac1f-5d1e02578ef6 | | Files.ReadWrite.All | Alto | 75359482-378d-4052-8f01-80520e7db3cd | | DeviceLocalCredential.Read.All | Alto | db51be59-e728-414b-b800-e0f010df1a79 | | AdministrativeUnit.ReadWrite.All | Alto | 5eb59dd3-1da2-4329-8733-9dabdc435916 | | UserAuthMethod-HardwareOATH.ReadWrite.All | Alto | 7e9ebcc1-90aa-4471-8051-e68d6b4e9c89 | | UserAuthMethod-Phone.ReadWrite.All | Alto | 6e85d483-7092-4375-babe-0a94a8213a58 | | UserAuthMethod-QR.ReadWrite.All | Alto | 4869299f-18c3-40c8-98f2-222657e67db1 | | UserAuthMethod-TAP.ReadWrite.All | Alto | 627169a8-8c15-451c-861a-5b80e383de5c | | User.ReadWrite.All | Medio | 741f803b-c850-494e-b5df-cde7c675a1ca | | Application.ReadWrite.OwnedBy | Medio | 18a4783c-866b-4cc7-a460-3d5e5662c884 | | Chat.Read.All | Medio | 6b7d71aa-70aa-4810-a8d9-5d9fb2830017 | | Chat.ReadWrite.All | Medio | 294ce7c9-31ba-490a-ad7d-97a7d075e4ed | | Calendars.Read | Medio | 798ee544-9d2d-430c-a058-570e29e34338 | | Calendars.ReadWrite | Medio | ef54d2bf-783f-4e0f-bca1-3210c0444d99 | | Mail.Read | Medio | 810c84a8-4a9e-49e6-bf7d-12d183f40d01 | | Mail.ReadWrite | Medio | e2a3a72e-5f79-4c64-b1b1-878b674786c9 | | BitlockerKey.Read.All | Medio | 57f1cf28-c0c4-4ec3-9a30-19a2eaaf2f6e | | Mail.Send | Medio | b633e1c5-b582-4048-a93e-9f11b44c7e96 | | OnlineMeetings.ReadWrite.All | Medio | b8bb2037-6e08-44ac-a4ea-4674e010e2a4 | | CustomSecAttributeAssignment.ReadWrite.All | Medio | de89b5e4-5b8f-48eb-8925-29c2b33bd8bd | | ServicePrincipalEndpoint.ReadWrite.All | Medio | 89c8469c-83ad-45f7-8ff2-6e3d4285709e | | AgentIdUser.ReadWrite.IdentityParentedBy | Medio | 4aa6e624-eee0-40ab-bdd8-f9639038a614 | | AgentIdentity.CreateAsManager | Basso | 4c390976-b2b7-42e0-9187-c6be3bead001 |
Autorizzazione Delegata
PermissionSeverityGUID
RoleManagement.ReadWrite.DirectoryPericolosod01b97e9-cbc0-49fe-810a-750afd5527a3
AppRoleAssignment.ReadWrite.AllPericoloso84bccea3-f856-4a8a-967b-dbe0a3d53a64
Application.ReadWrite.AllPericolosobdfbf15f-ee85-4955-8675-146e8e5296b5
RoleAssignmentSchedule.ReadWrite.DirectoryPericoloso8c026be3-8e26-4774-9372-8d5d6f21daff
PrivilegedAssignmentSchedule.ReadWrite.AzureADGroupPericoloso06dbc45d-6708-4ef0-a797-f797ee68bf4b
PrivilegedAccess.ReadWrite.AzureADGroupPericoloso32531c59-1f32-461f-b8df-6f8a3b89f73b
RoleEligibilitySchedule.ReadWrite.DirectoryPericoloso62ade113-f8e0-4bf9-a6ba-5acb31db32fd
PrivilegedEligibilitySchedule.ReadWrite.AzureADGroupPericolosoba974594-d163-484e-ba39-c330d5897667
Domain.ReadWrite.AllPericoloso0b5d694c-a244-4bde-86e6-eb5cd07730fe
Application.ReadUpdate.AllPericoloso0586a906-4d89-4de8-b3c8-1aacdcc0c679
AgentIdentityBlueprint.AddRemoveCreds.AllAlto75b5feb2-bfe7-423f-907d-cc505186f246
AgentIdentityBlueprint.ReadWrite.AllAlto4fd490fc-1467-48eb-8a4c-421597ab0402
EntitlementManagement.ReadWrite.AllAltoae7a573d-81d7-432b-ad44-4ed5c9d89038
Organization.ReadWrite.AllAlto46ca0847-7e6b-426e-9775-ea810a948356
Policy.ReadWrite.PermissionGrantAlto2672f8bb-fd5e-42e0-85e1-ec764dd2614e
RoleManagementPolicy.ReadWrite.AzureADGroupAlto0da165c7-3f15-4236-b733-c0b0f6abe41d
RoleManagementPolicy.ReadWrite.DirectoryAlto1ff1be21-34eb-448c-9ac9-ce1f506b2a68
Policy.ReadWrite.AuthenticationMethodAlto7e823077-d88e-468f-a337-e18f1f0e6c7c
User.DeleteRestore.AllAlto4bb440cd-2cf2-4f90-8004-aa2acd2537c5
User.EnableDisableAccount.AllAltof92e74e7-2563-467f-9dd0-902688cb5863
DelegatedPermissionGrant.ReadWrite.AllAlto41ce6ca6-6826-4807-84f1-1c82854f7ee5
Policy.ReadWrite.ConditionalAccessAltoad902697-1014-4ef5-81ef-2b4301988e8c
DeviceManagementConfiguration.ReadWrite.AllAlto0883f392-0a7a-443d-8c76-16a6d39c7b63
DeviceManagementRBAC.ReadWrite.AllAlto0c5e8a55-87a6-4556-93ab-adc52c4d862d
Directory.ReadWrite.AllAltoc5366453-9fb0-48a5-a156-24f0c49a4b84
Group.ReadWrite.AllAlto4e46008b-f24c-477d-8fff-7bb4ec7aafe0
GroupMember.ReadWrite.AllAltof81125ac-d3b7-4573-a3b2-7099cc39df9e
UserAuthenticationMethod.ReadWrite.AllAltob7887744-6746-4312-813d-72daeaee7e2d
Sites.FullControl.AllAlto5a54b8b3-347c-476d-8f8e-42d5c7424d29
Sites.Manage.AllAlto65e50fdc-43b7-4915-933e-e8138f11f40a
User-PasswordProfile.ReadWrite.AllAlto56760768-b641-451f-8906-e1b8ab31bca7
Sites.Read.AllAlto205e70e5-aba6-4c52-a976-6d2d46c48043
Sites.ReadWrite.AllAlto89fe6a52-be36-487e-b7d8-d061c450a026
Files.Read.AllAltodf85f4d6-205c-4ac5-a5ea-6bf408dba283
Files.ReadWrite.AllAlto863451e7-0667-486c-a5d6-d135439485f0
DeviceLocalCredential.Read.AllAlto9917900e-410b-4d15-846e-42a357488545
UserAuthMethod-Phone.ReadWriteAlto6c4aad61-f76b-46ad-a22c-57d4d3d962af
UserAuthMethod-Phone.ReadWrite.AllAlto48c99302-9a24-4f27-a8a7-acef4debba14
UserAuthMethod-Password.ReadWrite.AllAlto7f5b683d-df96-4690-a88d-6e336ed6dc7c
UserAuthMethod-Password.ReadWriteAlto60cce20d-d41e-4594-b391-84bbf8cc31f3
AdministrativeUnit.ReadWrite.AllAlto7b8a2d34-6b3f-4542-a343-54651608ad81
User.ReadWrite.AllMedio204e0828-b5ca-4ad8-b9f3-f32a958e7cc4
Chat.ReadWrite.AllMedio7e9a077b-3711-42b9-b7cb-5fa5f3f7fea7
Mail.ReadMedio570282fd-fa5c-430d-a7fd-fc8dc98a9dca
Mail.ReadWriteMedio024d486e-b451-40bb-833d-3e66d98c5c73
Mail.SendMedioe383f46e-2787-4529-855e-0e479a3ffac0
CustomSecAttributeAssignment.ReadWrite.AllMedioca46335e-8453-47cd-a001-8459884efeae
ServicePrincipalEndpoint.ReadWrite.AllMedio7297d82c-9546-4aed-91df-3d4f0a9b3ff0
BitlockerKey.Read.AllMediob27a61ec-b99c-4d6a-b126-c4375d08ae30
AiEnterpriseInteraction.ReadMedio859cceb9-2ec2-4e48-bcd7-b8490b5248a5
Calendars.ReadMedio465a38f9-76ea-45b9-9f34-9e8b0d4b0b42
Calendars.Read.SharedMedio2b9c4092-424d-4249-948d-b43879977640
Calendars.ReadWriteMedio1ec239c2-d7c9-4623-a91a-a9775856bb36
Calendars.ReadWrite.SharedMedio12466101-c9b8-439a-8589-dd09ee67e8e9
ChannelMessage.EditMedio2b61aa8a-6d36-4b2f-ac7b-f29867937c53
ChannelMessage.ReadWriteMedio5922d31f-46c8-4404-9eaf-2117e390a8a4
ChannelMessage.SendMedioebf0f66e-9fb1-49e4-a278-222f76911cf4
ChatMessage.SendMedio116b7235-7cc6-461e-b163-8e55691d839e
Chat.ReadWriteMedio9ff7295e-131b-4d94-90e1-69fde507ac11
Contacts.ReadWriteMediod56682ec-c09e-4743-aaf4-1a3aac4caa21
Directory.AccessAsUser.AllMedio0e263e50-5827-48a4-b97c-d940288653c7
Directory.Read.AllMedio06da0dbc-49e2-44d2-8312-53f166ab848a
EAS.AccessAsUser.AllMedioff91d191-45a0-43fd-b837-bd682c4a0b0f
EntitlementMgmt-SubjectAccess.ReadWriteMedioe9fdcbbb-8807-410f-b9ec-8d5468c7c2ac
EWS.AccessAsUser.AllMedio9769c687-087d-48ac-9cb3-c37dde652038
Files.ReadWriteMedio5c28f0bf-8a70-41f1-8ab2-9032436ddb65
IMAP.AccessAsUser.AllMedio652390e4-393a-48de-9484-05f9b1212954
MailboxItem.ImportExportMediodf96e8a0-f4e1-4ecf-8d83-a429f822cbd6
MailboxFolder.ReadMedio52dc2051-4958-4636-8f2a-281d39c6981c
MailboxFolder.ReadWriteMedio077fde41-7e0b-4c5b-bcd1-e9d743a30c80
MailboxItem.ReadMedio82305458-296d-4edd-8b0b-74dd74c34526
MailboxSettings.ReadWriteMedio818c620a-27a9-40bd-a6a5-d96f7d610b4b
Notes.ReadMedio371361e4-b9e2-4a3f-8315-2a301a3b0a3d
Notes.Read.AllMediodfabfca6-ee36-4db2-8208-7a28381419b3
Notes.ReadWriteMedio615e26af-c38a-4150-ae3e-c3b0d4cb1d6a
Notes.ReadWrite.AllMedio64ac0503-b4fa-45d9-b544-71a463f05da0
POP.AccessAsUser.AllMediod7b7f2d9-0f45-4ea1-9d42-e50810c06991
offline_accessBasso7427e0e9-2fba-42fe-b0c0-848c9e6a8182
openidBasso37f7f235-527c-4136-accd-4a02d197296e
emailBasso64a6cdd6-aab1-4aaf-94b8-3cc8405e90d0
profileBasso14dad69e-099b-42c9-810b-d002981feec1
User.ReadBassoe1fe6dd8-ba31-4d61-89e7-88639da4683d

Applicazioni Enterprise di Prima Parte Microsoft

Per impostazione predefinita, le applicazioni Microsoft vengono escluse per semplificare la revisione delle Applicazioni Enterprise. Utilizzare l'opzione -IncludeMsApps per includerle. Le applicazioni dei seguenti tenant sono considerate di proprietà Microsoft:

  • f8cdef31-a31e-4b4a-93e4-5f571e91255a
  • 72f988bf-86f1-41af-91ab-2d7cd011db47
  • 33e01921-4d64-4f8c-a055-5bdaffd5e33d
  • cdc5aeea-15c5-4db6-b079-fcadd2505dc2

Controlli Eseguiti

La tabella seguente riassume approssimativamente i controlli eseguiti, insieme al loro impatto sul punteggio e alla presenza di un avviso.

Controlli Eseguiti|Area|Check|Impatto sul punteggio|Avviso visualizzato| |-|-|-|-| |Gruppi|È un gruppo M365 pubblico|Sì|Sì| |Gruppi|È dinamico / È dinamico con query potenzialmente pericolosa|Sì|Sì| |Gruppi|Ruoli Entra (attivi ed eleggibili)|Sì|Sì| |Gruppi|Ruoli Azure (attivi ed eleggibili)|Sì|Sì| |Gruppi|Utilizzato per AppRole|Sì|Sì| |Gruppi|SP interno/esterno come proprietario|Sì|Sì| |Gruppi|In AU ristretta|Sì|Sì| |Gruppi|Annidato in gruppo privilegiato|Sì|Sì| |Gruppi|Utilizzato in CAP|Sì|Sì| |Gruppi|Tipo di gruppo|Sì|No| |Gruppi|Security abilitata|Sì|No| |Gruppi|Membro attivo annidato|Sì|No| |Gruppi|Proprietari|Sì|No| |Gruppi|Proprietari annidati|Sì|No| |Gruppi|Guest come proprietario|Sì|Sì| |Gruppi|Sincronizzazione on-prem|Sì|No| |Gruppi|Membri (transitivi)|Sì|No| |Gruppi|Assegnabile a ruoli|Sì|No| |Gruppi|PIM per gruppi: onboarded|No|No| |Gruppi|PIM per gruppi: membro eleggibile di gruppo privilegiato|Sì|Sì| |Gruppi|PIM per gruppi: proprietario eleggibile di gruppo privilegiato|Sì|Sì| |Gruppi|PIM per gruppi: gruppo non protetto annidato in gruppo protetto|No|Sì| |EnterpriseApp|Ruolo Entra|Sì|Sì| |EnterpriseApp|Ruolo Azure|Sì|Sì| |EnterpriseApp|Esterna|Sì|No| |EnterpriseApp|Disabilitata da Microsoft|No|Sì| |EnterpriseApp|Nome sospetto (caratteri simili)|Sì|Sì| |EnterpriseApp|Autorizzazione API (applicazione)|Sì|Sì| |EnterpriseApp|Autorizzazione API (delegata)|Sì|Sì| |EnterpriseApp|Credenziali|Sì|Sì| |EnterpriseApp|Proprietari|Sì|Sì| |EnterpriseApp|Proprietà su registrazioni app|Sì|Sì| |EnterpriseApp|Proprietà di altri service principal|Sì|Sì| |EnterpriseApp|AppLock|(Sì)|No| |EnterpriseApp|L'app possiede una registrazione app|Sì|Sì| |EnterpriseApp|Membro / proprietario di gruppi|Sì|(Sì)| |EnterpriseApp|AppRoles|Sì|No| |EnterpriseApp|Requisiti AppRole|Sì|No| |EnterpriseApp|Inattiva|No|No| |EnterpriseApp|Ultimo accesso riuscito (giorni)|No|No| |RegistrazioniApp|Credenziali|Sì|Sì| |RegistrazioniApp|App Entra Connect con credenziali|Sì|Sì| |RegistrazioniApp|App Entra Connect con più certificati|Sì|Sì| |RegistrazioniApp|AppRoles|Sì|No| |RegistrazioniApp|URL di reindirizzamento app|No|No| |RegistrazioniApp|AppLock|Sì|No| |RegistrazioniApp|Proprietari|Sì|Sì| |RegistrazioniApp|Amministratori app (cloud) con ambito|No|No| |RegistrazioniApp|Privilegi dello SP corrispondente|Sì|No| |RegistrazioniApp|Pubblico di accesso|No|No| |IdentitàGestite|Proprietari|Sì|Sì| |IdentitàGestite|Ruolo Entra|Sì|Sì| |IdentitàGestite|Ruolo Azure|Sì|Sì| |IdentitàGestite|API (app)|Sì|Sì| |IdentitàGestite|Proprietà su registrazioni app|Sì|Sì| |IdentitàGestite|Proprietà di altri service principal|Sì|Sì| |IdentitàGestite|Membro / proprietario di gruppi|Sì|(Sì)| |Utente|Ruoli Entra (attivi ed eleggibili)|Sì|Sì| |Utente|Ruoli Azure (attivi ed eleggibili)|Sì|Sì| |Utente|Appartenenza a gruppi privilegiati (attiva ed eleggibile)|Sì|Sì| |Utente|Proprietà di gruppi privilegiati (attiva ed eleggibile)|Sì|Sì| |Utente|Utente sincronizzato Entra Connect|Sì|Sì| |Utente|Utente sincronizzato Entra Connect Cloud Sync|Sì|Sì| |Utente|Proprietà di registrazioni app|Sì|Sì| |Utente|Proprietà di applicazioni enterprise|Sì|Sì| |Utente|Nessun fattore MFA registrato|Sì|Sì| |Utente|È protetto|Sì|No| |Utente|Inattivo|No|No| |Utente|Membro / proprietario di gruppi|Sì|(Sì)| |Utente|Sincronizzato da on-prem|Sì|No| |IdentitàAgente|Utenti agente collegati|Sì|No| |IdentitàAgente|Origine principale blueprint esterna|Sì|Sì| |IdentitàAgente|Autorizzazione API effettiva (applicazione)|Sì|Sì| |IdentitàAgente|Autorizzazione API effettiva (delegata)|Sì|Sì| |IdentitàAgente|Ruolo Entra|Sì|Sì| |IdentitàAgente|Ruolo Azure|Sì|Sì| |IdentitàAgente|Proprietà su registrazioni app|Sì|Sì| |IdentitàAgente|Proprietà di altri service principal|Sì|Sì| |IdentitàAgente|Membro / proprietario di gruppi|Sì|(Sì)| |PrincipaleBlueprintIdentitàAgente|Identità agente collegate|Sì|No| |PrincipaleBlueprintIdentitàAgente|Utenti agente collegati|Sì|No| |PrincipaleBlueprintIdentitàAgente|Autorizzazione API configurata (applicazione)|No|No| |PrincipaleBlueprintIdentitàAgente|Autorizzazione API configurata (delegata)|No|No| |PrincipaleBlueprintIdentitàAgente|Origine blueprint padre esterna|Sì|No| |PrincipaleBlueprintIdentitàAgente|Ruolo Entra|No|No| |PrincipaleBlueprintIdentitàAgente|Ruolo Azure|No|No| |PrincipaleBlueprintIdentitàAgente|Nome sospetto (caratteri simili)|Sì|Sì| |BlueprintIdentitàAgente|Principali blueprint|Sì|No| |BlueprintIdentitàAgente|Identità agente collegate|Sì|No| |BlueprintIdentitàAgente|Utenti agente collegati|Sì|No| |BlueprintIdentitàAgente|Autorizzazioni API ereditabili|Sì|No| |BlueprintIdentitàAgente|Credenziali federate|Sì|No| |BlueprintIdentitàAgente|Segreti / certificati|Sì|Sì| |BlueprintIdentitàAgente|Proprietari / sponsor|Sì|(Sì)| |PacchettiAccesso|Ruoli Entra concessi|Sì|No| |PacchettiAccesso|Ruoli Azure concessi|Sì|No| |PacchettiAccesso|Gruppi concessi|Sì|No| |PacchettiAccesso|Ruoli applicazione concessi|Sì|No| |PacchettiAccesso|Autorizzazioni API concesse (applicazione)|Sì|No| |PacchettiAccesso|Autorizzazioni API concesse (delegata)|Sì|No| |PacchettiAccesso|Accesso SharePoint concesso|Sì|No| |PacchettiAccesso|Auto-richiesta ampia senza approvazione|Sì|Sì| |PacchettiAccesso|Accesso persistente senza scadenza o revisione dell'accesso|No|No| |PacchettiAccesso|Regole di assegnazione automatica pericolose|Sì|Sì| |PacchettiAccesso|Auto-richiesta tramite gruppi target non protetti|Sì|Sì| |PacchettiAccesso|Assegnazione ampia per conto di non utenti senza approvazione|Sì|No| |PacchettiAccesso|Assegnazioni di service principal|Sì|No| |Cataloghi|Metadati, stato e visibilità esterna del catalogo|No|No| |Cataloghi|Risorse del catalogo|No|No| |Cataloghi|Risorse configurabili in nuovi pacchetti di accesso|Sì|No| |Cataloghi|Risorse e ruoli configurati in pacchetti di accesso esistenti|Sì|No| |Cataloghi|Risorse del catalogo non configurate|Sì|No| |Cataloghi|Assegnazioni RBAC del catalogo|Sì|Sì| |CAP|Nessuna policy o policy configurata in modo errato per l'autenticazione legacy|-|Sì| |CAP|Nessuna policy o policy configurata in modo errato per il blocco del flusso del codice dispositivo|-|Sì| |CAP|Nessuna policy o policy configurata in modo errato per limitare le registrazioni delle informazioni di sicurezza|-|Sì| |CAP|Nessuna policy o policy configurata in modo errato per il targeting degli accessi rischiosi|-|Sì| |CAP|Nessuna policy o policy configurata in modo errato per il targeting del rischio utente|-|Sì| |CAP|Nessuna policy che imponga l'MFA|-|Sì| |CAP|Nessuna policy che imponga l'Authentication Strength|-|Sì| |CAP|Inclusione di ruoli con assegnazioni con ambito|-|Sì| |ImpostazioniPIM|AuthContext|-|Sì| |ImpostazioniPIM|CAP collegato ad AuthContext: frequenza di accesso|-|Sì| |ImpostazioniPIM|CAP collegato ad AuthContext: MFA o AuthStrength|-|Sì| |ImpostazioniPIM|CAP collegato ad AuthContext: abilitato|-|Sì| |ImpostazioniPIM|CAP collegato ad AuthContext: utenti/gruppi/reti inclusi/esclusi|-|Sì| |ImpostazioniPIM|CAP collegato ad AuthContext: condizioni|-|Sì| |ImpostazioniPIM|MFA di attivazione|-|No| |ImpostazioniPIM|Giustificazione o ticket di attivazione|-|Sì| |ImpostazioniPIM|Durata dell'attivazione|-|Sì| |ImpostazioniPIM|Approvazione dell'attivazione|-|Sì| |ImpostazioniPIM|Scadenza dell'assegnazione eleggibile|-|No| |ImpostazioniPIM|Scadenza dell'assegnazione attiva|-|Sì| |ImpostazioniPIM|MFA per assegnazioni attive|-|No| |ImpostazioniPIM|Notifica di attivazione del ruolo|-|No| |ImpostazioniPIM|Notifica di assegnazione del ruolo (attiva)|-|No| |ImpostazioniPIM|Notifica di assegnazione del ruolo (eleggibile)|-|No|

🛡️ Rilevamento

EntraFalcon non è stealthy e può essere rilevato in ambienti in cui l'attività di accesso a Microsoft Graph API e Azure viene registrata e monitorata.

Autenticazione predefinita utilizzata

Quando viene eseguita un'enumerazione completa con flussi non BroCi, lo strumento avvia in genere quattro accessi interattivi e un accesso non interattivo. A seconda del flusso e del supporto dell'endpoint, può verificarsi un ulteriore accesso interattivo per gli endpoint delle policy di Security Findings.

ID applicazioneTipoID risorsaScopo
1b730954-1685-4b74-9bfd-dac224a7b894Interattivo00000003-0000-0000-c000-000000000000Recuperare i dati PIM per i gruppi
04b07795-8ddb-461a-bbee-02f9e1bf7b46Interattivo00000003-0000-0000-c000-000000000000Recuperare i dati generali degli oggetti del tenant
51f81489-12ee-4a9e-aaae-a2591f45987dInterattivo00000003-0000-0000-c000-000000000000Recuperare i dati PIM per i ruoli Entra / Azure
80ccca67-54bd-44ab-8625-4b79c4dc7775Interattivo00000003-0000-0000-c000-000000000000Recuperare il contesto delle policy di Security Findings
04b07795-8ddb-461a-bbee-02f9e1bf7b46Non interattivo797f4846-ba00-4fd7-ba43-dac1f8f63013Recuperare i dati delle assegnazioni dei ruoli Azure IAM

Autenticazione BroCi utilizzata

Quando viene utilizzata l'autenticazione BroCi, si verifica un solo accesso interattivo.

ID applicazioneTipoID risorsaScopo
c44b4083-3bb0-49c1-b47d-974e53cbdf3cInterattivo00000003-0000-0000-c000-000000000000Autenticazione iniziale per utilizzare il token di aggiornamento per BroCi
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8Non interattivo00000003-0000-0000-c000-000000000000Recuperare i dati PIM per i gruppi
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8Non interattivo01fc33a7-78ba-4d2f-a4b7-768e336e890eRecuperare i dati PIM per i gruppi
74658136-14ec-4630-ad9b-26e160ff0fc6Non interattivo00000003-0000-0000-c000-000000000000Recuperare i dati generali degli oggetti del tenant
74658136-14ec-4630-ad9b-26e160ff0fc6Non interattivo797f4846-ba00-4fd7-ba43-dac1f8f63013Recuperare i dati delle assegnazioni dei ruoli Azure IAM

Quando BroCi è abilitato, EntraFalcon interroga anche api.azrbac.mspim.azure.com per PIM per i gruppi.

Dettagli

Per la raccolta dei dati, lo strumento invia più richieste a Microsoft Graph API e, facoltativamente, ad Azure ARM API—una o più per oggetto. Dove possibile, sfrutta l'endpoint Batch di Graph per ridurre il numero di richieste individuali e migliorare l'efficienza.

Gli accessi interattivi utilizzano lo User-Agent del browser. Tutti gli accessi non interattivi e le richieste API (Graph e ARM) utilizzano EntraFalcon come User-Agent, a meno che non venga modificato con il parametro -UserAgent.

Per rilevare l'utilizzo di EntraFalcon, i blue team possono monitorare i log di accesso per gli ID applicazione elencati, cercare volumi insoliti di traffico Graph API o analizzare il comportamento di aggiornamento dei token e delle richieste batch.

🕳️ Limitazioni note

  • RBAC M365: non valutato
  • RBAC Defender for Endpoint: non valutato
  • Copertura utenti Conditional Access: la copertura utente effettiva e -ExportCapUncoveredUsers sono calcoli best-effort basati su utenti enumerati, membri di gruppi, assegnazioni di ruoli e categorie di utenti esterni risolvibili. I selettori di utenti esterni vengono risolti solo per gli utenti guest del tenant che corrispondono a b2bCollaborationGuest. Altri tipi di utenti esterni o utenti esterni con tenant esterni specificati possono rendere approssimativi i valori di copertura. I percorsi PIM eleggibili vengono segnalati come copertura potenziale e non vengono conteggiati come attualmente coperti. L'esportazione CSV è limitata alle policy abilitate e agli utenti abilitati.
  • Ambiente cloud: le piattaforme cloud si evolvono rapidamente. Di conseguenza, alcune valutazioni o rilevamenti potrebbero diventare obsoleti o imprecisi nel tempo. Inoltre, i tenant stanno diventando sempre più complessi e configurazioni specifiche o combinazioni di impostazioni possono portare a risultati imprecisi. Sebbene ci impegniamo a mantenere EntraFalcon aggiornato, si consiglia sempre di convalidare i risultati in modo indipendente e di non fare affidamento esclusivamente sullo strumento per decisioni critiche.
  • Report HTML: i report HTML generati non implementano meccanismi di protezione contro il cross-site scripting (XSS).

📦 Strumenti esterni integrati

I seguenti sottomoduli sono stati forkati e integrati in EntraFalcon per supportare l'autenticazione, l'interazione con Microsoft Graph e i grafici dei report:

Categorie