GCP - Compute Post Exploitation
Calcolo
Per ulteriori informazioni su Calcolo e VPC (Networking) controlla:
pageGCP - Compute EnumEsporta e Ispeziona Immagini localmente
Ciò consentirebbe a un attaccante di accedere ai dati contenuti all'interno delle immagini esistenti o creare nuove immagini di VM in esecuzione e accedere ai loro dati senza avere accesso alla VM in esecuzione.
È possibile esportare un'immagine di VM in un bucket e quindi scaricarla e montarla localmente con il comando:
Prima di eseguire questa azione, l'attaccante potrebbe aver bisogno di privilegi sul bucket di archiviazione e sicuramente privilegi su cloudbuild poiché è il servizio che verrà richiesto di eseguire l'esportazione. Inoltre, affinché ciò funzioni, il SA di cloudbuild e il SA di compute hanno bisogno di autorizzazioni privilegiate. Il SA di cloudbuild <project-id>@cloudbuild.gserviceaccount.com
ha bisogno di:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
E il SA <project-id>-compute@developer.gserviceaccount.com
ha bisogno di:
roles/compute.storageAdmin
roles/storage.objectAdmin
Esportare e Ispezionare Snapshot e Dischi localmente
Non è possibile esportare direttamente snapshot e dischi, ma è possibile trasformare uno snapshot in un disco, un disco in un'immagine e seguendo la sezione precedente, esportare quell'immagine per ispezionarla localmente
Ispezionare un'immagine creando una VM
Con l'obiettivo di accedere ai dati memorizzati in un'immagine o all'interno di una VM in esecuzione da dove un attaccante ha creato un'immagine, è possibile concedere l'accesso a un account esterno sull'immagine:
e successivamente creare una nuova VM da esso:
Se non hai potuto dare accesso al tuo account esterno sull'immagine, potresti avviare una VM utilizzando quell'immagine nel progetto delle vittime e far eseguire i metadati un reverse shell per accedere all'immagine aggiungendo il parametro:
Ispezionare uno Snapshot/Disco collegandolo a una VM
Con l'obiettivo di accedere ai dati memorizzati in un disco o in uno snapshot, potresti trasformare lo snapshot in un disco, un disco in un'immagine e seguire i passaggi precedenti.
Oppure potresti concedere l'accesso a un account esterno sul disco (se il punto di partenza è uno snapshot concedere l'accesso allo snapshot o creare un disco da esso):
Collega il disco a un'istanza:
Montare il disco all'interno della VM:
Accedi via SSH alla VM:
Identificare il Disco: Una volta dentro la VM, identifica il nuovo disco elencando i dispositivi del disco. Tipicamente, puoi trovarlo come
/dev/sdb
,/dev/sdc
, ecc.Formattare e Montare il Disco (se è un disco nuovo o non formattato):
Crea un punto di mount:
Monta il disco:
Se non puoi dare accesso a un progetto esterno allo snapshot o al disco, potresti aver bisogno di eseguire queste azioni all'interno di un'istanza nello stesso progetto dello snapshot/disco.
Last updated