Skip to content

kevoru18/evilmist

Β 
Β 

Repository files navigation

EvilMist

EvilMist is a collection of scripts and utilities designed to support cloud penetration testing & red teaming. The toolkit helps identify misconfigurations, assess privilege-escalation paths, and simulate attack techniques. EvilMist aims to streamline cloud-focused red-team workflows and improve the overall security posture of cloud infrastructures


Tools

Enumerate-EntraUsers

Comprehensive Azure Entra ID (Azure AD) user enumeration and security assessment tool, available in both PowerShell and Python versions.

Key Features:

  • 15+ User Enumeration Methods - Works even when direct /users access is blocked
  • Security Assessment - MFA status, privileged roles, stale accounts, guest users
  • Credential Attack Surface - SSPR, legacy auth, app passwords analysis
  • Conditional Access Analysis - Policy enumeration and gap detection
  • Device & Intune Enumeration - Managed devices, compliance policies
  • Attack Path Analysis - Privilege escalation paths and lateral movement
  • Power Platform - Power Apps and Power Automate flow enumeration
  • Export Options - BloodHound/AzureHound JSON, HTML reports, CSV/JSON
  • Stealth Mode - Configurable delays and jitter to avoid detection
Version Documentation File
PowerShell EntraRecon-PS1.md Invoke-EntraRecon.ps1
Python EntraRecon-PY.md entra_recon.py

MFA Security Check

Focused security assessment tool to identify Azure Entra ID users without Multi-Factor Authentication (MFA) enabled. Includes advanced features for shared mailbox detection and sign-in activity analysis.

Key Features:

  • MFA Detection - Identifies users without strong authentication methods
  • Last Sign-In Tracking - Shows last login date/time and activity patterns
  • Shared Mailbox Detection - Automatically identifies and filters shared mailbox accounts
  • Sign-In Capability Check - Determines if accounts can actually authenticate
  • Risk Assessment - Categorizes users by risk level (HIGH/MEDIUM/LOW)
  • Activity Analytics - Sign-in statistics, department breakdowns, stale accounts
  • Matrix View - Compact table format for quick visual scanning
  • Export Options - CSV/JSON with comprehensive user details
  • Stealth Mode - Configurable delays and jitter to avoid detection
Version Documentation File
PowerShell EntraMFACheck-PS1.md Invoke-EntraMFACheck.ps1

Quick Start

Enumerate-EntraUsers (PowerShell)

Requirements: PowerShell 7+

# Interactive mode
.\Invoke-EntraRecon.ps1

# With Azure CLI token
.\Invoke-EntraRecon.ps1 -UseAzCliToken

# Export all users
.\Invoke-EntraRecon.ps1 -ExportPath "users.csv"

# Stealth mode
.\Invoke-EntraRecon.ps1 -EnableStealth

πŸ“– Full documentation: EntraRecon-PS1.md

Enumerate-EntraUsers (Python)

Requirements: Python 3.8+, msal, requests

# Install dependencies
pip install -r requirements.txt

# Run interactive mode
python entra_recon.py

πŸ“– Full documentation: EntraRecon-PY.md

MFA Security Check (PowerShell)

Requirements: PowerShell 7+, Microsoft.Graph modules

# Scan for users without MFA
.\Invoke-EntraMFACheck.ps1

# Export results to CSV
.\Invoke-EntraMFACheck.ps1 -ExportPath "no-mfa-users.csv"

# Matrix view with all features
.\Invoke-EntraMFACheck.ps1 -Matrix -IncludeDisabledUsers

# Stealth mode
.\Invoke-EntraMFACheck.ps1 -EnableStealth -QuietStealth

πŸ“– Full documentation: EntraMFACheck-PS1.md


Documentation

Document Description
EntraRecon-PS1.md Full PowerShell script documentation including all parameters, features, and usage examples
EntraRecon-PY.md Full Python script documentation including authentication methods, stealth configuration, and examples
EntraMFACheck-PS1.md MFA Security Check documentation including shared mailbox detection, sign-in tracking, and risk assessment

