
Script Bash e PowerShell per valutazioni di sicurezza su Azure, che coprono escalation dei privilegi IAM, sfruttamento dei registri contenitori, esposizione di Key Vault, configurazione di Entra ID e audit SQL.
Una raccolta di script Bash e PowerShell per valutazioni di sicurezza su Azure, che coprono escalation dei privilegi IAM, sicurezza dei container, esposizione di Key Vault, configurazione di Entra ID e altro. Progettati per essere eseguiti in Azure Cloud Shell o in qualsiasi terminale autenticato.
| Script | Shell | Descrizione |
|---|---|---|
IAMPrivz.sh | Bash | Controlla tutte le definizioni e assegnazioni di ruolo RBAC nel tenant per permessi pericolosi di escalation dei privilegi: roleAssignments/write, roleDefinitions/write e federatedIdentityCredentials/write. Risolve le identità principali (utenti, entità servizio, gruppi) per ogni assegnazione segnalata. Produce report JSON e di testo. |
EntraUserSettings.sh | Bash | Segnala le impostazioni utente a livello di tenant di Entra ID tramite Microsoft Graph — permessi di registrazione delle app, creazione di tenant, creazione di gruppi di sicurezza, livello di restrizione dell'accesso guest e restrizioni del centro di amministrazione. |
EntraUserSettings.ps1 | PowerShell | Equivalente PowerShell di EntraUserSettings.sh. |
GlobalAdmins.sh | Bash | Estrae tutti i membri del ruolo directory Global Administrator. Raccoglie nome visualizzato, UPN, tipo di oggetto, stato dell'account e ID oggetto. Attiva il ruolo se non è ancora attivato nella directory. Produce una tabella formattata + CSV con timestamp. |
GlobalAdmin.ps1 | PowerShell | Equivalente PowerShell di GlobalAdmins.sh. |
GuestInvite.sh | Bash | Controlla le policy di invito guest e le impostazioni di collaborazione esterna — chi può invitare guest, livelli di restrizione dell'accesso guest, permessi di iscrizione basati su email. Segnala configurazioni ad alto rischio (es. "tutti possono invitare"). Produce un report con timestamp. |
GuestInvite.ps1 | PowerShell | Equivalente PowerShell di GuestInvite.sh. |
JoinableGroups.sh | Bash | Scopre i gruppi di Entra ID pubblicamente unibili (visibilità pubblica, appartenenza non dinamica). Raccoglie metadati, conteggi dei membri e ruoli directory assegnati. Fornisce un menu interattivo per selezionare e unirsi ai gruppi. Produce CSV. |
JoinableGroups.ps1 | PowerShell | Equivalente PowerShell di JoinableGroups.sh. |
| Script | Shell | Descrizione |
|---|---|---|
RunbookGrabz.sh | Bash | Audit completo di tutti gli account Azure Automation in tutte le sottoscrizioni. Estrae il codice sorgente dei runbook, le configurazioni dei webhook, le pianificazioni, la cronologia dei job (ultimi 30 giorni) e i dettagli degli hybrid worker. Produce una struttura di directory gerarchica con file di dettaglio per account e cartelle dedicate ai contenuti dei runbook. |
| Script | Shell | Descrizione |
|---|---|---|
SQLAuditing.sh | Bash | Verifica lo stato di auditing per tutti i server e database SQL di Azure in tutte le sottoscrizioni. Controlla destinazioni blob, Log Analytics e Hub eventi. Logica intelligente: salta i controlli a livello di database quando l'auditing a livello di server è già abilitato. Segnala i database non coperti. Produce CSV. |
az login) o Azure Cloud Shell sessionejq — richiesto per tutti gli script Bash.ps1 (Az.Accounts, Az.KeyVault, Az.Sql, ecc.)Conreg.sh testano operazioni di scrittura)# Run from Azure Cloud Shell or any authenticated terminal
az login
# IAM privilege escalation audit
bash Cloudshell/IAMPrivz.sh
# Container registry permission check with live tests
bash Cloudshell/Conreg.sh
# Key Vault access test (all subscriptions)
bash Cloudshell/KV-Access.sh -a
# Key Vault public exposure audit
bash Cloudshell/KV-PublicAccess.sh
# PowerShell equivalents
pwsh Cloudshell/KV-Access.ps1 -All
pwsh Cloudshell/ContainerPermz.ps1
Azure/
├── README.md
└── Cloudshell/
├── IAMPrivz.sh
├── Conreg.sh
├── ContainerPermz.sh
├── ContainerPermz.ps1
├── EntraUserSettings.sh
├── EntraUserSettings.ps1
├── GlobalAdmins.sh
├── GlobalAdmin.ps1
├── GuestInvite.sh
├── GuestInvite.ps1
├── JoinableGroups.sh
├── JoinableGroups.ps1
├── KV-Access.sh
├── KV-Access.ps1
├── KV-PublicAccess.sh
├── KV-PublicAccess.ps1
├── RunbookGrabz.sh
├── RunbookGrabz.ps1
├── SQLAuditing.sh
└── SQLAuditing.ps1
Questi strumenti sono destinati esclusivamente a valutazioni di sicurezza autorizzate e scopi educativi. Ottenere sempre la debita autorizzazione prima di eseguire questi script su qualsiasi ambiente Azure.
| Script | Shell | Descrizione |
|---|
Conreg.sh | Bash | Enumera le assegnazioni di ruolo in tutte le sottoscrizioni e gli ACR, incrociando 14 permessi ACR pericolosi (accesso alle credenziali admin, generazione di token, creazione di attività con identità gestite, modifiche alla configurazione del registro). Esegue test di capacità live — tenta effettivamente le operazioni per confermare la sfruttabilità, poi pulisce le risorse di test. Produce un report con timestamp. |
ContainerPermz.sh | Bash | Controlla le risorse dei container (ACR, App Container, Istanze Container) in tutte le sottoscrizioni. Enumera le assegnazioni di ruolo con ambito ai servizi container, identifica i principali con autorizzazioni di scrittura/Owner/Contributor e verifica quali App Container e Istanze hanno identità gestite abilitate. Produce due CSV. |
ContainerPermz.ps1 | PowerShell | Equivalente PowerShell di ContainerPermz.sh. |
| Script | Shell | Descrizione |
|---|
KV-Access.sh | Bash | Testa se l'utente corrente ha effettivo accesso al data-plane dei Key Vault nelle sottoscrizioni selezionate. Tenta di elencare segreti, chiavi e certificati in ogni vault. Supporta la selezione interattiva, specifica (-s) o di tutte (-a) le sottoscrizioni. Produce un report con timestamp. |
KV-Access.ps1 | PowerShell | Equivalente PowerShell di KV-Access.sh. Utilizza i flag -SubscriptionIds e -All. |
KV-PublicAccess.sh | Bash | Controlla la configurazione di rete di ogni Key Vault in tutte le sottoscrizioni. Classifica ogni vault come Accessibile Pubblicamente, Limitato da Firewall, Solo Privato o Limitato. Verifica l'accesso pubblico di rete, l'azione ACL predefinita, le regole IP/VNet e gli endpoint privati. Produce CSV. |
KV-PublicAccess.ps1 | PowerShell | Equivalente PowerShell di KV-PublicAccess.sh. |
RunbookGrabz.ps1 | PowerShell | Equivalente PowerShell di RunbookGrabz.sh. |
SQLAuditing.ps1 | PowerShell | Equivalente PowerShell di SQLAuditing.sh. |