Translated ['src/pentesting-cloud/azure-security/az-basic-information/RE

This commit is contained in:
Translator
2025-02-10 23:32:05 +00:00
parent dceba04f9a
commit f8a43c40b1
2 changed files with 59 additions and 52 deletions

View File

@@ -20,14 +20,14 @@ Und wenn sie allen Apps zustimmen können, können sie allen Apps zustimmen.
### 2 Arten von Angriffen
- **Unauthentifiziert**: Erstellen Sie von einem externen Konto aus eine Anwendung mit den **geringem Risiko Berechtigungen** `User.Read` und `User.ReadBasic.All`, um einen Benutzer zu phishen, und Sie können auf Verzeichnisinformationen zugreifen.
- Dies erfordert, dass der phishte Benutzer **in der Lage ist, OAuth-Apps von externen Mandanten zu akzeptieren**.
- **Unauthentifiziert**: Erstellen Sie von einem externen Konto aus eine Anwendung mit den **geringfügigen Berechtigungen** `User.Read` und `User.ReadBasic.All`, phishen Sie einen Benutzer, und Sie können auf Verzeichnisinformationen zugreifen.
- Dies erfordert, dass der phishte Benutzer **OAuth-Apps von externen Mandanten akzeptieren kann**.
- Wenn der phishte Benutzer ein Administrator ist, der **jeder App mit beliebigen Berechtigungen zustimmen kann**, könnte die Anwendung auch **privilegierte Berechtigungen anfordern**.
- **Authentifiziert**: Nachdem Sie ein Hauptkonto mit ausreichenden Berechtigungen kompromittiert haben, **erstellen Sie eine Anwendung im Konto** und **phishen** Sie einen **privilegierten** Benutzer, der privilegierte OAuth-Berechtigungen akzeptieren kann.
- In diesem Fall können Sie bereits auf die Informationen des Verzeichnisses zugreifen, sodass die Berechtigung `User.ReadBasic.All` nicht mehr interessant ist.
- Sie sind wahrscheinlich an **Berechtigungen interessiert, die ein Administrator gewähren muss**, da normale Benutzer OAuth-Apps keine Berechtigungen erteilen können. Deshalb müssen Sie **nur diese Benutzer phishen** (mehr dazu, welche Rollen/Berechtigungen dieses Privileg gewähren, später).
### Benutzern ist es erlaubt zuzustimmen
### Benutzer dürfen zustimmen
Beachten Sie, dass Sie diesen Befehl von einem Benutzer innerhalb des Mandanten ausführen müssen. Sie können diese Konfiguration eines Mandanten nicht von einem externen Mandanten aus finden. Der folgende CLI kann Ihnen helfen, die Berechtigungen der Benutzer zu verstehen:
```bash
@@ -37,7 +37,7 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/policies/authorizat
- Benutzer können Apps von verifizierten Herausgebern oder Ihrer Organisation zustimmen, jedoch nur für die von Ihnen ausgewählten Berechtigungen: Wenn Sie in **`permissionGrantPoliciesAssigned`** finden: `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team`, dann können Benutzer jede Anwendung akzeptieren.
- **Benutzerzustimmung deaktivieren**: Wenn Sie in **`permissionGrantPoliciesAssigned`** nur finden: `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-chat` und `ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team`, dann können Benutzer nicht zustimmen.
Es ist möglich, die Bedeutung jeder der kommentierten Richtlinien in zu finden:
Es ist möglich, die Bedeutung jeder der kommentierten Richtlinien in:
```bash
az rest --method GET --url "https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies"
```
@@ -77,11 +77,11 @@ Der Angriff umfasst mehrere Schritte, die auf ein generisches Unternehmen abziel
<figure><img src="../../../images/image (2).png" alt=""><figcaption></figcaption></figure>
3. Wählen Sie API-Berechtigungen (z. B. `Mail.Read`, `Notes.Read.All`, `Files.ReadWrite.All`, `User.ReadBasic.All`, `User.Read`)
3. Wählen Sie API-Berechtigungen aus (z. B. `Mail.Read`, `Notes.Read.All`, `Files.ReadWrite.All`, `User.ReadBasic.All`, `User.Read`)
<figure><img src="../../../images/image (3).png" alt=""><figcaption></figcaption></figure>
4. **Führen Sie die Webseite aus (**[**azure_oauth_phishing_example**](https://github.com/carlospolop/azure_oauth_phishing_example)**)**, die nach den Berechtigungen fragt:
4. **Führen Sie die Webseite (**[**azure_oauth_phishing_example**](https://github.com/carlospolop/azure_oauth_phishing_example)**)** aus, die nach den Berechtigungen fragt:
```bash
# From https://github.com/carlospolop/azure_oauth_phishing_example
python3 azure_oauth_phishing_example.py --client-secret <client-secret> --client-id <client-id> --scopes "email,Files.ReadWrite.All,Mail.Read,Notes.Read.All,offline_access,openid,profile,User.Read"
@@ -116,18 +116,25 @@ https://graph.microsoft.com/v1.0/me/onenote/notebooks \
```
## Andere Werkzeuge
- [**365-Stealer**](https://github.com/AlteredSecurity/365-Stealer)**:** Überprüfen Sie [https://www.alteredsecurity.com/post/introduction-to-365-stealer](https://www.alteredsecurity.com/post/introduction-to-365-stealer), um zu erfahren, wie Sie es konfigurieren können.
- [**365-Stealer**](https://github.com/AlteredSecurity/365-Stealer)**:** Überprüfen Sie [https://www.alteredsecurity.com/post/introduction-to-365-stealer](https://www.alteredsecurity.com/post/introduction-to-365-stealer), um zu erfahren, wie Sie es konfigurieren.
- [**O365-Attack-Toolkit**](https://github.com/mdsecactivebreach/o365-attack-toolkit)
## Post-Exploitation
### Phishing Post-Exploitation
Je nach den angeforderten Berechtigungen könnten Sie in der Lage sein, **auf verschiedene Daten des Mandanten zuzugreifen** (Benutzer, Gruppen... oder sogar Einstellungen zu ändern) und **Informationen des Benutzers** (Dateien, Notizen, E-Mails...). Dann können Sie diese Berechtigungen nutzen, um diese Aktionen durchzuführen.
Je nach den angeforderten Berechtigungen könnten Sie in der Lage sein, **auf verschiedene Daten des Mandanten** (Benutzer, Gruppen... oder sogar Einstellungen zu ändern) und **Informationen des Benutzers** (Dateien, Notizen, E-Mails...) zuzugreifen. Dann können Sie diese Berechtigungen nutzen, um diese Aktionen durchzuführen.
### Entra ID Anwendungen Admin
Wenn Sie es geschafft haben, irgendwie einen Entra ID-Prinzipal zu kompromittieren, der Anwendungen in Entra ID verwalten kann, und es Anwendungen gibt, die von Benutzern des Mandanten verwendet werden. Ein Administrator könnte die **Berechtigungen, die die App anfordert, ändern und eine neue erlaubte Umleitungsadresse hinzufügen, um die Tokens zu stehlen**.
- Beachten Sie, dass es möglich ist, **Umleitungs-URIs hinzuzufügen** (es ist nicht notwendig, die echte zu löschen) und dann einen HTTP-Link mit der Umleitungs-URI des Angreifers zu senden, sodass die Authentifizierung automatisch erfolgt, wenn der Benutzer dem Link folgt, und der Angreifer das Token erhält.
- Es ist auch möglich, die Berechtigungen, die die App anfordert, zu ändern, um mehr Berechtigungen von den Benutzern zu erhalten, aber in diesem Fall muss der Benutzer **erneut die Aufforderung akzeptieren** (auch wenn er bereits angemeldet war).
- Um diesen Angriff durchzuführen, **MUSS** der Angreifer **NICHT** den Anwendungscode kontrollieren, da er einfach den Link zur Anmeldung in der App mit der neuen URL im **`redirect_uri`**-Parameter an den Benutzer senden könnte.
### Anwendung Post-Exploitation
Überprüfen Sie die Abschnitte Anwendungen und Dienstprinzipal auf der Seite:
Überprüfen Sie die Abschnitte Anwendungen und Dienstprinzipal der Seite:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/