Feature Comparison

Enumerate-EntraUsers Versions

Both versions provide the same core functionality:

Feature PowerShell Python
User Enumeration (15+ methods) βœ… βœ…
Security Assessment βœ… βœ…
Credential Attack Surface βœ… βœ…
Conditional Access Analysis βœ… βœ…
Device/Intune Enumeration βœ… βœ…
Attack Path Analysis βœ… βœ…
Power Platform Enumeration βœ… βœ…
Lateral Movement Analysis βœ… βœ…
BloodHound Export βœ… βœ…
HTML Report Generation βœ… βœ…
Stealth Mode βœ… βœ…
Interactive Menu βœ… βœ…
Azure CLI Token βœ… βœ…
Device Code Flow βœ… βœ…
Refresh Token Exchange ❌ βœ…
Extended App ID Database ❌ βœ…
Stealth Presets ❌ βœ…

Toolkit Comparison

Feature Enumerate-EntraUsers MFA Security Check
Purpose Comprehensive user enumeration Focused MFA security audit
User Enumeration 15+ methods Standard method
MFA Detection Basic check Advanced with method types
Shared Mailbox Detection ❌ βœ… Automatic
Last Sign-In Tracking βœ… βœ… With analytics
Sign-In Capability Check ❌ βœ…
Risk Level Assessment Basic Advanced (HIGH/MEDIUM/LOW)
Activity Analytics Limited Detailed (stale/recent/never)
Matrix View ❌ βœ…
Department Analysis βœ… βœ… With statistics
BloodHound Export βœ… ❌
HTML Report βœ… ❌
CSV/JSON Export βœ… βœ… Enhanced fields
Stealth Mode βœ… βœ…
Best For Red team reconnaissance MFA compliance audits

Installation

Python Dependencies

pip install -r requirements.txt

Or install manually:

pip install msal requests

# Optional: Additional authentication methods
pip install azure-identity

PowerShell Dependencies

Enumerate-EntraUsers: The script will automatically install the required Microsoft.Graph.Users module on first run.

MFA Security Check: Requires Microsoft Graph PowerShell SDK:

Install-Module Microsoft.Graph -Scope CurrentUser

Or install individual modules:

Install-Module Microsoft.Graph.Authentication -Scope CurrentUser
Install-Module Microsoft.Graph.Users -Scope CurrentUser
Install-Module Microsoft.Graph.Identity.SignIns -Scope CurrentUser

Authentication

Both scripts support multiple authentication methods:

  • Interactive Browser - OAuth login via browser
  • Device Code Flow - Code-based authentication for headless environments
  • Azure CLI Token - Use cached az login credentials
  • Azure PowerShell Token - Use cached Connect-AzAccount credentials
  • Environment Variables - Set GRAPH_ACCESS_TOKEN or AZURE_ACCESS_TOKEN
  • Manual Token Input - Paste a token directly

The Python version additionally supports:

  • Refresh Token Exchange - Use tokens from ROADtools, TokenTactics, etc.
  • Managed Identity - For Azure-hosted environments
  • VS Code Credential - Azure extension cached token
  • Shared Token Cache - Windows cached credentials

Legal Disclaimer

This toolkit is intended for authorized security testing and research purposes only. Users are responsible for ensuring they have proper authorization before using these tools against any systems. The authors assume no liability for misuse of this software.


License

GNU General Public License v3.0 - See LICENSE file for details.

Copyright (C) 2025 Logisek


Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.


Acknowledgments


About

EvilMist is a collection of scripts and utilities designed to support cloud penetration testing & red teaming. The toolkit helps identify misconfigurations, assess privilege-escalation paths, and simulate attack techniques. EvilMist aims to streamline cloud-focused red-team workflows and improve the overall security posture of cloud infrastructures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PowerShell 50.6%
  • Python 49.4%