
Набор Bash и PowerShell скриптов для оценки безопасности Azure, охватывающий повышение привилегий в IAM, безопасность контейнеров, уязвимости Key Vault, конфигурацию Entra ID и многое другое. Предназначен для запуска в Azure Cloud Shell или в любом аутентифицированном терминале.
| Скрипт | Shell | Описание |
|---|---|---|
IAMPrivz.sh | Bash | Проверяет все определения и назначения ролей RBAC в тенанте на наличие опасных разрешений для повышения привилегий: roleAssignments/write, roleDefinitions/write и federatedIdentityCredentials/write. Определяет субъекты-владельцы (пользователи, субъекты-службы, группы) для каждого помеченного назначения. Выводит отчёты в формате JSON и текстовом виде. |
EntraUserSettings.sh | Bash | Сообщает о параметрах пользователей уровня тенанта Entra ID через Microsoft Graph — разрешения регистрации приложений, создание тенантов, создание групп безопасности, уровень ограничений для гостевого доступа и ограничения центра администрирования. |
EntraUserSettings.ps1 | PowerShell | Эквивалент EntraUserSettings.sh на PowerShell. |
GlobalAdmins.sh | Bash | Извлекает всех участников роли каталога Global Administrator. Собирает отображаемое имя, UPN, тип объекта, статус учётной записи и идентификатор объекта. Активирует роль, если она ещё не активирована в каталоге. Выводит форматированную таблицу + CSV с меткой времени. |
GlobalAdmin.ps1 | PowerShell | Эквивалент GlobalAdmins.sh на PowerShell. |
GuestInvite.sh | Bash | Проверяет политики приглашения гостей и параметры внешнего совместного доступа: кто может приглашать гостей, уровни ограничения гостевого доступа, разрешения регистрации по электронной почте. Отмечает конфигурации высокого риска (например, "приглашать может каждый"). Выводит отчёт с меткой времени. |
GuestInvite.ps1 | PowerShell | Эквивалент GuestInvite.sh на PowerShell. |
JoinableGroups.sh | Bash | Находит публично доступные для вступления группы Entra ID (публичная видимость, нединамический состав). Собирает метаданные, количество участников и назначенные роли каталога. Предоставляет интерактивное меню для выбора и вступления в группы. Выводит CSV. |
JoinableGroups.ps1 | PowerShell | Эквивалент JoinableGroups.sh на PowerShell. |
| Скрипт | Shell | Описание |
|---|---|---|
RunbookGrabz.sh | Bash | Комплексная проверка всех учетных записей Azure Automation во всех подписках. Извлекает исходный код Runbook, конфигурации webhook, расписания, историю заданий (за последние 30 дней) и данные гибридных рабочих ролей. Выводит иерархическую структуру каталогов с файлами деталей для каждой учетной записи и отдельными папками с содержимым Runbook. |
| Скрипт | Shell | Описание |
|---|---|---|
SQLAuditing.sh | Bash | Проверяет состояние аудита для всех серверов и баз данных Azure SQL во всех подписках. Проверяет цели Blob, Log Analytics и Event Hub. Умная логика: пропускает проверки на уровне базы данных, если аудит на уровне сервера уже включен. Отмечает базы данных без покрытия. Выводит CSV. |
az login) или сеанс Azure Cloud Shelljq — требуется для всех Bash-скриптов.ps1 (Az.Accounts, Az.KeyVault, Az.Sql и т.д.)Conreg.sh, проверяют операции записи)# Запуск из Azure Cloud Shell или любого аутентифицированного терминала
az login
# Проверка повышения привилегий в IAM
bash Cloudshell/IAMPrivz.sh
# Проверка разрешений реестра контейнеров с реальными тестами
bash Cloudshell/Conreg.sh
# Тест доступа к Key Vault (все подписки)
bash Cloudshell/KV-Access.sh -a
# Проверка публичной доступности Key Vault
bash Cloudshell/KV-PublicAccess.sh
# Эквиваленты на PowerShell
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
Эти инструменты предназначены только для авторизованных оценок безопасности и образовательных целей. Всегда получайте надлежащее разрешение перед запуском этих скриптов в любой среде Azure.
| Скрипт | Shell | Описание |
|---|
Conreg.sh | Bash | Перечисляет назначения ролей во всех подписках и ACR, сверяя их с 14 опасными разрешениями ACR (доступ к учётным данным администратора, генерация токенов, создание задач с управляемыми удостоверениями, изменение конфигурации реестра). Выполняет реальные проверки возможностей — фактически совершает операции для подтверждения эксплуатируемости, затем удаляет тестовые ресурсы. Выводит отчёт с меткой времени. |
ContainerPermz.sh | Bash | Проверяет контейнерные ресурсы (ACR, Container Apps, Container Instances) во всех подписках. Перечисляет назначения ролей, ограниченные службами контейнеров, определяет субъектов с правами write/Owner/Contributor и проверяет, в каких Container Apps и Instances включены управляемые удостоверения. Выводит два CSV-файла. |
ContainerPermz.ps1 | PowerShell | Эквивалент ContainerPermz.sh на PowerShell. |
| Скрипт | Shell | Описание |
|---|
KV-Access.sh | Bash | Проверяет, есть ли у текущего пользователя фактический доступ к плоскости данных Key Vault в выбранных подписках. Пытается получить список секретов, ключей и сертификатов в каждом хранилище. Поддерживает интерактивный выбор подписки, конкретной (-s) или всех (-a). Выводит отчёт с меткой времени. |
KV-Access.ps1 | PowerShell | Эквивалент KV-Access.sh на PowerShell. Использует флаги -SubscriptionIds и -All. |
KV-PublicAccess.sh | Bash | Проверяет сетевую конфигурацию каждого Key Vault во всех подписках. Классифицирует каждое хранилище как Publicly Accessible, Firewall Restricted, Private Only или Limited. Проверяет публичный сетевой доступ, действие ACL по умолчанию, правила IP/VNet и частные конечные точки. Выводит CSV. |
KV-PublicAccess.ps1 | PowerShell | Эквивалент KV-PublicAccess.sh на PowerShell. |
RunbookGrabz.ps1 | PowerShell | Эквивалент RunbookGrabz.sh на PowerShell. |
SQLAuditing.ps1 | PowerShell | Эквивалент SQLAuditing.sh на PowerShell. |