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)
Le 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.
Le Confidential VMs utilizzano funzionalità di sicurezza basate sull'hardware offerte dalla più recente 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 Confidential VM potrebbe essere necessario cambiare cose come il tipo della macchina, l'interfaccia di rete, l'immagine del disco di avvio.
È 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.
È 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.
Per impostazione predefinita, verrà utilizzato il service account predefinito di Compute Engine. L'email di questo SA è simile a: <proj-num>-compute@developer.gserviceaccount.com
Questo service account 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.
È possibile consentire il traffico HTTP e HTTPS.
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.
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.
Enable 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.
Integrity supervision: Il monitoraggio dell'integrità ti consente di monitorare e verificare l'integrità di avvio in tempo reale delle tue istanze VM protette utilizzando i report di Stackdriver. Richiede che vTPM sia abilitato.
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.
È 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 metadati extra che saranno accessibili dall'endpoint dei metadati. 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 metadati.
Inoltre, il token di autenticazione per l'account di servizio allegato e informazioni generali sull'istanza, sulla rete e sul progetto saranno disponibili dall'endpoint dei metadati. Per ulteriori informazioni, controlla:
Una chiave di crittografia gestita da Google è 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.
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)