GCP - Compute Enum
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
GCP VPC & Networking
Leer hoe dit werk in:
Enumerasie
# List networks
gcloud compute networks list
gcloud compute networks describe <network>
# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>
# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"
# List Hierarchical Firewalls
gcloud compute firewall-policies list (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>
# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>
Jy kan maklik rekenaarinstansies met oop vuurmuurreëls vind met https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Rekenaarinstansies
Dit is die manier waarop jy virtuele masjiene binne GCP kan uitvoer. Kyk na hierdie bladsy vir meer inligting:
Enumerasie
# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"
# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)
# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>
Vir meer inligting oor hoe om SSH of die metadata van ’n instansie te wysig om voorregte te verhoog, kyk na hierdie bladsy:
GCP - local privilege escalation ssh pivoting
Voorregverhoging
Op die volgende bladsy kan jy kyk hoe om rekenaar toestemmings te misbruik om voorregte te verhoog:
Ongeauthentiseerde Enum
GCP - Compute Unauthenticated Enum
Post Exploitatie
GCP - Compute Post Exploitation
Volharding
Seriële Konsol Logs
Compute Engine Seriële Konsol Logs is ’n kenmerk wat jou toelaat om die opstart- en bedryfstelsel logs van jou virtuele masjien instansies te bekyk en te diagnoseer.
Seriële Konsol Logs bied ’n laagvlak siening van die instansie se opstartproses, insluitend kernboodskappe, init skripte, en ander stelselsgebeurtenisse wat tydens opstart plaasvind. Dit kan nuttig wees vir die ontfouting van opstartprobleme, die identifisering van miskonfigurasies of sagtewarefoute, of die oplos van netwerkverbindingprobleme.
Hierdie logs kan sensitiewe inligting blootstel uit die stelsellogs wat ’n laag voorregte gebruiker gewoonlik nie sal sien nie, maar met die toepaslike IAM-toestemmings mag jy in staat wees om dit te lees.
Jy kan die volgende gcloud-opdrag gebruik om die seriële poortlogs te vra (die vereiste toestemming is compute.instances.getSerialPortOutput):
gcloud compute instances get-serial-port-output <instance-name>
Startup Scripts output
Dit is moontlik om die uitset van die opstart-skripte van die VM wat uitvoer te sien:
sudo journalctl -u google-startup-scripts.service
OS Konfigurasie Bestuurder
Jy kan die OS konfigurasie bestuur diens gebruik om te ontplooi, te vra, en konsekwente konfigurasies (gewens toestand en sagteware) vir jou VM instansie (VM) te onderhou. Op Compute Engine, moet jy gastebeleide gebruik om konsekwente sagteware konfigurasies op ’n VM te handhaaf.
Die OS Konfigurasie bestuur funksie laat jou toe om konfigurasiebeleide te definieer wat spesifiseer watter sagteware pakkette geïnstalleer moet word, watter dienste geaktiveer moet word, en watter lêers of konfigurasies op jou VMs teenwoordig moet wees. Jy kan ’n deklaratiewe benadering gebruik om die sagteware konfigurasie van jou VMs te bestuur, wat jou in staat stel om jou konfigurasie bestuur proses makliker te outomatiseer en te skaal.
Dit laat ook toe om in instansies in te log via IAM toestemmings, so dit is baie nuttig vir privesc en pivoting.
Warning
Om os-config in ’n hele projek of in ’n instansie te aktiveer hoef jy net die metadata sleutel
enable-osloginoptrueop die gewenste vlak in te stel.
Boonop kan jy die metadataenable-oslogin-2faoptruestel om die 2fa te aktiveer.Wanneer jy dit aktiveer wanneer jy ’n instansie skep, sal die metadata sleutels outomaties ingestel word.
Meer oor 2fa in OS-config, dit geld net as die gebruiker ’n gebruiker is, as dit ’n SA is (soos die rekenaar SA) sal dit nie enige ekstra vereis nie.
Enumerasie
gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>
gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>
Beelde
Pasgemaakte Beelde
Pasgemaakte rekenaarbeelde mag sensitiewe besonderhede of ander kwesbare konfigurasies bevat wat jy kan benut.
Wanneer ’n beeld geskep word, kan jy 3 tipes versleuteling kies: Gebruik Google bestuurde sleutel (verstek), ’n sleutel van KMS, of ’n rauwe sleutel gegee deur die kliënt.
Enumerasie
Jy kan die lys van nie-standaard beelde in ’n projek met die volgende opdrag opvraag:
gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>
U kan dan uitvoer die virtuele skywe van enige beeld in verskeie formate. Die volgende opdrag sal die beeld test-image in qcow2-formaat uitvoer, wat u in staat stel om die lêer af te laai en ’n VM plaaslik te bou vir verdere ondersoek:
gcloud compute images export --image test-image \
--export-format qcow2 --destination-uri [BUCKET]
# Execute container inside a docker
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh
Privilege Escalation
Kyk na die Compute Instances privilege escalation afdeling.
Custom Instance Templates
’n instance template definieer instance eienskappe om te help om konsekwente konfigurasies te ontplooi. Hierdie kan dieselfde tipes sensitiewe data bevat as ’n lopende instance se aangepaste metadata. Jy kan die volgende opdragte gebruik om te ondersoek:
# List the available templates
gcloud compute instance-templates list
# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]
Dit kan interessant wees om te weet watter skyf nuwe beelde gebruik, maar hierdie sjablone sal gewoonlik nie sensitiewe inligting hê nie.
Snapshot
Die snapshots is rugsteun van skywe. Let daarop dat dit nie dieselfde is as om ’n skyf te kloon (nog ’n beskikbare funksie).
Die snapshot sal die dieselfde versleuteling as die skyf waarvan dit geneem is, gebruik.
Enumerasie
gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>
Privilege Escalation
Kyk na die Compute Instances privilege escalation afdeling.
References
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

