GCP - Compute Instances
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Google Cloud Compute Instances sind anpassbare virtuelle Maschinen auf der Cloud-Infrastruktur von Google, die skalierbare und bedarfsgerechte Rechenleistung für eine Vielzahl von Anwendungen bieten. Sie bieten Funktionen wie globale Bereitstellung, persistente Speicherung, flexible Betriebssystemauswahl sowie starke Netzwerk- und Sicherheitsintegrationen, was sie zu einer vielseitigen Wahl für das Hosting von Websites, die Datenverarbeitung und das effiziente Ausführen von Anwendungen in der Cloud macht.
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.
Es ist möglich, die Festplatte auszuwählen, die verwendet werden soll, oder eine neue zu erstellen. Wenn Sie eine neue auswählen, können Sie:
Die Größe der Festplatte auswählen
Das Betriebssystem 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 rohen Schlüssel angeben.
Es ist möglich, einen Container innerhalb der virtuellen Maschine bereitzustellen. Es ist möglich, das Image auszuwählen, das verwendet werden soll, 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.
Standardmäßig wird das Standarddienstkonto von Compute Engine verwendet. Die E-Mail dieses SA lautet: <proj-num>-compute@developer.gserviceaccount.com
Dieses Dienstkonto hat die Editor-Rolle über das gesamte Projekt (hohe Berechtigungen).
Und die Standardzugriffsbereiche sind die folgenden:
https://www.googleapis.com/auth/devstorage.read_only -- Lesezugriff auf Buckets :)
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/servicecontrol
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 möglich, HTTP- und HTTPS-Verkehr zuzulassen.
IP-Weiterleitung: Es ist möglich, die IP-Weiterleitung bei der Erstellung der Instanz zu aktivieren.
Hostname: Es ist möglich, der Instanz einen permanenten Hostnamen zu geben.
Schnittstelle: Es ist möglich, eine Netzwerkschnittstelle hinzuzufügen.
Diese Optionen werden die Sicherheit der VM erhöhen und sind empfohlen:
Sicherer Start: Sicherer Start 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.
Integritätsüberwachung: Die Integritätsüberwachung ermöglicht es Ihnen, die Laufzeit-Integrität des Bootvorgangs Ihrer geschützten VM-Instanzen mithilfe von Stackdriver-Berichten zu überwachen und zu überprüfen. Erfordert, dass vTPM aktiviert ist.
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.
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-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 Enumerationsabschnitt abgerufen werden, kann jedoch auch von innerhalb der Instanz über den Metadaten-Endpunkt abgerufen werden.
Außerdem 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:
Standardmäßig wird ein von Google verwalteter Verschlüsselungsschlüssel verwendet, aber ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) kann konfiguriert werden. Sie können auch konfigurieren, was zu tun ist, wenn der verwendete CMEK widerrufen wird: Nichts oder die VM herunterfahren.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)