
Una colección de scripts de Bash y PowerShell para evaluaciones de seguridad de Azure, que cubren escalada de privilegios de IAM, seguridad de contenedores, exposición de Key Vault, configuración de Entra ID y más. Diseñada para ejecutarse en Azure Cloud Shell o en cualquier terminal autenticada.
| Script | Shell | Description |
|---|---|---|
IAMPrivz.sh | Bash | Audita todas las definiciones y asignaciones de roles RBAC en todo el tenant en busca de permisos peligrosos de escalada de privilegios: roleAssignments/write, roleDefinitions/write y federatedIdentityCredentials/write. Resuelve las identidades de las entidades de seguridad (usuarios, entidades de servicio, grupos) para cada asignación marcada. Genera informes en JSON y texto. |
| EntraUserSettings.sh | Bash | Informa sobre los ajustes de usuario a nivel de tenant de Entra ID mediante Microsoft Graph: permisos de registro de aplicaciones, creación de tenants, creación de grupos de seguridad, nivel de restricción de acceso de invitados y restricciones del centro de administración. |
| EntraUserSettings.ps1 | PowerShell | Equivalente en PowerShell de EntraUserSettings.sh. |
| GlobalAdmins.sh | Bash | Extrae todos los miembros del rol de directorio Administrador global. Recopila nombre para mostrar, UPN, tipo de objeto, estado de la cuenta e ID de objeto. Activa el rol si aún no está activado en el directorio. Genera tabla formateada + CSV con marca de tiempo. |
| GlobalAdmin.ps1 | PowerShell | Equivalente en PowerShell de GlobalAdmins.sh. |
| GuestInvite.sh | Bash | Audita las políticas de invitación de invitados y los ajustes de colaboración externa: quién puede invitar invitados, niveles de restricción de acceso de invitados, permisos de registro basado en correo electrónico. Señala configuraciones de alto riesgo (p. ej., «todos pueden invitar»). Genera un informe con marca de tiempo. |
| GuestInvite.ps1 | PowerShell | Equivalente en PowerShell de GuestInvite.sh. |
| JoinableGroups.sh | Bash | Descubre grupos de Entra ID unibles públicamente (visibilidad pública, pertenencia no dinámica). Recopila metadatos, recuentos de miembros y roles de directorio asignados. Proporciona un menú interactivo para seleccionar y unirse a grupos. Genera CSV. |
| JoinableGroups.ps1 | PowerShell | Equivalente en PowerShell de JoinableGroups.sh. |
| Script | Shell | Description |
|---|---|---|
Conreg.sh | Bash | Enumera las asignaciones de roles en todas las suscripciones y ACR, contrastando 14 permisos peligrosos de ACR (acceso a credenciales de administrador, generación de tokens, creación de tareas con identidades administradas, cambios de configuración del registro). Realiza pruebas de capacidad en vivo — en realidad intenta operaciones para confirmar la explotabilidad y luego limpia los recursos de prueba. Genera un informe con marca de tiempo. |
| ContainerPermz.sh | Bash | Audita los recursos de contenedores (ACR, Container Apps, Container Instances) en todas las suscripciones. Enumera las asignaciones de roles con ámbito en los servicios de contenedores, identifica las entidades de seguridad con permisos de escritura/Owner/Contributor y comprueba qué Container Apps e Instances tienen habilitadas identidades administradas. Genera dos CSV. |
| ContainerPermz.ps1 | PowerShell | Equivalente en PowerShell de ContainerPermz.sh. |
| Script | Shell | Description |
|---|---|---|
KV-Access.sh | Bash | Comprueba si el usuario actual tiene acceso real al plano de datos de los Key Vaults en las suscripciones seleccionadas. Intenta enumerar secretos, claves y certificados en cada vault. Admite selección de suscripción interactiva, específica (-s) o completa (-a). Genera un informe con marca de tiempo. |
| KV-Access.ps1 | PowerShell | Equivalente en PowerShell de KV-Access.sh. Usa las banderas -SubscriptionIds y -All. |
| KV-PublicAccess.sh | Bash | Audita la configuración de red de cada Key Vault en todas las suscripciones. Clasifica cada vault como Accesible públicamente, Restringido por firewall, Solo privado o Limitado. Comprueba el acceso a la red pública, la acción predeterminada de ACL, las reglas de IP/VNet y los puntos de conexión privados. Genera CSV. |
| KV-PublicAccess.ps1 | PowerShell | Equivalente en PowerShell de KV-PublicAccess.sh. |
| Script | Shell | Description |
|---|---|---|
RunbookGrabz.sh | Bash | Auditoría exhaustiva de todas las cuentas de Automation de Azure en todas las suscripciones. Extrae el código fuente de los runbooks, las configuraciones de webhook, las programaciones, el historial de trabajos (últimos 30 días) y los detalles de los Hybrid Workers. Genera una estructura de directorios jerárquica con archivos de detalles por cuenta y carpetas dedicadas para el contenido de los runbooks. |
| RunbookGrabz.ps1 | PowerShell | Equivalente en PowerShell de RunbookGrabz.sh. |
| Script | Shell | Description |
|---|---|---|
SQLAuditing.sh | Bash | Comprueba el estado de auditoría de todos los servidores y bases de datos de Azure SQL en todas las suscripciones. Comprueba los destinos de blob, Log Analytics y Event Hub. Lógica inteligente: omite las comprobaciones a nivel de base de datos cuando la auditoría a nivel de servidor ya está habilitada. Señala las bases de datos no cubiertas. Genera CSV. |
| SQLAuditing.ps1 | PowerShell | Equivalente en PowerShell de SQLAuditing.sh. |
az login) o una sesión de Azure Cloud Shelljq — necesario para todos los scripts Bash.ps1 (Az.Accounts, Az.KeyVault, Az.Sql, etc.)Conreg.sh prueban operaciones de escritura)# 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 herramientas están destinadas únicamente a evaluaciones de seguridad autorizadas y fines educativos. Obtenga siempre la autorización adecuada antes de ejecutar estos scripts contra cualquier entorno de Azure.