GCP - Compute Instances

Reading time: 5 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne Informacije

Google Cloud Compute Instances su prilagodljive virtuelne mašine na Google-ovoj cloud infrastrukturi, koje nude skalabilnu i na zahtev dostupnu računalnu snagu za širok spektar aplikacija. Pružaju funkcije kao što su globalna implementacija, trajno skladištenje, fleksibilni izbor operativnih sistema i snažne integracije umrežavanja i bezbednosti, što ih čini svestranom opcijom za hostovanje veb sajtova, obradu podataka i efikasno pokretanje aplikacija u cloudu.

Povjerljiva VM

Povjerljive VM koriste bezbednosne funkcije zasnovane na hardveru koje nude najnovije generacije AMD EPYC procesora, koje uključuju enkripciju memorije i sigurnu enkriptu virtualizaciju. Ove funkcije omogućavaju VM-u da zaštiti podatke koji se obrađuju i skladište unutar njega čak i od host operativnog sistema i hipervizora.

Da bi se pokrenula Povjerljiva VM, možda će biti potrebno da promenite stvari kao što su tip mašine, mrežni interfejs, slika pokretačkog diska.

Disk i Enkripcija Diska

Moguće je izabrati disk koji će se koristiti ili napraviti novi. Ako izaberete novi, možete:

  • Izabrati veličinu diska
  • Izabrati OS
  • Naznačiti da želite da se disk obriše kada se instanca obriše
  • Enkripcija: Po default-u će se koristiti Google upravljani ključ, ali možete i izabrati ključ iz KMS ili naznačiti sirovi ključ koji će se koristiti.

Implementacija Kontejnera

Moguće je implementirati kontejner unutar virtuelne mašine.
Moguće je konfigurisati sliku koja će se koristiti, postaviti komandu koja će se izvršiti unutar, argumente, montirati volumen i env varijable (osetljive informacije?) i konfigurisati nekoliko opcija za ovaj kontejner kao što su izvršavanje kao privilegovan, stdin i pseudo TTY.

Servisni Nalog

Po default-u, koristiće se Compute Engine default servisni nalog. Email ovog SA je kao: <proj-num>-compute@developer.gserviceaccount.com
Ovaj servisni nalog ima Editor ulogu nad celim projektom (visoke privilegije).

A default pristupni opsezi su sledeći:

Međutim, moguće je dodeliti cloud-platform jednim klikom ili odrediti prilagođene.

Firewall

Moguće je dozvoliti HTTP i HTTPS saobraćaj.

Mreža

  • IP Preusmeravanje: Moguće je omogućiti IP preusmeravanje prilikom kreiranja instance.
  • Hostname: Moguće je dati instanci trajni hostname.
  • Interfejs: Moguće je dodati mrežni interfejs.

Dodatna Bezbednost

Ove opcije će povećati bezbednost VM-a i preporučuju se:

  • Sigurno pokretanje: Sigurno pokretanje pomaže u zaštiti vaših VM instanci od malvera na nivou pokretanja i kernel nivoa i rootkit-a.
  • Omogućiti vTPM: Virtuelni Trusted Platform Module (vTPM) validira integritet vašeg gostujućeg VM-a pre pokretanja i tokom pokretanja, i nudi generisanje i zaštitu ključeva.
  • Nadzor integriteta: Nadzor integriteta vam omogućava da pratite i verifikujete integritet pokretanja vaših zaštićenih VM instanci koristeći Stackdriver izveštaje. Zahteva da vTPM bude omogućen.

Pristup VM-u

Uobičajen način za omogućavanje pristupa VM-u je dozvoljavanje određenih SSH javnih ključeva za pristup VM-u.
Međutim, takođe je moguće omogućiti pristup VM-u putem os-config servisa koristeći IAM. Štaviše, moguće je omogućiti 2FA za pristup VM-u koristeći ovaj servis.
Kada je ovaj servis omogućen, pristup putem SSH ključeva je onemogućen.

Metapodaci

Moguće je definisati automatizaciju (userdata u AWS) koja su shell komande koje će se izvršavati svaki put kada se mašina uključi ili ponovo pokrene.

Takođe je moguće dodati dodatne metapodatke ključ-vrednost koji će biti dostupni sa metapodatkovnog krajnjeg tačke. Ove informacije se obično koriste za varijable okruženja i skripte za pokretanje/gašenje. Ovo se može dobiti koristeći describe metodu iz komande u sekciji enumeracije, ali se takođe može preuzeti iznutra instance pristupajući metapodatkovnom kraju.

bash
# 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"

Pored toga, auth token za priloženi servisni nalog i opšte informacije o instanci, mreži i projektu će takođe biti dostupne sa metadata endpoint. Za više informacija pogledajte:

Cloud SSRF - HackTricks

Enkripcija

Google-om upravljani ključ za enkripciju se koristi po default-u, ali se može konfigurisati ključ za enkripciju koji upravlja kupac (CMEK). Takođe možete konfigurisati šta da radite kada se korišćeni CMEK opozove: Noting ili isključite VM.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks