GCP - Compute Enum
GCP VPC & Networking
Erfahre, wie das funktioniert in:
GCP - VPC & NetworkingEnumeration
Sie finden leicht Compute-Instanzen mit offenen Firewall-Regeln unter https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Compute-Instanzen
So können Sie virtuelle Maschinen innerhalb von GCP ausführen. Überprüfen Sie diese Seite für weitere Informationen:
GCP - Compute InstancesEnumeration
Für weitere Informationen darüber, wie man SSH oder die Metadaten einer Instanz modifizieren kann, um Privilegien zu eskalieren, siehe diese Seite:
GCP - local privilege escalation ssh pivotingPrivilegieneskalation
Auf der folgenden Seite kannst du überprüfen, wie man Compute-Berechtigungen missbrauchen kann, um Privilegien zu eskalieren:
GCP - Compute PrivescUnauthentifizierte Enum
GCP - Compute Unauthenticated EnumPost-Exploitation
GCP - Compute Post ExploitationPersistenz
GCP - Compute PersistenceSerielle Konsolenprotokolle
Die Serielle Konsolenprotokolle von Compute Engine sind eine Funktion, die es dir ermöglicht, die Boot- und Betriebssystemprotokolle deiner virtuellen Maschineninstanzen anzusehen und zu diagnostizieren.
Serielle Konsolenprotokolle bieten einen niedrigstufigen Überblick über den Bootprozess der Instanz, einschließlich Kernelmeldungen, Init-Skripten und anderen Systemereignissen, die während des Bootvorgangs auftreten. Dies kann nützlich sein, um Bootprobleme zu debuggen, Fehlkonfigurationen oder Softwarefehler zu identifizieren oder Netzwerkverbindungsprobleme zu beheben.
Diese Protokolle könnten sensible Informationen aus den Systemprotokollen offenbaren, die ein Benutzer mit niedrigen Berechtigungen normalerweise nicht sieht, aber mit den entsprechenden IAM-Berechtigungen kannst du sie möglicherweise lesen.
Du kannst den folgenden gcloud-Befehl verwenden, um die Protokolle des seriellen Ports abzufragen (die erforderliche Berechtigung ist compute.instances.getSerialPortOutput
):
Startup Scripts output
Es ist möglich, die Ausgabe der Startskripte von der VM aus anzuzeigen:
OS Configuration Manager
Sie können den OS-Konfigurationsverwaltungsdienst verwenden, um konstante Konfigurationen (gewünschter Zustand und Software) für Ihre VM-Instanz (VM) zu bereitstellen, abzufragen und aufrechtzuerhalten. In Compute Engine müssen Sie Gastrichtlinien verwenden, um konsistente Softwarekonfigurationen auf einer VM aufrechtzuerhalten.
Die Funktion der OS-Konfigurationsverwaltung ermöglicht es Ihnen, Konfigurationsrichtlinien zu definieren, die festlegen, welche Softwarepakete installiert werden sollen, welche Dienste aktiviert werden sollen und welche Dateien oder Konfigurationen auf Ihren VMs vorhanden sein sollen. Sie können einen deklarativen Ansatz zur Verwaltung der Softwarekonfiguration Ihrer VMs verwenden, der es Ihnen ermöglicht, Ihren Konfigurationsverwaltungsprozess einfacher zu automatisieren und zu skalieren.
Dies ermöglicht auch das Einloggen in Instanzen über IAM-Berechtigungen, was sehr nützlich für privesc und pivoting ist.
Um os-config in einem gesamten Projekt oder in einer Instanz zu aktivieren, müssen Sie nur den Metadaten-Schlüssel enable-oslogin
auf true
auf der gewünschten Ebene setzen.
Darüber hinaus können Sie die Metadaten enable-oslogin-2fa
auf true
setzen, um die 2fa zu aktivieren.
Wenn Sie es beim Erstellen einer Instanz aktivieren, werden die Metadaten-Schlüssel automatisch gesetzt.
Mehr über 2fa in OS-config, es gilt nur, wenn der Benutzer ein Benutzer ist, wenn es sich um einen SA (wie den Compute SA) handelt, sind keine zusätzlichen Anforderungen erforderlich.
Enumeration
Images
Custom Images
Benutzerdefinierte Compute-Images können sensible Details oder andere anfällige Konfigurationen enthalten, die Sie ausnutzen können.
Wenn ein Image erstellt wird, können Sie 3 Arten von Verschlüsselung wählen: Verwendung eines von Google verwalteten Schlüssels (Standard), eines Schlüssels von KMS oder eines rohen Schlüssels, der vom Client bereitgestellt wird.
Enumeration
Sie können die Liste der nicht standardmäßigen Images in einem Projekt mit dem folgenden Befehl abfragen:
Sie können dann exportieren die virtuellen Festplatten aus jedem Image in mehreren Formaten. Der folgende Befehl würde das Image test-image
im qcow2-Format exportieren, sodass Sie die Datei herunterladen und eine VM lokal für weitere Untersuchungen erstellen können:
Privilegienerhöhung
Überprüfen Sie den Abschnitt zur Privilegienerhöhung von Compute-Instanzen.
Benutzerdefinierte Instanzvorlagen
Eine Instanzvorlage definiert Instanzeigenschaften, um konsistente Konfigurationen bereitzustellen. Diese können die gleichen Arten von sensiblen Daten wie die benutzerdefinierten Metadaten einer laufenden Instanz enthalten. Sie können die folgenden Befehle verwenden, um zu untersuchen:
Es könnte interessant sein zu wissen, welche Festplatte neue Images verwenden, aber diese Vorlagen werden normalerweise keine sensiblen Informationen enthalten.
Snapshots
Die Snapshots sind Sicherungen von Festplatten. Beachten Sie, dass dies nicht dasselbe ist wie das Klonen einer Festplatte (eine andere verfügbare Funktion). Der Snapshot verwendet die gleiche Verschlüsselung wie die Festplatte, von der er erstellt wurde.
Enumeration
Privilegieneskalation
Überprüfen Sie den Abschnitt zur Privilegieneskalation von Compute-Instanzen.
Referenzen
Last updated