
EvilMist — это набор скриптов и утилит, предназначенных для поддержки тестирования на проникновение в облако и red teaming. Инструментарий помогает выявлять ошибки конфигурации, оценивать пути повышения привилегий и моделировать техники атак. EvilMist нацелен на оптимизацию облачных red-team рабочих процессов и повышение общего уровня безопасности облачных инфраструктур.
EvilMist — это набор скриптов и утилит, предназначенных для поддержки аудита безопасности облачных конфигураций, пентеста облачных сред и облачных red team-операций. Инструментарий помогает выявлять ошибки конфигурации, оценивать пути повышения привилегий и имитировать техники атак. EvilMist нацелен на оптимизацию cloud-ориентированных red team-процессов и улучшение общего уровня безопасности облачной инфраструктуры.
Инструмент неаутентифицированной энумерации и разведки Azure/Entra ID. Выполняет пассивную/полупассивную энумерацию с использованием публично доступных API и DNS-запросов без необходимости в каких-либо токенах аутентификации.
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraEnum-PS1.md | scripts/powershell/Invoke-EntraEnum.ps1 |
Комплексный инструмент энумерации пользователей и оценки безопасности Azure Entra ID (Azure AD), доступный в версиях PowerShell и Python.
Ключевые возможности:
/users заблокирован| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraRecon-PS1.md | scripts/powershell/Invoke-EntraRecon.ps1 |
| Python | EntraRecon-PY.md |
Сфокусированный инструмент оценки безопасности для выявления пользователей Azure Entra ID, у которых не включена многофакторная аутентификация (MFA). Включает расширенные функции для обнаружения общих почтовых ящиков и анализа активности входа.
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraMFACheck-PS1.md | scripts/powershell/Invoke-EntraMFACheck.ps1 |
Комплексный инструмент анализа гостевых учётных записей для выявления, анализа и оценки уровня безопасности внешних пользователей в Azure Entra ID. Необходим для управления гостевым доступом и аудита безопасности.
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraGuestCheck-PS1.md | scripts/powershell/Invoke-EntraGuestCheck.ps1 |
Комплексный инструмент оценки безопасности для выявления пользователей Azure Entra ID с доступом к 10 критически важным административным приложениям, включая инструменты PowerShell, порталы управления, основные сервисы Microsoft 365 и управление привилегированными удостоверениями. Необходим для управления привилегированным доступом и аудита административных инструментов.
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraAppAccess-PS1.md | scripts/powershell/Invoke-EntraAppAccess.ps1 |
Выполнение любого скрипта из корневого каталога без перехода в подпапки:```powershell
.\Invoke-EvilMist.ps1
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -List
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -OnlyNoMFA
**Доступные скрипты:** EntraEnum, EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraAzureRBACCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraNetworkSecurityCheck, EntraManagedIdentityCheck, EntraExchangeCheck, EntraSharePointCheck, EntraTeamsCheck, EntraAzureAttackPathCheck, EntraReport, EntraComplianceCheck, SharePointEnum
### Неаутентифицированное перечисление Entra ID (PowerShell)
**Требования:** PowerShell 7+ (дополнительные модули не требуются)```powershell
# Basic domain enumeration (TenantInfo, DomainRealm, DNS)
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com
# Check if email exists
.\Invoke-EvilMist.ps1 -Script EntraEnum -Email [email protected] -UserEnum
# Bulk user enumeration from file
.\Invoke-EvilMist.ps1 -Script EntraEnum -EmailList users.txt -UserEnum -Throttle 1
# Full enumeration with export
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -ExportPath results.json
# Stealth mode
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -EnableStealth
📖 Полная документация: EntraEnum-PS1.md
Требования: PowerShell 7+```powershell
.\Invoke-EvilMist.ps1 -Script EntraRecon
.\Invoke-EvilMist.ps1 -Script EntraRecon -UseAzCliToken
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -Script EntraRecon -EnableStealth
📖 **Полная документация:** [EntraRecon-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraRecon-PS1.md)
### Enumerate-EntraUsers (Python)
**Требования:** Python 3.8+, `msal`, `requests````bash
# Install dependencies
pip install -r requirements.txt
# Run directly from subfolder
python scripts\python\entra_recon.py
📖 Полная документация: EntraRecon-PY.md
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -ExportPath "no-mfa-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -IncludeDisabledUsers
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraMFACheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraMFACheck-PS1.md)
### Перечисление гостевых учетных записей (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Enumerate all guest accounts
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -ExportPath "guest-accounts.csv"
# Show only guests without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -Matrix -OnlyNoMFA
# Include disabled guests with stealth mode
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -IncludeDisabledGuests -EnableStealth -QuietStealth
📖 Полная документация: EntraGuestCheck-PS1.md
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraAppAccess
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -ExportPath "app-access.csv"
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -Matrix -OnlyNoMFA
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraAppAccess-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAppAccess-PS1.md)
### Проверка привилегированных ролей (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Check users with privileged directory roles
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -ExportPath "privileged-roles.csv"
# Show only users without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -Matrix -OnlyNoMFA
# Show only permanent (non-PIM) assignments
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -OnlyPermanent -ExportPath "permanent-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraRoleCheck-PS1.md
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -ExportPath "service-principals.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -Matrix -OnlyExpiredCredentials
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -OnlyHighPermission -ExportPath "high-perm-sp.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md)
**Ключевые возможности:**
- **Полное покрытие ролей** — перечисляет все роли каталога, включая роли с уровнем риска CRITICAL, HIGH, MEDIUM и LOW
- **Поддержка PIM** — определяет как постоянные (Active), так и управляемые через PIM (Eligible/Active) назначения ролей
- **Отслеживание назначений** — показывает даты назначения, продолжительность и даты истечения срока действия
- **Определение статуса MFA** — выявляет привилегированных пользователей без многофакторной аутентификации
- **Отслеживание последних входов** — показывает дату/время входа и характер активности
- **Оценка рисков** — классифицирует пользователей по уровню риска на основе критичности роли и уровня безопасности
- **Аналитика активности** — статистика входов, устаревшие учётные записи, неактивные пользователи
- **Матричное представление** — компактный формат таблицы для быстрого визуального сканирования
- **Параметры фильтрации** — показ только пользователей без MFA, только постоянных назначений или включение отключённых учётных записей
- **Параметры экспорта** — CSV/JSON с подробными сведениями о назначениях ролей
- **Скрытый режим** — настраиваемые задержки и джиттер для предотвращения обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md) | `scripts/powershell/Invoke-EntraServicePrincipalCheck.ps1` |
---
### Проверка безопасности регистрации приложений (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Check all application registrations and analyze security posture
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -ExportPath "applications.csv"
# Show only applications with expired credentials in matrix view
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -Matrix -OnlyExpiredCredentials
# Show only high-permission applications
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyHighPermission -ExportPath "high-perm-apps.csv"
# Show only applications with credentials
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyWithCredentials -ExportPath "apps-with-creds.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraApplicationCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraApplicationCheck-PS1.md | scripts/powershell/Invoke-EntraApplicationCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -ExportPath "ca-policies.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -Matrix -OnlyWithExclusions
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -OnlyMFAgaps -ExportPath "mfa-gaps.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraConditionalAccessCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraConditionalAccessCheck-PS1.md)
### Проверка безопасности административной единицы (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Analyze all Administrative Units and scoped role assignments
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -ExportPath "admin-units.csv"
# Show only scoped administrators without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -Matrix -OnlyNoMFA
# Include disabled accounts
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -IncludeDisabledUsers -ExportPath "all-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraAdminUnitCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraAdminUnitCheck-PS1.md | scripts/powershell/Invoke-EntraAdminUnitCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -ExportPath "stale-accounts.csv"
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -IncludeDisabledUsers -Matrix
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md)
**Основные возможности:**
- **Обнаружение неактивных учетных записей** - Определяет учетные записи без недавнего входа в систему (>90 дней)
- **Обнаружение учетных записей, которые никогда не входили** - Находит учетные записи, которые никогда не использовались
- **Обнаружение неиспользуемых лицензий** - Определяет отключенные учетные записи, которым все еще назначены лицензии
- **Отслеживание срока действия паролей** - Обнаруживает учетные записи с истекшими паролями
- **Анализ возраста учетных записей** - Вычисляет возраст учетной записи и связывает его с неактивностью
- **Оценка рисков** - Классифицирует учетные записи по уровню риска (CRITICAL/HIGH/MEDIUM/LOW)
- **Аналитика активности** - Статистика входов, разбивка по неактивным учетным записям
- **Матричное представление** - Компактный табличный формат для быстрого визуального просмотра
- **Параметры фильтрации** - Включать или исключать отключенные учетные записи
- **Параметры экспорта** - CSV/JSON с подробными сведениями об учетных записях
- **Скрытый режим** - Настраиваемые задержки и джиттер для избежания обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStaleAccountCheck.ps1` |
---
### Проверка доверия устройств и соответствия требованиям (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Analyze all registered devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -ExportPath "devices.csv"
# Show only non-compliant devices in matrix view
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -Matrix -OnlyNonCompliant
# Show only BYOD devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyBYOD -ExportPath "byod-devices.csv"
# Show only devices with stale sign-ins
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyStale -ExportPath "stale-devices.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraDeviceCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraDeviceCheck-PS1.md | scripts/powershell/Invoke-EntraDeviceCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -ExportPath "sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -Matrix -OnlyNoBackup
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -IncludeDisabledUsers -ExportPath "all-sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md)
**Ключевые возможности:**
- **Определение статуса SSPR** — Определяет пользователей с включённым SSPR, зарегистрированных для SSPR или способных его использовать
- **Анализ методов регистрации** — Анализирует зарегистрированные методы проверки подлинности для SSPR
- **Обнаружение резервных методов** — Определяет пользователей без настроенных резервных методов
- **Определение надёжных методов** — Различает надёжные и слабые методы проверки подлинности
- **Сопоставление со статусом MFA** — Сопоставляет конфигурацию SSPR со статусом MFA
- **Отслеживание последнего входа** — Показывает дату/время входа и паттерны активности
- **Оценка риска** — Категоризирует пользователей по уровню риска (HIGH/MEDIUM/LOW) на основе конфигурации SSPR
- **Аналитика активности** — Статистика входов, устаревшие учётные записи, неактивные пользователи
- **Матричное представление** — Компактный табличный формат для быстрого визуального сканирования
- **Варианты фильтрации** — Показать только пользователей без резервных методов или включить отключённые учётные записи
- **Варианты экспорта** — CSV/JSON с подробными сведениями об SSPR
- **Скрытый режим** — Настраиваемые задержки и джиттер для предотвращения обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md) | `scripts/powershell/Invoke-EntraSSPRCheck.ps1` |
---
### Проверка безопасности политики паролей (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Analyze all password policies
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -ExportPath "password-policies.csv"
# Show only users with weak password policies in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -Matrix -OnlyWeakPolicies
# Show only users with password never expires
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -OnlyNeverExpires -ExportPath "never-expires.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraPasswordPolicyCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraPasswordPolicyCheck-PS1.md | scripts/powershell/Invoke-EntraPasswordPolicyCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -ExportPath "legacy-auth.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -Matrix -OnlyRecent
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -IncludeDisabledUsers -ExportPath "all-legacy-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md)
**Ключевые возможности:**
- **Обнаружение устаревших протоколов** — Определяет 10 устаревших протоколов аутентификации (IMAP, POP3, SMTP, Exchange ActiveSync и т. д.)
- **Анализ журналов входа** — Запрашивает журналы аудита на предмет использования устаревшей аутентификации (за последние 90 дней)
- **Отслеживание последнего использования** — Показывает дату и время последней устаревшей аутентификации
- **Статистика по протоколам** — Отслеживает успешные/неудачные входы по каждому протоколу
- **Определение статуса MFA** — Выявляет пользователей без многофакторной аутентификации, использующих устаревшую аутентификацию
- **Оценка риска** — Классифицирует пользователей по уровню риска (CRITICAL/HIGH/MEDIUM/LOW) на основе паттернов использования и давности
- **Аналитика активности** — Статистика входов, разбивка по протоколам, давность использования
- **Матричное представление** — Компактный табличный формат для быстрого визуального просмотра
- **Параметры фильтрации** — Показывать только недавнее использование или включать отключённые учётные записи
- **Параметры экспорта** — CSV/JSON с подробными сведениями об устаревшей аутентификации
- **Стелс-режим** — Настраиваемые задержки и джиттер для обхода обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md) | `scripts/powershell/Invoke-EntraLegacyAuthCheck.ps1` |
---
### Анализ лицензий и SKU (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph```powershell
# Analyze all license SKUs and user assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -ExportPath "licenses.csv"
# Show only users with privileged licenses (E5, P2) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -Matrix -OnlyPrivilegedLicenses
# Show only unused license assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -OnlyUnusedLicenses -ExportPath "unused-licenses.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraLicenseCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraLicenseCheck-PS1.md | scripts/powershell/Invoke-EntraLicenseCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -ExportPath "sync-status.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -Matrix -OnlySyncErrors
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -OnlyStaleSync -ExportPath "stale-sync.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md)
**Ключевые возможности:**
- **Анализ статуса синхронизации** - Определяет синхронизированных и только облачных пользователей
- **Обнаружение ошибок синхронизации** - Перечисляет все ошибки подготовки и синхронизации
- **Обнаружение устаревшей синхронизации** - Определяет пользователей с устаревшей синхронизацией (>7 дней)
- **Выявление конфликтов синхронизации** - Обнаруживает повторяющиеся атрибуты и конфликты
- **Анализ области синхронизации** - Проверяет конфигурацию и область синхронизации
- **Оценка рисков** - Классифицирует пользователей по уровню риска (CRITICAL/HIGH/MEDIUM/LOW) на основе состояния синхронизации
- **Аналитика активности** - Статистика синхронизации, разбивка ошибок, анализ доменов
- **Матричный вид** - Компактный табличный формат для быстрого визуального сканирования
- **Параметры фильтрации** - Показывать только ошибки синхронизации, устаревшую синхронизацию или включать отключенные учетные записи
- **Параметры экспорта** - CSV/JSON с подробными сведениями о синхронизации
- **Режим скрытности** - Настраиваемые задержки и джиттер для предотвращения обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md) | `scripts/powershell/Invoke-EntraDirectorySyncCheck.ps1` |
---
### Перечисление Power Platform (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph, разрешения Power Platform Admin или Environment Maker
**Аутентификация:** Скрипт автоматически обрабатывает аутентификацию API Power Platform:
- **По умолчанию**: поток с кодом устройства (запрос в браузере) - настройка не требуется
- **Azure CLI**: используйте `-UseAzCliToken` - автоматически запускает `az login` при необходимости
- **Azure PowerShell**: используйте `-UseAzPowerShellToken` - автоматически запускает `Connect-AzAccount` при необходимости (использует ту же учетную запись, что и для аутентификации Graph)```powershell
# Enumerate all Power Apps and Power Automate flows
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -ExportPath "power-platform.csv"
# Show only high-risk resources (CRITICAL/HIGH) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -Matrix -OnlyHighRisk
# Show only resources with sensitive connectors
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -OnlySensitiveConnectors -ExportPath "sensitive.csv"
# Use Azure CLI (automatically runs 'az login' if needed)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzCliToken
# Use Azure PowerShell (automatically runs 'Connect-AzAccount' if needed, uses Graph context account)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzPowerShellToken
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraPowerPlatformCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraPowerPlatformCheck-PS1.md | scripts/powershell/Invoke-EntraPowerPlatformCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -ExportPath "attack-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -IncludeDisabledUsers -ExportPath "all-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md)
**Ключевые возможности:**
- **Анализ повышения привилегий** — Определяет пути к повышенным привилегиям через группы, назначаемые на роли
- **Обнаружение делегирования сброса паролей** — Находит пользователей, которые могут сбрасывать пароли других пользователей
- **Анализ транзитивного членства в группах** — Определяет косвенный доступ к привилегированным группам
- **Обнаружение доступа к общим почтовым ящикам** — Выявляет общие почтовые ящики, которые могут использоваться для латерального перемещения
- **Оценка риска** — Категоризирует пути атак по уровню риска (CRITICAL/HIGH/MEDIUM) на основе типа пути и состояния безопасности пользователя
- **Анализ сложности пути** — Оценивает сложность пути атаки (Low/Medium/High)
- **Определение статуса MFA** — Выявляет пользователей без многофакторной аутентификации в путях атак
- **Отслеживание последнего входа** — Показывает дату/время входа и паттерны активности
- **Аналитика активности** — Статистика входов, устаревшие учётные записи, неактивные пользователи
- **Матричное представление** — Компактный табличный формат для быстрого визуального просмотра
- **Параметры фильтрации** — Показывать только пути высокого риска или включать отключённые учётные записи
- **Параметры экспорта** — CSV/JSON с полными сведениями о путях атак
- **Скрытый режим** — Настраиваемые задержки и джиттер, чтобы избежать обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md) | `scripts/powershell/Invoke-EntraAttackPathCheck.ps1` |
---
### Аудит назначения ролей Azure RBAC и обнаружение дрейфа (PowerShell)
**Требования:** модули PowerShell 7+, Az.Accounts, Az.Resources, Microsoft.Graph.Authentication```powershell
# Export all Azure RBAC role assignments across ALL tenants and subscriptions to baseline JSON
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export
# Export to specific file
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExportPath "rbac-baseline.json"
# Skip tenants with MFA/Conditional Access issues (common in multi-tenant scenarios)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants
# Show all users with their Azure permissions in matrix format
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ShowAllUsersPermissions
# Expand group memberships to show all users who have Azure access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers
# Combined: Show all users including those with access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers -ShowAllUsersPermissions
# Detect drift against baseline across all tenants
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json"
# Detect drift with matrix view and export report
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json" -Matrix -ExportPath "drift-report.json"
# Export specific tenant only
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -TenantId "tenant-id-123"
# Export specific subscription with Azure CLI auth
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SubscriptionId "sub-123" -UseAzCliToken
# Stealth mode drift detection
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -EnableStealth -QuietStealth
# Export excluding PIM/JIT time-bounded assignments (focus on permanent assignments only)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExcludePIM
# Detect drift excluding PIM/JIT assignments (ignore temporary elevated access)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -ExcludePIM
📖 Полная документация: EntraAzureRBACCheck-PS1.md
Ключевые возможности:
-SkipFailedTenants)-ShowAllUsersPermissions)-ExpandGroupMembers)-ExcludePIM)| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraAzureRBACCheck-PS1.md | scripts/powershell/Invoke-EntraAzureRBACCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -ExportPath "consent-grants.csv"
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -OnlyThirdParty -OnlyAdminConsent
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -StaleDays 60 -OnlyStale
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md)
**Ключевые возможности:**
- **Перечисление OAuth2PermissionGrant** — перечисляет все предоставления делегированных разрешений в арендаторе
- **Определение согласия администратора и пользователя** — различает согласие администратора на уровне всего арендатора и индивидуальное согласие пользователя
- **Обнаружение опасных разрешений** — выявляет высокорисковые области (Mail.ReadWrite, Files.ReadWrite.All, User.ReadWrite.All и т. д.)
- **Обнаружение устаревших согласий** — находит неиспользуемые предоставления согласий (настраиваемый порог, по умолчанию 90 дней)
- **Идентификация сторонних приложений** — автоматически определяет приложения, не относящиеся к Microsoft, с расширенными разрешениями
- **Сопоставление с активностью входа** — сверяет с активностью входа в систему для обнаружения неактивных приложений
- **Оценка риска** — категоризирует предоставления согласий по уровню риска (CRITICAL/HIGH/MEDIUM/LOW) на основе типа согласия, разрешений и происхождения приложения
- **Анализ издателя** — отслеживает издателей приложений и статус проверенных издателей
- **Отслеживание ресурсов** — определяет, к каким API/ресурсам имеет доступ каждое приложение
- **Матричное представление** — компактный табличный формат для быстрого визуального сканирования
- **Параметры фильтрации** — показывать только высокорисковые, сторонние, устаревшие согласия или согласия администратора
- **Параметры экспорта** — CSV/JSON с подробными сведениями о предоставлениях согласий
- **Скрытый режим** — настраиваемые задержки и джиттер для предотвращения обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md) | `scripts/powershell/Invoke-EntraOAuthConsentCheck.ps1` |
---
### Проверка риска входа в систему (PowerShell)
**Требования:** PowerShell 7+, модули Microsoft.Graph, Azure AD Premium P2```powershell
# Enumerate all risky users
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -ExportPath "risky-users.csv"
# Show only high-risk users in matrix view
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -Matrix -OnlyHighRisk
# Show only active (not remediated) risks
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -OnlyActive
# Include risky sign-ins from the last 7 days
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -DaysBack 7
# Full analysis with pattern detection
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -IncludeRiskDetections -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraSignInRiskCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraSignInRiskCheck-PS1.md | scripts/powershell/Invoke-EntraSignInRiskCheck.ps1 |
Требования: PowerShell 7+, модули Microsoft.Graph, Azure AD Premium P2```powershell
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -ExportPath "pim-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -OnlyHighPrivilege -MaxActivationHours 2
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -IncludeGroups -IncludeAccessReviews
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md)
**Ключевые возможности:**
- **Аудит конфигурации JIT-доступа** - Анализирует максимальную длительность активации, требования к утверждению, применение MFA
- **Анализ процесса утверждения** - Определяет роли без утверждения или с отсутствующими утверждающими
- **Требования к обоснованию** - Обнаруживает роли без обязательного обоснования для активации
- **Применение MFA** - Определяет роли, не требующие MFA для активации
- **Конфигурация уведомлений** - Анализирует настройки уведомлений администратора об активации ролей
- **Обнаружение постоянных назначений** - Находит постоянный привилегированный доступ, обходящий PIM
- **PIM для групп** - Анализирует управление привилегированным доступом на основе групп
- **Проверки доступа** - Проверяет конфигурацию периодической сертификации доступа
- **Оценка рисков** - Категоризирует роли по уровню риска (CRITICAL/HIGH/MEDIUM/LOW) на основе пробелов в конфигурации
- **Анализ доступных и активных назначений** - Сравнивает доступные назначения с активными/постоянными
- **Обнаружение break-glass учетных записей** - Определяет постоянные назначения, которые могут быть break-glass учетными записями
- **Матричное представление** - Компактный формат таблицы для быстрого визуального просмотра
- **Параметры фильтрации** - Показывать только критические роли, роли с высокими привилегиями или ошибки конфигурации
- **Параметры экспорта** - CSV/JSON с подробными сведениями о конфигурации PIM
- **Скрытый режим** - Настраиваемые задержки и джиттер для избежания обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md) | `scripts/powershell/Invoke-EntraPIMCheck.ps1` |
---
### Проверка безопасности Azure Key Vault (PowerShell)
**Требования:** PowerShell 7+, модули Az.Accounts, Az.KeyVault, Az.Resources, Az.Monitor```powershell
# Perform comprehensive Key Vault security audit
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -ExportPath "keyvault-audit.csv"
# Show only critical findings in matrix view
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -Matrix -OnlyCritical
# Audit only Key Vaults with public access enabled
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -OnlyPublicAccess
# Include secret and certificate expiration analysis
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -IncludeSecrets -IncludeCertificates -ExpirationDays 90
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraKeyVaultCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraKeyVaultCheck-PS1.md | scripts/powershell/Invoke-EntraKeyVaultCheck.ps1 |
Комплексный инструмент аудита безопасности учетных записей хранения Azure, который обнаруживает открытые учетные записи хранения и риски утечки данных. Выявляет общедоступные blob-контейнеры, ошибки сетевой конфигурации и пробелы в защите данных.```powershell
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -ExportPath "storage-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -OnlyAnonymousContainers -IncludeContainers
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -IncludeKeyAge -KeyRotationDays 60
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md)
**Ключевые возможности:**
- **Обнаружение публичных blob-контейнеров** - Определяет контейнеры с анонимным доступом (уровень Blob/Container)
- **Проверка принудительного использования HTTPS** - Определяет учётные записи хранения, допускающие незашифрованный HTTP-трафик
- **Анализ доступа по общему ключу** - Определяет учётные записи, использующие ключи хранения вместо аутентификации Azure AD
- **Аудит безопасности сети** - Проверяет публичный доступ, правила брандмауэра, интеграцию VNet, частные конечные точки
- **Анализ защиты данных** - Обратимое удаление Blob, обратимое удаление контейнеров, статус версионирования
- **Отслеживание ротации ключей** - Определяет ключи учётной записи хранения, превышающие порог ротации
- **Кросс-тенантная репликация** - Обнаруживает репликацию данных в другие тенанты (риск эксфильтрации)
- **Проверка версии TLS** - Обеспечивает применение минимум TLS 1.2
- **Шифрование инфраструктуры** - Проверяет конфигурацию двойного шифрования
- **Проверка диагностического журналирования** - Проверяет, включено ли журналирование аудита
- **Оценка рисков** - Классифицирует учётные записи хранения по уровню риска (CRITICAL/HIGH/MEDIUM/LOW)
- **Матричное представление** - Компактный табличный формат для быстрого визуального сканирования
- **Параметры фильтрации** - Показывает только критические контейнеры, контейнеры с публичным доступом или анонимные контейнеры
- **Параметры экспорта** - CSV/JSON с подробными сведениями об учётной записи хранения
- **Стелс-режим** - Настраиваемые задержки и джиттер для избежания обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStorageAccountCheck.ps1` |
---
### Проверка безопасности сети (PowerShell)
**Требования:** PowerShell 7+, модули Azure PowerShell```powershell
# Perform comprehensive Network Security audit
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -ExportPath "network-audit.csv"
# Show only NSGs with open management ports
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -OnlyOpenPorts -Matrix
# Full scan with VNets, Bastion, and DDoS analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeVNets -IncludeBastion -IncludeDDoS -Matrix
# Include NSG flow logs analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeFlowLogs -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraNetworkSecurityCheck-PS1.md
Ключевые особенности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraNetworkSecurityCheck-PS1.md | scripts/powershell/Invoke-EntraNetworkSecurityCheck.ps1 |
Комплексный инструмент аудита безопасности Azure Managed Identity, выявляющий избыточные разрешения и риски безопасности. Обнаруживает управляемые удостоверения с высокими привилегиями, доступ между подписками и неиспользуемые удостоверения.```powershell
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -ExportPath "managed-identity-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyHighPrivilege -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyCrossSubscription -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -IncludeRoleDetails -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md)
**Ключевые возможности:**
- **Инвентаризация удостоверений** - перечисление управляемых удостоверений, назначаемых системой и пользователем
- **Анализ назначений ролей** - разрешения Azure RBAC для каждого управляемого удостоверения
- **Обнаружение высоких привилегий** - определяет роли Owner, Contributor, User Access Administrator
- **Обнаружение критических ролей** - помечает удостоверения с ролями Owner, UAA или RBAC Admin
- **Доступ между подписками** - обнаруживает удостоверения с разрешениями за пределами домашней подписки
- **Обнаружение неиспользуемых удостоверений** - находит управляемые удостоверения без назначенных ролей
- **Охват ресурсов** - виртуальные машины, App Services, Function Apps, назначаемые пользователем удостоверения
- **Анализ области действия** - разрешения на уровне подписки, группы ресурсов или отдельного ресурса
- **Оценка риска** - классификация CRITICAL/HIGH/MEDIUM/LOW с выявленными проблемами
- **Матричное представление** - компактный табличный формат для быстрого просмотра
- **Варианты экспорта** - CSV/JSON с подробными сведениями об удостоверениях
- **Скрытый режим** - настраиваемые задержки и джиттер, чтобы избежать обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md) | `scripts/powershell/Invoke-EntraManagedIdentityCheck.ps1` |
---
### Аудит безопасности Exchange Online
Комплексный инструмент аудита безопасности Exchange Online, который обнаруживает почтовые векторы атак и риски утечки данных. Выявляет правила входящих сообщений, пересылающие на внешние адреса, подозрительные правила транспорта, делегирования почтовых ящиков и пробелы в журналировании аудита.```powershell
# Perform comprehensive Exchange Online security audit
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -ExportPath "exchange-audit.csv"
# Show only mailboxes with external forwarding
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlyExternalForwarding -Matrix
# Show only suspicious inbox rules
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlySuspiciousRules -Matrix
# Include transport rules and OWA policies
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -IncludeTransportRules -IncludeOWAPolicies -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraExchangeCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraExchangeCheck-PS1.md | scripts/powershell/Invoke-EntraExchangeCheck.ps1 |
Комплексный инструмент оценки безопасности SharePoint Online для выявления рисков чрезмерного предоставления доступа и внешнего доступа. Проверяет конфигурации общего доступа на уровне клиента и сайта для обнаружения потенциальной утечки данных.```powershell
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -ExportPath "sharepoint-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyAnonymousLinks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyPermissiveOverrides -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -IncludeOneDrive -IncludeSensitivityLabels -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md)
**Ключевые возможности:**
- **Настройки общего доступа клиента** - Анализ политики внешнего доступа на уровне организации
- **Обнаружение анонимных ссылок** - Определяет сайты, разрешающие ссылки "Anyone"
- **Переопределения на уровне сайта** - Выявляет сайты с более разрешающим общим доступом, чем у клиента
- **Анализ доступа гостей** - Доступ внешних пользователей к конфиденциальным сайтам
- **Общий доступ OneDrive** - Настройка внешнего доступа к личному хранилищу
- **Покрытие метками чувствительности** - Определяет сайты без классификации данных
- **Анализ ссылок по умолчанию** - Тип ссылки по умолчанию и настройка разрешений
- **Политика срока действия ссылок** - Настройки срока действия анонимных ссылок
- **Ограничения доменов** - Настройка списков разрешённых и заблокированных доменов
- **Оценка рисков** - Классификация CRITICAL/HIGH/MEDIUM/LOW с результатами
- **Матричное представление** - Компактный табличный формат для быстрой проверки
- **Варианты экспорта** - CSV/JSON с подробными данными о сайтах
- **Скрытый режим** - Настраиваемые задержки и джиттер для предотвращения обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md) | `scripts/powershell/Invoke-EntraSharePointCheck.ps1` |
---
### Перечисление SharePoint Online
Инструмент аутентифицированного поиска и загрузки файлов SharePoint Online, использующий REST API SharePoint. Позволяет операторам red-team обнаруживать и экфильтровать конфиденциальные документы во время авторизованных тестов на проникновение. PowerShell-порт [ElephantPoint](https://github.com/nettitude/ElephantPoint) (Nettitude).```powershell
# Zero-config search — auto-connects, auto-detects SharePoint domain
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "password"
# Device code authentication (for headless terminals)
.\Invoke-EvilMist.ps1 -Script SharePointEnum -UseDeviceCode -Query "credentials"
# Direct bearer token from ROADtools/TokenTactics
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -Query "confidential"
# Download file as Base64 for C2 exfiltration
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -FileUrl "/sites/hr/Shared Documents/salaries.xlsx" -Base64
# Stealth search with matrix output and JSON export
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "budget" -EnableStealth -QuietStealth -Matrix -ExportPath "results.json"
📖 Полная документация: SharePointEnum-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | SharePointEnum-PS1.md | scripts/powershell/Invoke-SharePointEnum.ps1 |
Комплексный инструмент оценки безопасности Microsoft Teams для аудита параметров безопасности совместной работы. Выявляет риски внешнего доступа, политики для гостей, пробелы в безопасности собраний и проблемы с разрешениями приложений.```powershell
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -ExportPath "teams-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyMeetingRisks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyExternalAccess -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -IncludeTeamsInventory -IncludeAppPolicies -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md)
**Ключевые возможности:**
- **Внешний доступ (федерация)** — Анализ того, кто может общаться извне организации
- **Политики гостевого доступа** — Возможности гостевых пользователей и настройки разрешений
- **Политики собраний** — Анонимное подключение, обход вестибюля, настройки записи
- **Политики разрешений приложений** — Контроль доступа сторонних и настраиваемых приложений
- **Политики обмена сообщениями** — Настройки функций чата и сообщений
- **Инвентаризация Teams** — Видимость, гостевое членство и анализ управления
- **Конфигурация клиента** — Параметры безопасности клиента Teams
- **Оценка рисков** — Классификация CRITICAL/HIGH/MEDIUM/LOW с результатами
- **Матричное представление** — Компактный табличный формат для быстрого просмотра
- **Варианты экспорта** — CSV/JSON с подробными сведениями о конфигурации
- **Скрытый режим** — Настраиваемые задержки и джиттер для избежания обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md) | `scripts/powershell/Invoke-EntraTeamsCheck.ps1` |
---
### Анализ путей атак между службами Azure
Комплексный инструмент анализа путей атак между службами Azure, который выявляет многошаговые пути атак, охватывающие несколько служб Azure. Показывает, как доступ к одному ресурсу может привести к компрометации других ресурсов во всей среде Azure.```powershell
# Perform comprehensive cross-service attack path analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -ExportPath "azure-attack-paths.csv"
# Show only critical attack paths in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyCritical -Matrix
# Show critical and high-risk paths
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyHighRisk -Matrix
# Include inherited permission paths with deeper analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -IncludeInheritedPaths -MaxPathDepth 4
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -EnableStealth -QuietStealth
📖 Полная документация: EntraAzureAttackPathCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraAzureAttackPathCheck-PS1.md | scripts/powershell/Invoke-EntraAzureAttackPathCheck.ps1 |
Унифицированный генератор HTML-отчётов по безопасности, который запускает несколько проверок безопасности EvilMist и создаёт всеобъемлющую информационную панель для руководства с оценкой рисков, приоритетами устранения уязвимостей и анализом тенденций.```powershell
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -ExportPath "full-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks MFA,Roles,ConditionalAccess,AttackPaths
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks All -ExportPath "security-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -BaselinePath "previous-report.json"
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan -EnableStealth -QuietStealth
📖 **Полная документация:** [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md)
**Ключевые возможности:**
- **Консолидированная отчетность** - Выполнение нескольких проверок безопасности одной командой
- **Информационная панель для руководства** - Профессиональный HTML-отчет с оценкой безопасности (0-100)
- **Обзор уровней риска** - Количество находок CRITICAL, HIGH, MEDIUM, LOW
- **Матрица приоритетов устранения** - Приоритизированные действия (P1-P4) с рекомендуемыми сроками
- **Анализ тенденций** - Сравнение с базовыми отчетами для отслеживания улучшений безопасности
- **Быстрый режим сканирования** - Основные проверки безопасности (MFA, Roles, CA, Attack Paths, OAuth, PIM)
- **Комплексное сканирование** - Все доступные проверки безопасности для полного покрытия
- **Экспорт в JSON** - Автоматический экспорт базовой линии для будущих сравнений
- **Скрытый режим** - Настраиваемые задержки и джиттер для избежания обнаружения
| Версия | Документация | Файл |
|---------|---------------|------|
| PowerShell | [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md) | `scripts/powershell/Invoke-EntraReport.ps1` |
---
### Оценка соответствия (CIS/NIST/SOC2/ISO27001/GDPR)
Комплексный инструмент оценки соответствия, который проверяет конфигурацию безопасности Azure Entra ID на соответствие отраслевым стандартам, включая CIS Microsoft Azure Foundations Benchmark, NIST 800-53, SOC 2, ISO 27001 и GDPR.```powershell
# Comprehensive compliance assessment against all frameworks
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Matrix
# CIS Azure Benchmark assessment
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework CIS -ExportPath "cis-compliance.csv"
# NIST 800-53 assessment with remediation guidance
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -IncludeRemediation
# Executive report with compliance score
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -GenerateExecutiveReport -ExportPath "compliance-report.html"
# SOC 2 assessment showing only failed controls
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework SOC2 -OnlyFailed
# Filter by NIST control family (e.g., Access Control)
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -ControlFamily AC
📖 Полная документация: EntraComplianceCheck-PS1.md
Ключевые возможности:
| Версия | Документация | Файл |
|---|---|---|
| PowerShell | EntraComplianceCheck-PS1.md | scripts/powershell/Invoke-EntraComplianceCheck.ps1 |
scripts/python/entra_recon.py |
| Документ | Описание |
|---|
| EntraRecon-PS1.md | Полная документация PowerShell-скрипта, включая все параметры, функции и примеры использования |
| EntraRecon-PY.md | Полная документация Python-скрипта, включая методы аутентификации, настройку скрытного режима и примеры |
| EntraMFACheck-PS1.md | Документация по проверке безопасности MFA, включая обнаружение общих почтовых ящиков, отслеживание входов и оценку рисков |
| EntraGuestCheck-PS1.md | Документация по перечислению гостевых учетных записей, включая извлечение гостевых доменов, отслеживание приглашений и анализ безопасности |
| EntraAppAccess-PS1.md | Документация по проверке доступа PowerShell и Graph CLI, включая отслеживание доступа приложений, даты назначения и анализ привилегированного доступа |
| EntraRoleCheck-PS1.md | Документация по проверке привилегированных ролей, включая перечисление ролей, отслеживание назначений PIM, оценку рисков и анализ безопасности |
| EntraServicePrincipalCheck-PS1.md | Документация по проверке безопасности субъектов-служб, включая перечисление учетных данных, отслеживание сроков действия, анализ разрешений, безопасность владельцев и оценку рисков |
| EntraConditionalAccessCheck-PS1.md | Документация по проверке безопасности политик условного доступа, включая перечисление политик, обнаружение исключений, пробелы в применении MFA, покрытие критически важных приложений и оценку рисков |
| EntraStaleAccountCheck-PS1.md | Документация по проверке устаревших учетных записей, включая обнаружение устаревших учетных записей, обнаружение никогда не входивших пользователей, выявление неиспользуемых лицензий, отслеживание срока действия паролей и анализ гигиены учетных записей |
| EntraDeviceCheck-PS1.md | Документация по проверке доверия к устройствам и соответствия требованиям, включая перечисление устройств, определение статуса соответствия, обнаружение BYOD, отслеживание устаревших входов, политики соответствия Intune и оценку рисков |
| EntraSSPRCheck-PS1.md | Документация по проверке самостоятельного сброса пароля, включая определение статуса SSPR, анализ методов регистрации, обнаружение резервных методов, классификацию надежных методов, корреляцию с MFA и оценку рисков |
| EntraPasswordPolicyCheck-PS1.md | Документация по проверке безопасности политики паролей, включая анализ срока действия паролей, обнаружение паролей без срока действия, проверку требований к сложности, выявление слабых политик, отслеживание возраста пароля и оценку рисков |
| EntraLegacyAuthCheck-PS1.md | Документация по проверке устаревшей аутентификации, включая обнаружение устаревших протоколов, анализ журналов входа, отслеживание последнего использования, статистику протоколов, корреляцию с MFA и оценку рисков |
| EntraLicenseCheck-PS1.md | Документация по анализу лицензий и SKU, включая перечисление SKU арендатора, отслеживание назначения лицензий пользователям, обнаружение привилегированных лицензий, выявление неиспользуемых лицензий и оценку рисков |
| EntraAdminUnitCheck-PS1.md | Документация по проверке безопасности административных единиц, включая перечисление административных единиц, анализ назначения ролей с областью действия, перечисление участников, определение статуса MFA, оценку рисков и анализ доступа администраторов с областью действия |
| EntraDirectorySyncCheck-PS1.md | Документация по проверке состояния синхронизации каталога, включая анализ состояния синхронизации, обнаружение ошибок синхронизации, обнаружение устаревшей синхронизации, выявление конфликтов синхронизации, анализ области синхронизации и оценку рисков |
| EntraPowerPlatformCheck-PS1.md | Документация по перечислению Power Platform, включая перечисление Power Apps, перечисление потоков Power Automate, обнаружение конфиденциальных соединителей, выявление действий высокого риска, анализ соединителей и оценку рисков |
| EntraGroupCheck-PS1.md | Документация по анализу безопасности групп, включая перечисление групп, анализ владельцев со статусом MFA, обнаружение групп без владельца, обнаружение чрезмерного членства, обнаружение групп с назначаемыми ролями и оценку рисков |
| EntraApplicationCheck-PS1.md | Документация по проверке безопасности регистрации приложений, включая перечисление приложений, анализ учетных данных, отслеживание сроков действия, анализ разрешений API, оценку безопасности владельцев и оценку рисков |
| EntraAttackPathCheck-PS1.md | Документация по анализу путей атак, включая пути повышения привилегий, делегирование сброса паролей, транзитивное членство в группах, доступ к общим почтовым ящикам, оценку рисков и анализ сложности путей |
| EntraAzureRBACCheck-PS1.md | Документация по аудиту назначения ролей Azure RBAC и обнаружению отклонений, включая экспорт базовой линии, обнаружение отклонений, поддержку нескольких подписок, поддержку нескольких арендаторов, пропуск арендаторов с ошибками, развертывание членов групп, матрицу разрешений всех пользователей, исключение PIM/JIT, обнаружение несоответствия условий ABAC, инструкции по исправлению (Terraform/CLI/PowerShell), отслеживание назначения ролей, обнаружение несанкционированных изменений и оценку рисков |
| EntraOAuthConsentCheck-PS1.md | Документация по аудиту предоставления согласия OAuth, включая перечисление OAuth2PermissionGrant, определение согласия администратора и пользователя, выявление опасных разрешений, обнаружение устаревшего согласия, анализ сторонних приложений, корреляцию активности входа и оценку рисков для обнаружения неправомерного предоставления согласия |
| EntraSignInRiskCheck-PS1.md | Документация по анализу защиты удостоверений, включая перечисление рискованных пользователей, отслеживание уровня/состояния риска, анализ обнаружения рисков, обнаружение невозможных перемещений, обнаружение анонимных IP-адресов, обнаружение подбора паролей (password spray), обнаружение утечки учетных данных, анализ закономерностей, анализ времени и рекомендации по исправлению |
| EntraPIMCheck-PS1.md | Документация по аудиту конфигурации управления привилегированными удостоверениями (PIM), включая пробелы в конфигурации JIT-доступа, анализ рабочих процессов утверждения, применение MFA, требования к обоснованию, настройку уведомлений, обнаружение постоянных назначений, PIM для групп, проверки доступа и оценку рисков |
| EntraKeyVaultCheck-PS1.md | Документация по аудиту безопасности Azure Key Vault, включая анализ модели доступа (RBAC и политики доступа), статус обратимого удаления и защиты от очистки, аудит сетевой безопасности (открытый доступ, брандмауэр, VNet), обнаружение частных конечных точек, обнаружение излишне разрешающего доступа, проверку диагностического журналирования, отслеживание сроков действия секретов/сертификатов/ключей и оценку рисков |
| EntraStorageAccountCheck-PS1.md | Документация по аудиту безопасности учетной записи хранения Azure, включая обнаружение открытых контейнеров blob, проверку принудительного использования HTTPS, анализ доступа с помощью общего ключа, аудит сетевой безопасности (открытый доступ, брандмауэр, VNet, частные конечные точки), анализ защиты данных (обратимое удаление, версионирование), отслеживание смены ключей, обнаружение репликации между арендаторами, проверку версии TLS, проверку шифрования инфраструктуры, проверку диагностического журналирования и оценку рисков |