
Scripts Bash e PowerShell para avaliações de segurança do Azure, cobrindo escalonamento de privilégios no IAM, exploração de registros de contêiner, exposição do Key Vault, configuração do Entra ID e auditoria de SQL.
Uma coleção de scripts Bash e PowerShell para avaliações de segurança no Azure, cobrindo escalonamento de privilégios IAM, segurança de contêineres, exposição do Key Vault, configuração do Entra ID e mais. Projetados para serem executados no Azure Cloud Shell ou em qualquer terminal autenticado.
| Script | Shell | Descrição |
|---|---|---|
IAMPrivz.sh | Bash | Audita todas as definições e atribuições de funções RBAC no locatário em busca de permissões perigosas de escalonamento de privilégios: roleAssignments/write, roleDefinitions/write e federatedIdentityCredentials/write. Resolve identidades de entidades (usuários, service principals, grupos) para cada atribuição sinalizada. Gera relatórios JSON e texto. |
EntraUserSettings.sh | Bash | Relata configurações de usuário no nível do locatário do Entra ID via Microsoft Graph — permissões de registro de aplicativo, criação de locatário, criação de grupo de segurança, nível de restrição de acesso de convidados e restrições do centro de administração. |
EntraUserSettings.ps1 | PowerShell | Equivalente em PowerShell de EntraUserSettings.sh. |
GlobalAdmins.sh | Bash | Extrai todos os membros da função de diretório Administrador Global. Coleta nome de exibição, UPN, tipo de objeto, status da conta e ID do objeto. Ativa a função se ainda não estiver ativada no diretório. Gera tabela formatada + CSV com timestamp. |
GlobalAdmin.ps1 | PowerShell | Equivalente em PowerShell de GlobalAdmins.sh. |
GuestInvite.sh | Bash | Audita políticas de convite de convidados e configurações de colaboração externa — quem pode convidar convidados, níveis de restrição de acesso de convidados, permissões de inscrição baseadas em e-mail. Sinaliza configurações de alto risco (ex.: "qualquer um pode convidar"). Gera relatório com timestamp. |
GuestInvite.ps1 | PowerShell | Equivalente em PowerShell de GuestInvite.sh. |
JoinableGroups.sh | Bash | Descobre grupos do Entra ID que podem ser ingressados publicamente (visibilidade pública, associação não dinâmica). Coleta metadados, contagens de membros e funções de diretório atribuídas. Fornece um menu interativo para selecionar e ingressar em grupos. Gera CSV. |
JoinableGroups.ps1 | PowerShell | Equivalente em PowerShell de JoinableGroups.sh. |
| Script | Shell | Descrição |
|---|---|---|
RunbookGrabz.sh | Bash | Auditoria abrangente de todas as Contas de Automação do Azure em todas as assinaturas. Extrai código-fonte de runbooks, configurações de webhook, cronogramas, histórico de trabalhos (últimos 30 dias) e detalhes de trabalhadores híbridos. Gera estrutura de diretórios hierárquica com arquivos de detalhes por conta e pastas dedicadas de conteúdo de runbook. |
| Script | Shell | Descrição |
|---|---|---|
SQLAuditing.sh | Bash | Verifica o status de auditoria de todos os Servidores e Bancos de Dados SQL do Azure em todas as assinaturas. Verifica destinos de blob, Log Analytics e Event Hub. Lógica inteligente: ignora verificações no nível do banco de dados quando a auditoria no nível do servidor já está ativada. Sinaliza bancos de dados descobertos. Gera CSV. |
az login) ou sessão do Azure Cloud Shelljq — necessário para todos os scripts Bash.ps1 (Az.Accounts, Az.KeyVault, Az.Sql, etc.)Conreg.sh testam operações de gravação)# 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
Estas ferramentas destinam-se apenas a avaliações de segurança autorizadas e fins educacionais. Sempre obtenha autorização adequada antes de executar esses scripts em qualquer ambiente Azure.
| Script | Shell | Descrição |
|---|
Conreg.sh | Bash | Enumera atribuições de funções em todas as assinaturas e ACRs, referenciando 14 permissões perigosas do ACR (acesso a credenciais de administrador, geração de token, criação de tarefas com identidades gerenciadas, alterações de configuração do registro). Realiza testes de capacidade ao vivo — de fato tenta operações para confirmar explorabilidade, depois limpa os recursos de teste. Gera relatório com timestamp. |
ContainerPermz.sh | Bash | Audita recursos de contêiner (ACR, Container Apps, Container Instances) em todas as assinaturas. Enumera atribuições de funções com escopo em serviços de contêiner, identifica entidades com permissões write/Owner/Contributor e verifica quais Container Apps e Instances têm identidades gerenciadas ativadas. Gera dois CSVs. |
ContainerPermz.ps1 | PowerShell | Equivalente em PowerShell de ContainerPermz.sh. |
| Script | Shell | Descrição |
|---|
KV-Access.sh | Bash | Testa se o usuário atual tem acesso real ao plano de dados de Key Vaults nas assinaturas selecionadas. Tenta listar segredos, chaves e certificados em cada cofre. Suporta seleção interativa, específica (-s) ou todas (-a) as assinaturas. Gera relatório com timestamp. |
KV-Access.ps1 | PowerShell | Equivalente em PowerShell de KV-Access.sh. Usa os sinalizadores -SubscriptionIds e -All. |
KV-PublicAccess.sh | Bash | Audita a configuração de rede de cada Key Vault em todas as assinaturas. Classifica cada cofre como Publicamente Acessível, Restrito por Firewall, Apenas Privado ou Limitado. Verifica acesso à rede pública, ação ACL padrão, regras IP/VNet e endpoints privados. Gera CSV. |
KV-PublicAccess.ps1 | PowerShell | Equivalente em PowerShell de KV-PublicAccess.sh. |
RunbookGrabz.ps1 | PowerShell | Equivalente em PowerShell de RunbookGrabz.sh. |
SQLAuditing.ps1 | PowerShell | Equivalente em PowerShell de SQLAuditing.sh. |