
Scripts Bash et PowerShell pour les évaluations de sécurité Azure, couvrant l'escalade de privilèges IAM, l'exploitation de registre de conteneurs, l'exposition Key Vault, la configuration Entra ID et l'audit SQL.
Une collection de scripts Bash et PowerShell pour les évaluations de sécurité Azure, couvrant l'escalade de privilèges IAM, la sécurité des conteneurs, l'exposition de Key Vault, la configuration d'Entra ID, et plus encore. Conçus pour être exécutés dans Azure Cloud Shell ou tout terminal authentifié.
| Script | Shell | Description |
|---|---|---|
IAMPrivz.sh | Bash | Audite toutes les définitions de rôles RBAC et leurs attributions dans le locataire pour les permissions dangereuses d'escalade de privilèges : roleAssignments/write, roleDefinitions/write, et federatedIdentityCredentials/write. Résout les identités des principaux (utilisateurs, principaux de service, groupes) pour chaque attribution signalée. Produit des rapports JSON et texte. |
EntraUserSettings.sh | Bash | Rapporte les paramètres utilisateur au niveau du locataire Entra ID via Microsoft Graph — permissions d'enregistrement d'applications, création de locataire, création de groupes de sécurité, niveau de restriction d'accès des invités et restrictions du centre d'administration. |
EntraUserSettings.ps1 | PowerShell | Équivalent PowerShell de EntraUserSettings.sh. |
GlobalAdmins.sh | Bash | Extrait tous les membres du rôle d'annuaire Administrateur général. Collecte le nom d'affichage, l'UPN, le type d'objet, le statut du compte et l'ID d'objet. Active le rôle s'il n'est pas encore activé dans l'annuaire. Produit un tableau formaté + un CSV horodaté. |
GlobalAdmin.ps1 | PowerShell | Équivalent PowerShell de GlobalAdmins.sh. |
GuestInvite.sh | Bash | Audite les politiques d'invitation des invités et les paramètres de collaboration externe — qui peut inviter des invités, les niveaux de restriction d'accès des invités, les autorisations d'inscription par e-mail. Signale les configurations à haut risque (par ex., "tout le monde peut inviter"). Produit un rapport horodaté. |
GuestInvite.ps1 | PowerShell | Équivalent PowerShell de GuestInvite.sh. |
JoinableGroups.sh | Bash | Découvre les groupes Entra ID joignables publiquement (visibilité publique, adhésion non dynamique). Recueille les métadonnées, le nombre de membres et les rôles d'annuaire attribués. Fournit un menu interactif pour sélectionner et rejoindre des groupes. Produit un CSV. |
JoinableGroups.ps1 | PowerShell | Équivalent PowerShell de JoinableGroups.sh. |
| Script | Shell | Description |
|---|---|---|
RunbookGrabz.sh | Bash | Audit complet de tous les comptes Azure Automation dans tous les abonnements. Extrait le code source des runbooks, les configurations de webhook, les planifications, l'historique des travaux (30 derniers jours) et les détails des travailleurs hybrides. Produit une structure de répertoire hiérarchique avec des fichiers de détails par compte et des dossiers de contenu de runbook dédiés. |
| Script | Shell | Description |
|---|---|---|
SQLAuditing.sh | Bash | Vérifie le statut d'audit pour tous les serveurs et bases de données Azure SQL dans tous les abonnements. Vérifie les cibles blob, Log Analytics et Event Hub. Logique intelligente : ignore les vérifications au niveau de la base de données lorsque l'audit au niveau du serveur est déjà activé. Signale les bases de données non couvertes. Produit un CSV. |
az login) ou Azure Cloud Shelljq — requis pour tous les scripts Bash.ps1 (Az.Accounts, Az.KeyVault, Az.Sql, etc.)Conreg.sh testent des opérations d'écriture)# 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
Ces outils sont destinés uniquement à des évaluations de sécurité autorisées et à des fins éducatives. Obtenez toujours une autorisation appropriée avant d'exécuter ces scripts contre un environnement Azure.
| Script | Shell | Description |
|---|
Conreg.sh | Bash | Énumère les attributions de rôles dans tous les abonnements et ACR, en recoupant 14 permissions dangereuses d'ACR (accès aux informations d'identification d'administrateur, génération de jetons, création de tâches avec identités gérées, modifications de configuration du registre). Effectue des tests de capacité en direct — tente réellement des opérations pour confirmer l'exploitabilité, puis nettoie les ressources de test. Produit un rapport horodaté. |
ContainerPermz.sh | Bash | Audite les ressources de conteneur (ACR, Container Apps, Container Instances) dans tous les abonnements. Énumère les attributions de rôles limitées aux services de conteneur, identifie les principaux ayant write/Owner/Contributor, et vérifie quelles Container Apps et Instances ont les identités gérées activées. Produit deux CSV. |
ContainerPermz.ps1 | PowerShell | Équivalent PowerShell de ContainerPermz.sh. |
| Script | Shell | Description |
|---|
KV-Access.sh | Bash | Test si l'utilisateur actuel a un accès réel au plan de données aux Key Vaults dans les abonnements sélectionnés. Tente de lister les secrets, clés et certificats dans chaque coffre. Prend en charge la sélection interactive, spécifique (-s) ou de tous (-a) les abonnements. Produit un rapport horodaté. |
KV-Access.ps1 | PowerShell | Équivalent PowerShell de KV-Access.sh. Utilise les indicateurs -SubscriptionIds et -All. |
KV-PublicAccess.sh | Bash | Audite la configuration réseau de chaque Key Vault dans tous les abonnements. Classe chaque coffre comme Accessible publiquement, Restreint par pare-feu, Privé uniquement ou Limité. Vérifie l'accès réseau public, l'action ACL par défaut, les règles IP/VNet et les points de terminaison privés. Produit un CSV. |
KV-PublicAccess.ps1 | PowerShell | Équivalent PowerShell de KV-PublicAccess.sh. |
RunbookGrabz.ps1 | PowerShell | Équivalent PowerShell de RunbookGrabz.sh. |
SQLAuditing.ps1 | PowerShell | Équivalent PowerShell de SQLAuditing.sh. |