GCP - Compute Instances
Reading time: 6 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di Base
Google Cloud Compute Instances sono macchine virtuali personalizzabili sull'infrastruttura cloud di Google, che offrono potenza di calcolo scalabile e on-demand per una vasta gamma di applicazioni. Forniscono funzionalità come distribuzione globale, archiviazione persistente, scelte flessibili del sistema operativo e forti integrazioni di rete e sicurezza, rendendole una scelta versatile per ospitare siti web, elaborare dati e eseguire applicazioni in modo efficiente nel cloud.
VM Riservate
Le VM riservate utilizzano funzionalità di sicurezza basate sull'hardware offerte dall'ultima generazione di processori AMD EPYC, che includono crittografia della memoria e virtualizzazione crittografata sicura. Queste funzionalità consentono alla VM di proteggere i dati elaborati e memorizzati al suo interno anche dal sistema operativo host e dall'ipervisore.
Per eseguire una VM riservata potrebbe essere necessario cambiare cose come il tipo della macchina, l'interfaccia di rete, l'immagine del disco di avvio.
Disco e Crittografia del Disco
È possibile selezionare il disco da utilizzare o crearne uno nuovo. Se selezioni uno nuovo puoi:
- Selezionare la dimensione del disco
- Selezionare il SO
- Indicare se desideri eliminare il disco quando l'istanza viene eliminata
- Crittografia: Per default verrà utilizzata una chiave gestita da Google, ma puoi anche selezionare una chiave da KMS o indicare una chiave grezza da utilizzare.
Distribuire Container
È possibile distribuire un container all'interno della macchina virtuale.
È possibile configurare l'immagine da utilizzare, impostare il comando da eseguire all'interno, argomenti, montare un volume e variabili d'ambiente (informazioni sensibili?) e configurare diverse opzioni per questo container come eseguire come privilegiato, stdin e pseudo TTY.
Account di Servizio
Per impostazione predefinita, verrà utilizzato l'account di servizio predefinito di Compute Engine. L'email di questo SA è simile a: <proj-num>-compute@developer.gserviceaccount.com
Questo account di servizio ha ruolo di Editor su tutto il progetto (privilegi elevati).
E i perimetri di accesso predefiniti sono i seguenti:
- https://www.googleapis.com/auth/devstorage.read_only -- Accesso in lettura ai bucket :)
- 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
Tuttavia, è possibile concedere cloud-platform
con un clic o specificare personalizzati.
.png)
Firewall
È possibile consentire il traffico HTTP e HTTPS.
.png)
Networking
- IP Forwarding: È possibile abilitare l'inoltro IP dalla creazione dell'istanza.
- Hostname: È possibile dare all'istanza un hostname permanente.
- Interfaccia: È possibile aggiungere un'interfaccia di rete.
Sicurezza Aggiuntiva
Queste opzioni aumenteranno la sicurezza della VM e sono raccomandate:
- Secure boot: Secure boot aiuta a proteggere le tue istanze VM contro malware e rootkit a livello di avvio e kernel.
- Abilita vTPM: Il Modulo di Piattaforma Fidato Virtuale (vTPM) convalida l'integrità pre-avvio e di avvio della tua VM guest e offre generazione e protezione delle chiavi.
- Supervisione dell'integrità: Il monitoraggio dell'integrità ti consente di monitorare e verificare l'integrità di avvio in tempo reale delle tue istanze VM protette utilizzando i rapporti di Stackdriver. Richiede che vTPM sia abilitato.
Accesso alla VM
Il modo comune per abilitare l'accesso alla VM è consentire a determinate chiavi pubbliche SSH di accedere alla VM.
Tuttavia, è anche possibile abilitare l'accesso alla VM tramite il servizio os-config
utilizzando IAM. Inoltre, è possibile abilitare 2FA per accedere alla VM utilizzando questo servizio.
Quando questo servizio è abilitato, l'accesso tramite chiavi SSH è disabilitato.
.png)
Metadata
È possibile definire automazione (userdata in AWS) che sono comandi shell che verranno eseguiti ogni volta che la macchina si accende o si riavvia.
È anche possibile aggiungere valori chiave-valore di metadata extra che saranno accessibili dall'endpoint dei metadata. Queste informazioni sono comunemente utilizzate per variabili d'ambiente e script di avvio/arresto. Queste possono essere ottenute utilizzando il metodo describe
da un comando nella sezione di enumerazione, ma possono anche essere recuperate dall'interno dell'istanza accedendo all'endpoint dei metadata.
# 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"
Inoltre, il token di autenticazione per l'account di servizio allegato e informazioni generali sull'istanza, sulla rete e sul progetto saranno disponibili anche dall'endpoint dei metadati. Per ulteriori informazioni, controlla:
Crittografia
Una chiave di crittografia gestita da Google viene utilizzata per impostazione predefinita, ma è possibile configurare una chiave di crittografia gestita dal cliente (CMEK). Puoi anche configurare cosa fare quando il CMEK utilizzato viene revocato: Notificare o spegnere la VM.
.png)
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.