Translated ['src/pentesting-ci-cd/cloudflare-security/cloudflare-domains

This commit is contained in:
Translator
2025-01-11 18:51:46 +00:00
parent c312e61a71
commit fa893cca64
44 changed files with 1974 additions and 401 deletions

View File

@@ -26,14 +26,14 @@ Um eine GCP-Umgebung zu auditieren, ist es sehr wichtig zu wissen: welche **Dien
Aus der Sicht eines Red Teams ist der **erste Schritt, um eine GCP-Umgebung zu kompromittieren**, das Erhalten von **Anmeldeinformationen**. Hier sind einige Ideen, wie Sie das tun können:
- **Leaks** in github (oder ähnlichem) - OSINT
- **Soziale** Ingenieurkunst (Überprüfen Sie die Seite [**Workspace Security**](../workspace-security/))
- **Soziale** Ingenieurkunst (Überprüfen Sie die Seite [**Workspace Security**](../workspace-security/index.html))
- **Passwort**-Wiederverwendung (Passwort-Leaks)
- Schwachstellen in GCP-gehosteten Anwendungen
- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) mit Zugriff auf den Metadaten-Endpunkt
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) mit Zugriff auf den Metadaten-Endpunkt
- **Lokales Datei Lesen**
- `/home/USERNAME/.config/gcloud/*`
- `C:\Users\USERNAME\.config\gcloud\*`
- 3rd parties **gehackt**
- 3rd Party **gehackt**
- **Interner** Mitarbeiter
Oder durch **Kompromittierung eines nicht authentifizierten Dienstes**, der exponiert ist:
@@ -49,16 +49,16 @@ gcp-permissions-for-a-pentest.md
{{#endref}}
> [!NOTE]
> Nachdem Sie es geschafft haben, Anmeldeinformationen zu erhalten, müssen Sie wissen, **wem diese Anmeldeinformationen gehören** und **auf was sie Zugriff haben**, daher müssen Sie eine grundlegende Enumeration durchführen:
> Nachdem Sie es geschafft haben, Anmeldeinformationen zu erhalten, müssen Sie wissen, **wem diese Anmeldeinformationen gehören** und **auf was sie Zugriff haben**, daher müssen Sie einige grundlegende Aufzählungen durchführen:
## Grundlegende Enumeration
## Grundlegende Aufzählung
### **SSRF**
Für weitere Informationen darüber, wie Sie **GCP-Metadaten enumerieren** können, überprüfen Sie die folgende Hacktricks-Seite:
Für weitere Informationen darüber, wie Sie **GCP-Metadaten auflisten**, überprüfen Sie die folgende Hacktricks-Seite:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#6440
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Whoami
@@ -109,9 +109,9 @@ GCP hat eine erstaunliche Anzahl von Diensten, auf der folgenden Seite finden Si
gcp-services/
{{#endref}}
Beachten Sie, dass Sie **nicht** die gesamte Arbeit **manuell** durchführen müssen, weiter unten in diesem Beitrag finden Sie einen **Abschnitt über** [**automatische Tools**](./#automatic-tools).
Beachten Sie, dass Sie **nicht** die gesamte Arbeit **manuell** durchführen müssen, weiter unten in diesem Beitrag finden Sie einen **Abschnitt über** [**automatische Tools**](#automatic-tools).
Darüber hinaus haben Sie in dieser Phase möglicherweise **weitere Dienste entdeckt, die für nicht authentifizierte Benutzer exponiert sind**, die Sie möglicherweise ausnutzen können:
Darüber hinaus könnten Sie in dieser Phase **weitere Dienste entdeckt haben, die für nicht authentifizierte Benutzer exponiert sind**, die Sie möglicherweise ausnutzen können:
{{#ref}}
gcp-unauthenticated-enum-and-access/
@@ -119,7 +119,7 @@ gcp-unauthenticated-enum-and-access/
## Privilege Escalation, Post Exploitation & Persistence
Der häufigste Weg, sobald Sie einige Cloud-Anmeldeinformationen erhalten oder einen Dienst, der in einer Cloud läuft, kompromittiert haben, besteht darin, **fehlerhaft konfigurierte Berechtigungen** des kompromittierten Kontos auszunutzen. Daher sollten Sie als Erstes Ihre Berechtigungen enumerieren.
Der häufigste Weg, sobald Sie einige Cloud-Anmeldeinformationen erhalten oder einen Dienst, der in der Cloud läuft, kompromittiert haben, besteht darin, **fehlkonfigurierte Berechtigungen** des kompromittierten Kontos auszunutzen. Daher sollten Sie als erstes Ihre Berechtigungen enumerieren.
Darüber hinaus denken Sie während dieser Enumeration daran, dass **Berechtigungen auch auf der höchsten Ebene der "Organisation"** festgelegt werden können.
@@ -137,18 +137,18 @@ gcp-persistence/
### Publicly Exposed Services
Während Sie GCP-Dienste enumerieren, haben Sie möglicherweise einige von ihnen gefunden, die **Elemente ins Internet exponieren** (VM/Container-Ports, Datenbanken oder Warteschlangendienste, Snapshots oder Buckets...).\
Während Sie GCP-Dienste enumerieren, könnten Sie einige von ihnen gefunden haben, die **Elemente ins Internet exponieren** (VM/Container-Ports, Datenbanken oder Warteschlangendienste, Snapshots oder Buckets...).\
Als Pentester/Red Teamer sollten Sie immer überprüfen, ob Sie **sensible Informationen / Schwachstellen** auf ihnen finden können, da sie Ihnen **weiteren Zugang zum AWS-Konto** verschaffen könnten.
In diesem Buch sollten Sie **Informationen** darüber finden, wie man **exponierte GCP-Dienste findet und wie man sie überprüft**. Um **Schwachstellen in exponierten Netzwerkdiensten** zu finden, empfehle ich Ihnen, nach dem spezifischen **Dienst** zu suchen in:
In diesem Buch sollten Sie **Informationen** darüber finden, wie man **exponierte GCP-Dienste findet und wie man sie überprüft**. Wie man **Schwachstellen in exponierten Netzwerkdiensten findet**, empfehle ich Ihnen, nach dem spezifischen **Dienst** zu **suchen** in:
{{#ref}}
https://book.hacktricks.xyz/
https://book.hacktricks.wiki/
{{#endref}}
## GCP <--> Workspace Pivoting
Das **Kompromittieren** von Principals in **einer** Plattform könnte es einem Angreifer ermöglichen, die **andere** zu **kompromittieren**, überprüfen Sie es in:
Das **Kompromittieren** von Principals in **einer** Plattform könnte einem Angreifer ermöglichen, die **andere** zu kompromittieren, überprüfen Sie es in:
{{#ref}}
gcp-to-workspace-pivoting/
@@ -191,7 +191,7 @@ gcloud components update
```
### Netzwerk von gcloud, gsutil... erfassen
Denken Sie daran, dass Sie den **Parameter** **`--log-http`** mit der **`gcloud`** CLI verwenden können, um die **Anfragen** anzuzeigen, die das Tool ausführt. Wenn Sie nicht möchten, dass die Protokolle den Token-Wert redigieren, verwenden Sie `gcloud config set log_http_redact_token false`
Denken Sie daran, dass Sie den **Parameter** **`--log-http`** mit der **`gcloud`** CLI verwenden können, um die **Anfragen** anzuzeigen, die das Tool ausführt. Wenn Sie nicht möchten, dass die Protokolle den Tokenwert redigieren, verwenden Sie `gcloud config set log_http_redact_token false`
Darüber hinaus, um die Kommunikation abzufangen:
```bash

View File

@@ -19,7 +19,7 @@ Für weitere Informationen über Artifact Registry siehe:
- Andernfalls wird die **höchste Version** verwendet
> [!CAUTION]
> Daher ist es möglich, eine **höchste Version (dependency confusion)** in einem öffentlichen Paket-Registry zu **missbrauchen**, wenn das Remote-Repository eine höhere oder gleiche Priorität hat
> Daher ist es möglich, eine **höchste Version (dependency confusion)** in einem öffentlichen Paket-Registry auszunutzen, wenn das Remote-Repository eine höhere oder gleiche Priorität hat
Diese Technik kann nützlich sein für **Persistence** und **unauthenticated access**, da es nur erforderlich ist, **einen Bibliotheksnamen** zu kennen, der im Artifact Registry gespeichert ist, und **diese gleiche Bibliothek im öffentlichen Repository (PyPi für Python zum Beispiel)** mit einer höheren Version zu erstellen.
@@ -28,7 +28,7 @@ Für Persistence sind dies die Schritte, die du befolgen musst:
- **Anforderungen**: Ein **virtuelles Repository** muss **existieren** und verwendet werden, ein **internes Paket** mit einem **Namen**, der im **öffentlichen Repository** nicht existiert, muss verwendet werden.
- Erstelle ein Remote-Repository, falls es nicht existiert
- Füge das Remote-Repository zum virtuellen Repository hinzu
- Bearbeite die Richtlinien des virtuellen Repositories, um dem Remote-Repository eine höhere (oder gleiche) Priorität zu geben.\
- Bearbeite die Richtlinien des virtuellen Registrys, um dem Remote-Repository eine höhere (oder gleiche) Priorität zu geben.\
Führe etwas wie aus:
- [gcloud artifacts repositories update --upstream-policy-file ...](https://cloud.google.com/sdk/gcloud/reference/artifacts/repositories/update#--upstream-policy-file)
- Lade das legitime Paket herunter, füge deinen schädlichen Code hinzu und registriere es im öffentlichen Repository mit der gleichen Version. Jedes Mal, wenn ein Entwickler es installiert, installiert er deins!
@@ -36,7 +36,7 @@ Führe etwas wie aus:
Für weitere Informationen über Dependency Confusion siehe:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/dependency-confusion
https://book.hacktricks.wiki/en/pentesting-web/dependency-confusion.html
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,7 +2,7 @@
{{#include ../../../banners/hacktricks-training.md}}
### Authentifizierte Benutzertoken
### Authentifizierte Benutzertokens
Um das **aktuelle Token** eines Benutzers zu erhalten, können Sie Folgendes ausführen:
```bash
@@ -11,20 +11,20 @@ sqlite3 $HOME/.config/gcloud/access_tokens.db "select access_token from access_t
Überprüfen Sie auf dieser Seite, wie Sie **dieses Token direkt mit gcloud verwenden**:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#id-6440-1
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#gcp
{{#endref}}
Um die Details zur **Generierung eines neuen Zugriffstokens** zu erhalten, führen Sie aus:
Um die Einzelheiten zur **Generierung eines neuen Zugriffstokens** zu erhalten, führen Sie aus:
```bash
sqlite3 $HOME/.config/gcloud/credentials.db "select value from credentials where account_id='<email>';"
```
Es ist auch möglich, Refresh-Token in **`$HOME/.config/gcloud/application_default_credentials.json`** und in **`$HOME/.config/gcloud/legacy_credentials/*/adc.json`** zu finden.
Um ein neues aktualisiertes Zugriffstoken mit dem **Refresh-Token**, der Client-ID und dem Client-Geheimnis zu erhalten, führen Sie aus:
Um ein neues aktualisiertes Zugriffstoken mit dem **Refresh-Token**, der Client-ID und dem Client-Secret zu erhalten, führen Sie aus:
```bash
curl -s --data client_id=<client_id> --data client_secret=<client_secret> --data grant_type=refresh_token --data refresh_token=<refresh_token> --data scope="https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/accounts.reauth" https://www.googleapis.com/oauth2/v4/token
```
Die Gültigkeit der Refresh-Token kann in **Admin** > **Sicherheit** > **Google Cloud-Sitzungskontrolle** verwaltet werden, und standardmäßig ist sie auf 16 Stunden eingestellt, obwohl sie so eingestellt werden kann, dass sie niemals abläuft:
Die Gültigkeit der Refresh-Token kann in **Admin** > **Sicherheit** > **Google Cloud-Sitzungskontrolle** verwaltet werden, und standardmäßig ist sie auf 16 Stunden eingestellt, obwohl sie so konfiguriert werden kann, dass sie niemals abläuft:
<figure><img src="../../../images/image (11).png" alt=""><figcaption></figcaption></figure>
@@ -39,9 +39,9 @@ Dann wird gcloud den Zustand und den Code mit einer fest codierten `client_id` (
> [!CAUTION]
> Beachten Sie, dass die Kommunikation mit localhost über HTTP erfolgt, sodass es möglich ist, die Daten abzufangen, um ein Refresh-Token zu erhalten. Diese Daten sind jedoch nur 1 Mal gültig, daher wäre dies nutzlos; es ist einfacher, das Refresh-Token aus der Datei zu lesen.
### OAuth-Bereiche
### OAuth Scopes
Sie finden alle Google-Bereiche unter [https://developers.google.com/identity/protocols/oauth2/scopes](https://developers.google.com/identity/protocols/oauth2/scopes) oder erhalten sie, indem Sie ausführen:
Sie finden alle Google-Scope in [https://developers.google.com/identity/protocols/oauth2/scopes](https://developers.google.com/identity/protocols/oauth2/scopes) oder erhalten sie, indem Sie ausführen:
```bash
curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-A/\-\._]*' | sort -u
```
@@ -65,18 +65,18 @@ https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/userinfo.email
```
es ist interessant zu sehen, wie diese App den **`drive`** Scope unterstützt, der es einem Benutzer ermöglichen könnte, von GCP zu Workspace zu eskalieren, wenn es einem Angreifer gelingt, den Benutzer dazu zu bringen, ein Token mit diesem Scope zu generieren.
es ist interessant zu sehen, wie diese App den **`drive`** Scope unterstützt, der es einem Benutzer ermöglichen könnte, von GCP zu Workspace zu eskalieren, wenn es einem Angreifer gelingt, den Benutzer zu zwingen, ein Token mit diesem Scope zu generieren.
**Überprüfen Sie, wie Sie** [**das hier ausnutzen können**](../gcp-to-workspace-pivoting/#abusing-gcloud)**.**
**Überprüfen Sie, wie Sie** [**das hier ausnutzen können**](../gcp-to-workspace-pivoting/index.html#abusing-gcloud)**.**
### Dienstkonten
Genau wie bei authentifizierten Benutzern, wenn Sie es schaffen, die **private Schlüsseldatei** eines Dienstkontos zu **kompromittieren, werden Sie in der Regel so lange darauf zugreifen können, wie Sie möchten**.\
Genau wie bei authentifizierten Benutzern, wenn Sie es schaffen, die **private Schlüsseldatei** eines Dienstkontos zu **kompromittieren, können Sie in der Regel so lange darauf zugreifen, wie Sie möchten**.\
Wenn Sie jedoch das **OAuth-Token** eines Dienstkontos stehlen, kann das sogar noch interessanter sein, denn selbst wenn diese Tokens standardmäßig nur eine Stunde lang nützlich sind, bleibt das **OAuth-Token gültig, bis es abläuft, selbst wenn das Opfer den privaten API-Schlüssel löscht**.
### Metadaten
Offensichtlich werden Sie, solange Sie sich in einer Maschine im GCP-Umfeld befinden, in der Lage sein, **auf das Dienstkonto zuzugreifen, das mit dieser Maschine verbunden ist, indem Sie den Metadaten-Endpunkt kontaktieren** (beachten Sie, dass die Oauth-Tokens, auf die Sie in diesem Endpunkt zugreifen können, normalerweise durch Scopes eingeschränkt sind).
Offensichtlich können Sie, solange Sie sich in einer Maschine im GCP-Umfeld befinden, **auf das Dienstkonto zugreifen, das an dieser Maschine angehängt ist, indem Sie den Metadaten-Endpunkt kontaktieren** (beachten Sie, dass die OAuth-Tokens, auf die Sie in diesem Endpunkt zugreifen können, normalerweise durch Scopes eingeschränkt sind).
### Abhilfemaßnahmen

View File

@@ -4,7 +4,7 @@
In diesem Szenario nehmen wir an, dass Sie **ein nicht privilegiertes Konto** innerhalb einer VM in einem Compute Engine-Projekt **kompromittiert haben**.
Erstaunlicherweise können die GCP-Berechtigungen der Compute Engine, die Sie kompromittiert haben, Ihnen helfen, **lokal Privilegien innerhalb einer Maschine zu eskalieren**. Auch wenn das in einer Cloud-Umgebung nicht immer sehr hilfreich ist, ist es gut zu wissen, dass es möglich ist.
Erstaunlicherweise können die GCP-Berechtigungen der Compute Engine, die Sie kompromittiert haben, Ihnen helfen, **lokale Privilegien innerhalb einer Maschine zu eskalieren**. Auch wenn das in einer Cloud-Umgebung nicht immer sehr hilfreich ist, ist es gut zu wissen, dass es möglich ist.
## Skripte lesen <a href="#follow-the-scripts" id="follow-the-scripts"></a>
@@ -14,7 +14,7 @@ Da IAM sehr granular ist, kann ein Konto **Lese-/Schreib**-Berechtigungen für e
Ein großartiges hypothetisches Beispiel dafür ist eine Compute-Instanz, die die Berechtigung hat, Backups in einen Speicher-Bucket namens `instance82736-long-term-xyz-archive-0332893` zu lesen/schreiben.
Wenn Sie `gsutil ls` von der Kommandozeile ausführen, wird nichts zurückgegeben, da dem Dienstkonto die Berechtigung `storage.buckets.list` fehlt. Wenn Sie jedoch `gsutil ls gs://instance82736-long-term-xyz-archive-0332893` ausführen, finden Sie möglicherweise ein vollständiges Dateisystem-Backup, das Ihnen unverschlüsselten Zugriff auf Daten gibt, auf die Ihr lokales Linux-Konto keinen Zugriff hat.
Wenn Sie `gsutil ls` von der Kommandozeile ausführen, wird nichts zurückgegeben, da dem Dienstkonto die IAM-Berechtigung `storage.buckets.list` fehlt. Wenn Sie jedoch `gsutil ls gs://instance82736-long-term-xyz-archive-0332893` ausführen, finden Sie möglicherweise ein vollständiges Dateisystem-Backup, das Ihnen unverschlüsselten Zugriff auf Daten gibt, auf die Ihr lokales Linux-Konto keinen Zugriff hat.
Sie könnten in der Lage sein, diesen Bucket-Namen in einem Skript (in Bash, Python, Ruby...) zu finden.
@@ -27,7 +27,7 @@ Darüber hinaus ist es möglich, **Benutzerdaten** hinzuzufügen, die ein Skript
Für weitere Informationen siehe:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
## **Missbrauch von IAM-Berechtigungen**
@@ -36,13 +36,13 @@ Die meisten der folgenden vorgeschlagenen Berechtigungen werden **dem Standard-C
Überprüfen Sie die folgenden Berechtigungen:
- [**compute.instances.osLogin**](gcp-compute-privesc/#compute.instances.oslogin)
- [**compute.instances.osAdminLogin**](gcp-compute-privesc/#compute.instances.osadminlogin)
- [**compute.projects.setCommonInstanceMetadata**](gcp-compute-privesc/#compute.projects.setcommoninstancemetadata)
- [**compute.instances.setMetadata**](gcp-compute-privesc/#compute.instances.setmetadata)
- [**compute.instances.setIamPolicy**](gcp-compute-privesc/#compute.instances.setiampolicy)
- [**compute.instances.osLogin**](gcp-compute-privesc/index.html#compute.instances.oslogin)
- [**compute.instances.osAdminLogin**](gcp-compute-privesc/index.html#compute.instances.osadminlogin)
- [**compute.projects.setCommonInstanceMetadata**](gcp-compute-privesc/index.html#compute.projects.setcommoninstancemetadata)
- [**compute.instances.setMetadata**](gcp-compute-privesc/index.html#compute.instances.setmetadata)
- [**compute.instances.setIamPolicy**](gcp-compute-privesc/index.html#compute.instances.setiampolicy)
## Nach Schlüsseln im Dateisystem suchen
## Suche nach Schlüsseln im Dateisystem
Überprüfen Sie, ob andere Benutzer in gcloud innerhalb der Box angemeldet sind und ihre Anmeldeinformationen im Dateisystem hinterlassen haben:
```

View File

@@ -10,7 +10,7 @@ Google Cloud Compute Instances sind **anpassbare virtuelle Maschinen auf der Clo
Vertrauliche VMs nutzen **hardwarebasierte Sicherheitsfunktionen**, die von der neuesten Generation der AMD EPYC-Prozessoren angeboten werden, einschließlich Speicherverschlüsselung und sicherer verschlüsselter Virtualisierung. Diese Funktionen ermöglichen es der VM, die verarbeiteten und gespeicherten Daten vor sogar dem Host-Betriebssystem und Hypervisor zu schützen.
Um eine vertrauliche VM auszuführen, müssen möglicherweise Dinge wie der **Typ** der **Maschine**, die Netzwerk-**Schnittstelle**, das **Boot-Disk-Image** **geändert** werden.
Um eine vertrauliche VM auszuführen, müssen möglicherweise Dinge wie der **Typ** der **Maschine**, die Netzwerk-**Schnittstelle** und das **Boot-Disk-Image** **geändert** werden.
### Festplatte & Festplattenverschlüsselung
@@ -19,12 +19,12 @@ Es ist möglich, die **Festplatte** auszuwählen, die verwendet werden soll, ode
- Die **Größe** der Festplatte auswählen
- Das **OS** auswählen
- Angeben, ob Sie die **Festplatte löschen möchten, wenn die Instanz gelöscht wird**
- **Verschlüsselung**: Standardmäßig wird ein **von Google verwalteter Schlüssel** verwendet, aber Sie können auch **einen Schlüssel aus KMS auswählen** oder **einen Rohschlüssel angeben**.
- **Verschlüsselung**: Standardmäßig wird ein **von Google verwalteter Schlüssel** verwendet, aber Sie können auch **einen Schlüssel aus KMS auswählen** oder einen **rohen Schlüssel angeben**.
### Container bereitstellen
Es ist möglich, einen **Container** innerhalb der virtuellen Maschine bereitzustellen.\
Es ist möglich, das **Image** auszuwählen, den **Befehl** festzulegen, der innerhalb ausgeführt werden soll, **Argumente**, ein **Volume** zu mounten und **Umgebungsvariablen** (sensible Informationen?) festzulegen sowie mehrere Optionen für diesen Container zu konfigurieren, wie als **privilegiert** ausführen, stdin und pseudo TTY.
Es ist möglich, das zu verwendende **Image** zu konfigurieren, den **Befehl** festzulegen, der innerhalb ausgeführt werden soll, **Argumente**, ein **Volume** zu mounten und **Umgebungsvariablen** (sensible Informationen?) zu konfigurieren sowie mehrere Optionen für diesen Container wie Ausführung als **privilegiert**, stdin und pseudo TTY zu konfigurieren.
### Dienstkonto
@@ -40,7 +40,7 @@ Und die **Standardzugriffsbereiche** sind die folgenden:
- https://www.googleapis.com/auth/service.management.readonly
- https://www.googleapis.com/auth/trace.append
Es ist jedoch möglich, **es mit einem Klick `cloud-platform` zu gewähren** oder **benutzerdefinierte** zu spezifizieren.
Es ist jedoch möglich, **`cloud-platform` mit einem Klick zu gewähren** oder **benutzerdefinierte** zu spezifizieren.
<figure><img src="../../../../images/image (327).png" alt=""><figcaption></figcaption></figure>
@@ -58,7 +58,7 @@ Es ist möglich, HTTP- und HTTPS-Verkehr zuzulassen.
### Zusätzliche Sicherheit
Diese Optionen werden die **Sicherheit** der VM **erhöhen** und sind empfohlen:
Diese Optionen werden die **Sicherheit** der VM **erhöhen** und werden empfohlen:
- **Sicherer Boot:** Sicherer Boot hilft, Ihre VM-Instanzen vor Malware und Rootkits auf Boot- und Kernel-Ebene zu schützen.
- **vTPM aktivieren:** Das virtuelle Trusted Platform Module (vTPM) validiert die Integrität Ihrer Gast-VM vor dem Booten und während des Bootvorgangs und bietet Schlüsselgenerierung und -schutz.
@@ -66,7 +66,7 @@ Diese Optionen werden die **Sicherheit** der VM **erhöhen** und sind empfohlen:
### VM-Zugriff
Der gängige Weg, um den Zugriff auf die VM zu ermöglichen, besteht darin, **bestimmte SSH-Öffentliche Schlüssel** zuzulassen, um auf die VM zuzugreifen.\
Der gängige Weg, um den Zugriff auf die VM zu ermöglichen, besteht darin, **bestimmte SSH-Öffentlichkeits-Schlüssel** den Zugriff auf die VM zu erlauben.\
Es ist jedoch auch möglich, den Zugriff auf die VM über den `os-config`-Dienst mithilfe von IAM zu **aktivieren**. Darüber hinaus ist es möglich, 2FA zu aktivieren, um auf die VM über diesen Dienst zuzugreifen.\
Wenn dieser **Dienst** **aktiviert** ist, ist der Zugriff über **SSH-Schlüssel deaktiviert.**
@@ -76,7 +76,7 @@ Wenn dieser **Dienst** **aktiviert** ist, ist der Zugriff über **SSH-Schlüssel
Es ist möglich, **Automatisierung** (Benutzerdaten in AWS) zu definieren, die **Shell-Befehle** sind, die jedes Mal ausgeführt werden, wenn die Maschine eingeschaltet oder neu gestartet wird.
Es ist auch möglich, **zusätzliche Metadaten-Schlüssel-Werte** hinzuzufügen, die über den Metadaten-Endpunkt zugänglich sind. Diese Informationen werden häufig für Umgebungsvariablen und Start-/Herunterfahrskripte verwendet. Dies kann mit der **`describe`-Methode** aus einem Befehl im Abschnitt zur Enumeration abgerufen werden, kann jedoch auch von innerhalb der Instanz über den Metadaten-Endpunkt abgerufen werden.
Es ist auch möglich, **zusätzliche Metadaten-Schlüssel-Wert-Paare** hinzuzufügen, die über den Metadaten-Endpunkt zugänglich sind. Diese Informationen werden häufig für Umgebungsvariablen und Start-/Herunterfahrskripte verwendet. Dies kann mit der **`describe`-Methode** aus einem Befehl im Abschnitt zur Enumeration abgerufen werden, kann jedoch auch von innerhalb der Instanz über den Metadaten-Endpunkt abgerufen werden.
```bash
# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
@@ -89,7 +89,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?re
Darüber hinaus sind **Auth-Token für das angehängte Dienstkonto** und **allgemeine Informationen** über die Instanz, das Netzwerk und das Projekt ebenfalls über den **Metadaten-Endpunkt** verfügbar. Für weitere Informationen siehe:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#6440
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#gcp
{{#endref}}
### Verschlüsselung

View File

@@ -17,7 +17,7 @@ Wenn Sie **Zugriff auf einen Cloud SQL-Port** haben, weil der gesamte Internetzu
Überprüfen Sie diese Seite für **verschiedene Tools zum Brute-Forcen** verschiedener Datenbanktechnologien:
{{#ref}}
https://book.hacktricks.xyz/generic-methodologies-and-resources/brute-force
https://book.hacktricks.wiki/en/generic-hacking/brute-force.html
{{#endref}}
Denken Sie daran, dass es mit einigen Berechtigungen möglich ist, **alle Datenbankbenutzer** über die GCP-API aufzulisten.

View File

@@ -15,7 +15,7 @@ Für weitere Informationen zu Compute und VPC (Networking) siehe:
Wenn eine Webanwendung **anfällig für SSRF** ist und es möglich ist, **den Metadaten-Header hinzuzufügen**, könnte ein Angreifer dies ausnutzen, um auf das SA OAuth-Token vom Metadaten-Endpunkt zuzugreifen. Für weitere Informationen zu SSRF siehe:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/index.html
{{#endref}}
### Anfällige exponierte Dienste