Eine Sammlung von Bash- und PowerShell-Skripten für Azure-Sicherheitsbewertungen, die IAM-Privilege-Escalation, Containersicherheit, Key-Vault-Exposition, Entra-ID-Konfiguration und mehr abdecken. Entwickelt für die Ausführung in Azure Cloud Shell oder in jedem authentifizierten Terminal.
Skripte
IAM / Identität
| Skript | Shell | Beschreibung |
|---|
IAMPrivz.sh | Bash | Prüft alle RBAC-Rollendefinitionen und -zuweisungen im gesamten Mandanten auf gefährliche Privilege-Escalation-Berechtigungen: roleAssignments/write, roleDefinitions/write und federatedIdentityCredentials/write. Löst für jede markierte Zuweisung die Principal-Identitäten (Benutzer, Dienstprinzipale, Gruppen) auf. Gibt JSON- und Textberichte aus. |
EntraUserSettings.sh | Bash | Meldet mandantenweite Benutzereinstellungen der Entra ID über Microsoft Graph – App-Registrierungsberechtigungen, Mandantenerstellung, Erstellung von Sicherheitsgruppen, Einschränkungsstufe für Gastzugriff und Einschränkungen im Admin Center. |
EntraUserSettings.ps1 | PowerShell | PowerShell-Äquivalent zu EntraUserSettings.sh. |
GlobalAdmins.sh | Bash | Extrahiert alle Mitglieder der Verzeichnisrolle „Globaler Administrator“. Sammelt Anzeigenamen, UPN, Objekttyp, Kontostatus und Objekt-ID. Aktiviert die Rolle, falls sie im Verzeichnis noch nicht aktiviert ist. Gibt eine formatierte Tabelle plus CSV mit Zeitstempel aus. |
GlobalAdmin.ps1 | PowerShell | PowerShell-Äquivalent zu GlobalAdmins.sh. |
GuestInvite.sh | Bash | Prüft Richtlinien für Gasteinladungen und Einstellungen für die externe Zusammenarbeit – wer Gäste einladen darf, Einschränkungsstufen für den Gastzugriff, Berechtigungen für die Anmeldung per E-Mail. Markiert Konfigurationen mit hohem Risiko (z. B. „Jeder kann einladen“). Gibt einen Bericht mit Zeitstempel aus. |
GuestInvite.ps1 | PowerShell | PowerShell-Äquivalent zu GuestInvite.sh. |
JoinableGroups.sh | Bash | Ermittelt öffentlich beitrittsfähige Entra-ID-Gruppen (öffentliche Sichtbarkeit, nicht-dynamische Mitgliedschaft). Sammelt Metadaten, Mitgliederzahlen und zugewiesene Verzeichnisrollen. Bietet ein interaktives Menü zur Auswahl und zum Beitritt von Gruppen. Gibt CSV aus. |
JoinableGroups.ps1 | PowerShell | PowerShell-Äquivalent zu JoinableGroups.sh. |
Containersicherheit
Key Vault
Automatisierung
| Skript | Shell | Beschreibung |
|---|
RunbookGrabz.sh | Bash | Umfassende Prüfung aller Azure Automation-Konten über alle Abonnements hinweg. Extrahiert Runbook-Quellcode, Webhook-Konfigurationen, Zeitpläne, Auftragsverlauf (letzte 30 Tage) und Details zu Hybrid Workern. Gibt eine hierarchische Verzeichnisstruktur mit Detaildateien pro Konto und eigenen Ordnern für Runbook-Inhalte aus. |
SQL
| Skript | Shell | Beschreibung |
|---|
SQLAuditing.sh | Bash | Prüft den Überwachungsstatus aller Azure SQL Server und Datenbanken über alle Abonnements hinweg. Prüft Blob-, Log-Analytics- und Event-Hub-Ziele. Intelligente Logik: Überspringt Prüfungen auf Datenbankebene, wenn die Überwachung auf Serverebene bereits aktiviert ist. Markiert nicht abgedeckte Datenbanken. Gibt CSV aus. |
Voraussetzungen
- Azure CLI-Sitzung (
az login) oder Azure Cloud Shell
jq – für alle Bash-Skripte erforderlich
- Az PowerShell-Module – für
.ps1-Skripte erforderlich (Az.Accounts, Az.KeyVault, Az.Sql, usw.)
- Entsprechende Leseberechtigungen für die zu prüfenden Ressourcen (mindestens Leser; einige Skripte wie
Conreg.sh testen Schreiboperationen)
Verwendung
# 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
Dateistruktur
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
Haftungsausschluss
Diese Werkzeuge sind ausschließlich für autorisierte Sicherheitsbewertungen und zu Bildungszwecken bestimmt. Holen Sie stets die entsprechende Genehmigung ein, bevor Sie diese Skripte gegen eine Azure-Umgebung ausführen.