GCP - Compute Enum
Last updated
Last updated
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)
Scopri come funziona in:
Puoi facilmente trovare istanze di calcolo con regole del firewall aperte con https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Questo è il modo in cui puoi eseguire macchine virtuali all'interno di GCP. Controlla questa pagina per ulteriori informazioni:
Per ulteriori informazioni su come SSH o modificare i metadati di un'istanza per escalare i privilegi, controlla questa pagina:
Nella pagina seguente, puoi controllare come abuse le autorizzazioni di calcolo per escalare i privilegi:
I log della Console Seriale di Compute Engine sono una funzionalità che consente di visualizzare e diagnosticare i log di avvio e del sistema operativo delle tue istanze di macchina virtuale.
I log della Console Seriale forniscono una visione a basso livello del processo di avvio dell'istanza, inclusi i messaggi del kernel, gli script di inizializzazione e altri eventi di sistema che si verificano durante l'avvio. Questo può essere utile per il debug dei problemi di avvio, l'identificazione di configurazioni errate o errori software, o la risoluzione di problemi di connettività di rete.
Questi log possono esporre informazioni sensibili dai log di sistema che un utente a basso privilegio potrebbe non vedere normalmente, ma con le appropriate autorizzazioni IAM potresti essere in grado di leggerli.
Puoi utilizzare il seguente comando gcloud per interrogare i log della porta seriale (l'autorizzazione richiesta è compute.instances.getSerialPortOutput
):
È possibile vedere l'output degli script di avvio dalla VM eseguendo:
Puoi utilizzare il servizio di gestione della configurazione del sistema operativo per distribuire, interrogare e mantenere configurazioni coerenti (stato desiderato e software) per la tua istanza VM (VM). Su Compute Engine, devi utilizzare guest policies per mantenere configurazioni software coerenti su una VM.
La funzionalità di gestione della configurazione del sistema operativo ti consente di definire politiche di configurazione che specificano quali pacchetti software devono essere installati, quali servizi devono essere abilitati e quali file o configurazioni devono essere presenti sulle tue VM. Puoi utilizzare un approccio dichiarativo per gestire la configurazione software delle tue VM, il che ti consente di automatizzare e scalare più facilmente il tuo processo di gestione della configurazione.
Questo consente anche di accedere alle istanze tramite permessi IAM, quindi è molto utile per privesc e pivoting.
Per abilitare os-config in un intero progetto o in un'istanza devi semplicemente impostare la chiave metadata enable-oslogin
su true
al livello desiderato.
Inoltre, puoi impostare la metadata enable-oslogin-2fa
su true
per abilitare il 2fa.
Quando lo abiliti durante la creazione di un'istanza, le chiavi metadata verranno impostate automaticamente.
Ulteriori informazioni su 2fa in OS-config, si applica solo se l'utente è un utente, se è un SA (come il compute SA) non richiederà nulla di extra.
Le immagini di calcolo personalizzate possono contenere dettagli sensibili o altre configurazioni vulnerabili che puoi sfruttare.
Quando viene creata un'immagine, puoi scegliere 3 tipi di crittografia: Utilizzando la chiave gestita da Google (predefinita), una chiave da KMS, o una chiave grezza fornita dal cliente.
Puoi interrogare l'elenco delle immagini non standard in un progetto con il seguente comando:
Puoi quindi esportare i dischi virtuali da qualsiasi immagine in più formati. Il seguente comando esporterebbe l'immagine test-image
in formato qcow2, permettendoti di scaricare il file e costruire una VM localmente per ulteriori indagini:
Controlla la sezione sull'escalation dei privilegi delle Compute Instances.
Un modello di istanza definisce le proprietà dell'istanza per aiutare a distribuire configurazioni coerenti. Questi possono contenere gli stessi tipi di dati sensibili dei metadati personalizzati di un'istanza in esecuzione. Puoi utilizzare i seguenti comandi per indagare:
Potrebbe essere interessante sapere quale disco stanno utilizzando le nuove immagini, ma questi modelli di solito non avranno informazioni sensibili.
I snapshot sono backup dei dischi. Nota che questo non è lo stesso che clonare un disco (un'altra funzionalità disponibile). Il snapshot utilizzerà la stessa crittografia del disco da cui è stato preso.
Controlla la sezione sull'escalation dei privilegi delle Compute Instances.
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)