GCP - Compute Enum

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

GCP VPC & Netwerke

Leer oor hoe dit werk in:

pageGCP - VPC & Networking

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 vind maklik rekenaarinstansies met oop firewall-reëls 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 hardloop. Kyk na hierdie bladsy vir meer inligting:

pageGCP - Compute Instances

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 te gebruik of die metadata van 'n instansie te wysig om voorregte te verhoog, besoek hierdie bladsy:

pageGCP - local privilege escalation ssh pivoting

Voorregverhoging

Op die volgende bladsy kan jy sien hoe om berekeningsregte te misbruik om voorregte te verhoog:

pageGCP - Compute Privesc

Ongeagte Enum

pageGCP - Compute Unauthenticated Enum

Na-uitbuiting

pageGCP - Compute Post Exploitation

Volharding

pageGCP - Compute Persistence

Seriële Konsole Logboeke

Rekenaarmasjien Seriële Konsole Logboeke is 'n kenmerk wat jou in staat stel om die opstarts- en bedryfstelsellogboeke van jou virtuele masjieninstansies te sien en te diagnoseer.

Seriële Konsole Logboeke bied 'n laevlak-weergawe van die instansie se opstartproses, insluitend kernelboodskappe, initskripte, en ander stelselgebeure wat tydens opstart plaasvind. Dit kan nuttig wees vir die foutopsporing van opstartprobleme, identifisering van verkeerde konfigurasies of sagtewarefoute, of die oplossing van netwerkverbindingsprobleme.

Hierdie logboeke kan sensitiewe inligting blootstel van die stelsellogboeke wat 'n lae-voorreggebruiker normaalweg nie sou sien nie, maar met die toepaslike IAM-toestemmings kan jy dalk in staat wees om dit te lees.

Jy kan die volgende gcloud-opdrag gebruik om die seriële poortlogboeke te ondervra (die vereiste toestemming is compute.instances.getSerialPortOutput):

gcloud compute instances get-serial-port-output <instance-name>

OS Konfigurasiebestuurder

Jy kan die OS konfigurasiebestuurdienste gebruik om konsekwente konfigurasies te implementeer, navraag te doen en te handhaaf (gewenste toestand en sagteware) vir jou VM-instantie (VM). Op Compute Engine moet jy gastbeleide gebruik om konsekwente sagtewarekonfigurasies op 'n VM te handhaaf.

Die OS Konfigurasiebestuurskenmerk stel jou in staat om konfigurasiebeleide te definieer wat spesifiseer watter sagtewarepakette geïnstalleer moet word, watter dienste geaktiveer moet word, en watter lêers of konfigurasies teenwoordig moet wees op jou VM's. Jy kan 'n deklaratiewe benadering gebruik om die sagtewarekonfigurasie van jou VM's te bestuur, wat jou in staat stel om jou konfigurasiebestuursproses makliker te outomatiseer en te skaal.

Dit maak dit ook moontlik om in te teken op instansies via IAM-toestemmings, dus dit is baie nuttig vir privesc en pivoting.

Om os-config in 'n hele projek of in 'n instansie te aktiveer hoef jy net die metadata sleutel enable-oslogin na true op die gewenste vlak in te stel. Verder kan jy die metadata enable-oslogin-2fa na true instel om die 2fa te aktiveer.

Wanneer jy dit aktiveer tydens die skep van 'n instansie, 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 berekenings-SA) sal dit niks ekstra benodig 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>

Afbeeldings

Aangepaste Afbeeldings

Aangepaste rekenaarafbeeldings kan sensitiewe besonderhede of ander kwesbare konfigurasies bevat wat jy kan uitbuit.

Wanneer 'n afbeelding geskep word, kan jy kies 3 tipes van enkripsie: Gebruik Google bestuurde sleutel (verstek), 'n sleutel van KMS, of 'n rou sleutel wat deur die klient gegee word.

Enumerasie

Jy kan die lys van nie-standaard afbeeldings in 'n projek navraag met die volgende bevel:

gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>

Jy kan dan uitvoer die virtuele skywe vanaf enige beeld in verskeie formate. Die volgende bevel sou die beeld toets-beeld uitvoer in qcow2-formaat, wat jou 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

Voorregverhoging

Kyk na die Voorregverhoging-afdeling vir Rekenaarinstansies.

Aangepaste Instansiesjablone

'n Instansiesjabloon definieer instansie-eienskappe om te help met die implementering van konsekwente opsette. Hierdie kan dieselfde tipe sensitiewe data bevat as 'n lopende instansie se aangepaste metadata. Jy kan die volgende bevele 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 afbeeldings gebruik, maar hierdie templaat sal gewoonlik nie sensitiewe inligting hê nie.

Snapskote

Die snapskote is rugsteun van skywe. Let daarop dat dit nie dieselfde is as om 'n skyf te kloon (nog 'n beskikbare kenmerk nie). Die snapskoot sal dieselfde enkripsie as die skyf gebruik waarvan dit geneem is.

Enumerasie

gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>

Voorregverhoging

Kyk na die afdeling oor Voorregverhoging van Rekenaarinstansies.

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated