GCP - Compute Instances

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Google Cloud Compute-Instanzen sind anpassbare virtuelle Maschinen in der Google-Cloudinfrastruktur, die skalierbare und bedarfsgesteuerte Rechenleistung für eine Vielzahl von Anwendungen bieten. Sie bieten Funktionen wie globale Bereitstellung, persistente Speicherung, flexible Betriebssystemoptionen sowie starke Netzwerk- und Sicherheitsintegrationen, was sie zu einer vielseitigen Wahl für das Hosting von Websites, die Verarbeitung von Daten und die effiziente Ausführung von Anwendungen in der Cloud macht.

Vertrauliche VM

Vertrauliche VMs verwenden hardwarebasierte Sicherheitsfunktionen, die von den neuesten AMD EPYC-Prozessoren angeboten werden, darunter Speicherverschlüsselung und sichere verschlüsselte Virtualisierung. Diese Funktionen ermöglichen es der VM, die in ihr verarbeiteten und gespeicherten Daten selbst vor dem Host-Betriebssystem und dem Hypervisor zu schützen.

Um eine vertrauliche VM auszuführen, müssen möglicherweise Dinge wie der Typ der Maschine, das Netzwerk Interface und das Boot-Disk-Image geändert werden.

Festplatte & Festplattenverschlüsselung

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 die Festplatte beim Löschen der Instanz gelöscht werden soll

  • 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 zur Verwendung angeben.

Container bereitstellen

Es ist möglich, einen Container innerhalb der virtuellen Maschine bereitzustellen. Es ist möglich, das Image zu konfigurieren, den Befehl festzulegen, der darin ausgeführt werden soll, Argumente festzulegen, ein Volume zu mounten und Umgebungsvariablen (empfindliche Informationen?) zu konfigurieren sowie mehrere Optionen für diesen Container zu konfigurieren, z. B. als privilegiert ausführen, stdin und Pseudo-TTY.

Dienstkonto

Standardmäßig wird das Standarddienstkonto für Compute Engine verwendet. Die E-Mail dieses SA lautet beispielsweise: <proj-num>-compute@developer.gserviceaccount.com Dieses Dienstkonto hat die Editor-Rolle über das gesamte Projekt (hohe Berechtigungen).

Und die Standardzugriffsberechtigungen sind wie folgt:

  • https://www.googleapis.com/auth/devstorage.read_only -- Lesezugriff auf Eimer :)

  • 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, ihm mit einem Klick cloud-platform zu gewähren oder benutzerdefinierte Berechtigungen anzugeben.

Firewall

Es ist möglich, den HTTP- und HTTPS-Verkehr zuzulassen.

Netzwerk

  • IP-Weiterleitung: Es ist möglich, die IP-Weiterleitung ab der Erstellung der Instanz zu aktivieren.

  • Hostname: Es ist möglich, der Instanz einen permanenten Hostnamen zu geben.

  • Interface: Es ist möglich, ein Netzwerkinterface hinzuzufügen.

Zusätzliche Sicherheit

Diese Optionen werden die Sicherheit der VM erhöhen und sind empfehlenswert:

  • Sicheres Booten: Sicheres Booten hilft dabei, Ihre VM-Instanzen vor Malware auf Boot- und Kernel-Ebene sowie Rootkits zu schützen.

  • vTPM aktivieren: Das Virtual Trusted Platform Module (vTPM) validiert die Vorab- und Bootintegrität Ihrer Gast-VM und bietet Schlüsselerzeugung und -schutz.

  • Integritätsüberwachung: Die Integritätsüberwachung ermöglicht es Ihnen, die Laufzeit-Bootintegrität Ihrer geschützten VM-Instanzen mithilfe von Stackdriver-Berichten zu überwachen und zu überprüfen. Erfordert die Aktivierung von vTPM.

VM-Zugriff

Der übliche Weg, um den Zugriff auf die VM zu ermöglichen, besteht darin, bestimmten SSH-Public Keys den Zugriff auf die VM zu gestatten. Es ist jedoch auch möglich, den Zugriff auf die VM über den os-config-Dienst unter Verwendung 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-Keys deaktiviert.

Metadaten

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-Werte festzulegen, die über den Metadaten-Endpunkt abgerufen werden können. Diese Informationen werden häufig für Umgebungsvariablen und Start-/Stopp-Skripte verwendet. Dies kann mit der describe-Methode aus einem Befehl im Abschnitt zur Enumeration abgerufen werden, kann aber auch von innerhalb der Instanz über den Metadaten-Endpunkt abgerufen werden.

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

Darüber hinaus werden auch der Authentifizierungstoken für das angehängte Dienstkonto und allgemeine Informationen über die Instanz, das Netzwerk und das Projekt über den Metadaten-Endpunkt verfügbar sein. Weitere Informationen finden Sie unter:

Verschlüsselung

Standardmäßig wird ein von Google verwalteter Verschlüsselungsschlüssel verwendet, aber ein kundenverwalteter Verschlüsselungsschlüssel (CMEK) kann konfiguriert werden. Sie können auch konfigurieren, was bei Widerruf des verwendeten CMEF geschehen soll: Nichts oder die VM herunterfahren.

Erfahren Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated