GCP - Compute Post Exploitation
Compute
Für weitere Informationen zu Compute und VPC (Netzwerke) siehe:
pageGCP - Compute EnumExportieren & Lokale Überprüfung von Images
Dies würde einem Angreifer ermöglichen, auf die Daten zuzugreifen, die sich bereits in vorhandenen Images befinden, oder neue Images von laufenden VMs zu erstellen und auf ihre Daten zuzugreifen, ohne Zugriff auf die laufende VM zu haben.
Es ist möglich, ein VM-Image in einen Bucket zu exportieren und es dann herunterzuladen und lokal mit dem Befehl einzuhängen:
Vor der Durchführung dieser Aktion benötigt der Angreifer möglicherweise Berechtigungen über den Speicherbucket und sicherlich Berechtigungen über cloudbuild, da es sich um den Dienst handelt, der gebeten wird, den Export durchzuführen. Darüber hinaus benötigen der cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com
und der compute SA privilegierte Berechtigungen.
Der cloudbuild SA benötigt:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
Und der SA <project-id>-compute@developer.gserviceaccount.com
benötigt:
roles/compute.storageAdmin
roles/storage.objectAdmin
Snapshots & Disks lokal exportieren und überprüfen
Es ist nicht möglich, Snapshots und Disks direkt zu exportieren, aber es ist möglich, einen Snapshot in einen Disk, einen Disk in ein Image zu transformieren und gemäß dem vorherigen Abschnitt dieses Image zu exportieren, um es lokal zu überprüfen.
Inspektion eines Bildes zur Erstellung einer VM
Mit dem Ziel, auf die in einem Bild gespeicherten Daten oder innerhalb einer laufenden VM zuzugreifen, von der aus ein Angreifer ein Bild erstellt hat, ist es möglich, einem externen Konto Zugriff auf das Bild zu gewähren:
und erstellen Sie dann eine neue VM daraus:
Wenn Sie Ihrem externen Konto keinen Zugriff auf das Image geben konnten, könnten Sie eine VM mithilfe dieses Images im Projekt des Opfers starten und die Metadaten so konfigurieren, dass ein Reverse-Shell ausgeführt wird, um auf das Image zuzugreifen, indem Sie den Parameter hinzufügen:
Überprüfen eines Snapshots/Datenträgers durch Anhängen an eine VM
Mit dem Ziel, auf die in einem Datenträger oder einem Snapshot gespeicherten Daten zuzugreifen, könnten Sie den Snapshot in einen Datenträger umwandeln, einen Datenträger in ein Image umwandeln und die vorherigen Schritte befolgen.
Oder Sie könnten einem externen Konto Zugriff gewähren auf den Datenträger (wenn der Ausgangspunkt ein Snapshot ist, gewähren Sie Zugriff auf den Snapshot oder erstellen Sie einen Datenträger daraus):
Fügen Sie die Festplatte einer Instanz hinzu:
Montieren Sie die Festplatte innerhalb der VM:
SSH in die VM:
Identifizieren Sie die Festplatte: Sobald Sie sich in der VM befinden, identifizieren Sie die neue Festplatte, indem Sie die Festplattengeräte auflisten. Normalerweise finden Sie sie als
/dev/sdb
,/dev/sdc
, usw.Formatieren und Mounten Sie die Festplatte (wenn es sich um eine neue oder Rohfestplatte handelt):
Erstellen Sie einen Mount-Punkt:
Mounten Sie die Festplatte:
Wenn Sie keinem externen Projekt Zugriff auf den Snapshot oder die Festplatte geben können, müssen Sie möglicherweise diese Aktionen innerhalb einer Instanz im selben Projekt wie der Snapshot/Festplatte durchführen.
Last updated