
Ein leichtgewichtiges PowerShell-Tool zur Bewertung der Sicherheitslage von Microsoft Entra ID-Umgebungen. Es hilft, privilegierte Objekte, riskante Zuweisungen und potenzielle Fehlkonfigurationen zu identifizieren.

EntraFalcon ist ein PowerShell-basiertes Assessment-Tool für Pentester, Sicherheitsanalysten und Systemadministratoren zur Bewertung der Sicherheitslage einer Microsoft Entra ID-Umgebung.
EntraFalcon wurde für eine einfache Nutzung entwickelt, läuft auf PowerShell 5.1 und 7, unterstützt sowohl Windows als auch Linux und erfordert keine zusätzlichen PowerShell-Module, keine zusätzlichen Installationen und keine Zustimmung zur Microsoft Graph API.
Das Tool hilft dabei, privilegierte Objekte, potenziell riskante Zuweisungen und Fehlkonfigurationen bei Conditional Access aufzudecken, die oft übersehen werden, wie zum Beispiel:
Die Ergebnisse werden in interaktiven HTML-Berichten präsentiert, um eine effiziente Erkundung und Analyse zu unterstützen.
| Typ | Berechtigung | Erforderlich | Auswirkung bei Fehlen |
|---|---|---|---|
| Entra ID-Rolle | Global Reader | Ja | Skripte können nicht ausgeführt werden |
| Azure-Rolle | Reader: Auf jeder Management Group oder Subscription | Nein | Azure IAM-Zuweisungen können nicht bewertet werden |
Darüber hinaus müssen Sie sich von dem Gerät, auf dem Sie das Tool ausführen, bei der Microsoft Graph API und optional bei der Azure ARM API authentifizieren können. Stellen Sie sicher, dass Conditional Access-Richtlinien Ihre Authentifizierung nicht blockieren.
Um zu beginnen, klonen Sie das Repository und navigieren Sie in das Projektverzeichnis:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon
Hinweis: Möglicherweise müssen Sie die PowerShell-Ausführungsrichtlinie vorübergehend ändern, um das Skript auszuführen.
Tun Sie dies nur bei vertrauenswürdigen Skripten!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
EntraFalcon enthält integrierte Unterstützung für die Entra ID-Authentifizierung. Verwenden Sie -AuthFlow, um den Authentifizierungsablauf auszuwählen.
Für normale Assessments verwenden Sie einen der Abläufe mit vollständiger Abdeckung:
| Empfohlener Ablauf | Am besten geeignet für | Plattform | Abdeckung |
|---|---|---|---|
BroCi (Standard) | Interaktive Windows-Ausführungen | Windows | Vollständig |
BroCiManualCode | Authentifizierung in einem anderen Browser | Windows, Linux, macOS | Vollständig |
BroCiToken | Vorhandenes Azure Portal-Aktualisierungstoken | Windows, Linux, macOS | Vollständig |
ServicePrincipal | Automatisierung / CI | Windows, Linux, macOS | Vollständig |
BroCi verwendet eine interaktive Anmeldung. BroCiToken und ServicePrincipal verwenden keine. Fallback-Benutzerabläufe können mehrere interaktive Anmeldungen erfordern, da separate Ressourcentoken angefordert werden.
Aufgrund des Fehlens vorab genehmigter First-Party-Anwendungen können die Fallback-Abläufe nicht die vollständige Enumeration (PIM for Groups, Access Packages, Catalogs) durchführen. Daher bleiben sie derzeit nur Fallback-Optionen.
| Ablauf | Nur verwenden, wenn | Plattform | Einschränkungen |
|---|---|---|---|
AuthCode | Legacy-Kompatibilität erforderlich ist | Windows | Teilweise Abdeckung. Kein eigenständiger Bericht für PIM for Groups, Access Packages oder Catalogs. |
DeviceCode | Browserbasierte Authentifizierung nicht möglich ist | Windows, Linux, macOS | Teilweise Abdeckung. Kein eigenständiger Bericht für PIM for Groups, Access Packages oder Catalogs. Einige Security Findings-Prüfungen werden mit reduzierter Tiefe ausgeführt. |
ManualCode | Die Authentifizierung über eine separate Browsersitzung abgeschlossen werden muss | Windows, Linux, macOS | Teilweise Abdeckung. Kein eigenständiger Bericht für PIM for Groups, Access Packages oder Catalogs. |
BroCi verwendet alternative First-Party-Anwendungen und erfordert nur eine interaktive Anmeldung.
Es ist nützlich, wenn der Azure Active Directory PowerShell-Client eine Zuweisung erfordert und vermieden werden muss.```powershell
.\run_EntraFalcon.ps1
Explizite BroCi-Auswahl:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi
.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode
1. Das Skript kopiert die Authentifizierungs-URL in die Zwischenablage.
2. Füge die URL in einen Browser ein (optional auf einem anderen Gerät für SSO-Unterstützung).
3. Öffne die Entwicklertools des Browsers und aktiviere im Netzwerk-Tab `Preserve log`.
4. Schließe die Authentifizierung ab.
5. Suche im Netzwerkprotokoll nach `code=1.` und kopiere die Anfrage-URL, die den Code enthält, in die Zwischenablage.
6. Drücke die Eingabetaste, um fortzufahren; das Skript liest den Code aus der Zwischenablage und schließt den Token-Erwerb ab.