GCP - Compute Enum
Reading time: 8 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
GCP VPC & Networking
Jifunze jinsi hii inavyofanya kazi katika:
Enumeration
# 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>
Unaweza kwa urahisi kupata mifano ya kompyuta zenye sheria za moto wazi na https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Mifano ya kompyuta
Hii ndiyo njia unaweza kukimbia mashine za virtual ndani ya GCP. Angalia ukurasa huu kwa maelezo zaidi:
Uhesabu
# 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>
Kwa maelezo zaidi kuhusu jinsi ya SSH au kubadilisha metadata ya mfano ili kuinua mamlaka, angalia ukurasa huu:
GCP - local privilege escalation ssh pivoting
Kuinua Mamlaka
Katika ukurasa ufuatao, unaweza kuangalia jinsi ya kutumia ruhusa za kompyuta ili kuinua mamlaka:
Enum Isiyo na Utambulisho
GCP - Compute Unauthenticated Enum
Baada ya Kutekeleza
GCP - Compute Post Exploitation
Kudumu
Kumbukumbu za Mkononi wa Serial
Kumbukumbu za Mkononi wa Serial za Compute Engine ni kipengele kinachokuruhusu kuangalia na kuchanganua kumbukumbu za kuanzisha na mfumo wa uendeshaji wa mifano yako ya mashine ya virtual.
Kumbukumbu za Mkononi wa Serial zinatoa mtazamo wa kiwango cha chini wa mchakato wa kuanzisha wa mfano, ikiwa ni pamoja na ujumbe wa kernel, skripti za kuanzisha, na matukio mengine ya mfumo yanayotokea wakati wa kuanzisha. Hii inaweza kuwa muhimu kwa kutatua matatizo ya kuanzisha, kubaini makosa ya usanidi au makosa ya programu, au kutatua matatizo ya muunganisho wa mtandao.
Kumbukumbu hizi zinaweza kufichua taarifa nyeti kutoka kwa kumbukumbu za mfumo ambazo mtumiaji mwenye mamlaka ya chini huenda asione kawaida, lakini kwa ruhusa sahihi za IAM unaweza kuwa na uwezo wa kuzisoma.
Unaweza kutumia amri ifuatayo ya gcloud kuuliza kumbukumbu za mkononi wa serial (ruhusa inayohitajika ni compute.instances.getSerialPortOutput
):
gcloud compute instances get-serial-port-output <instance-name>
Startup Scripts output
Inawezekana kuona matokeo ya scripts za kuanzisha kutoka kwa VM inayotekeleza:
sudo journalctl -u google-startup-scripts.service
OS Configuration Manager
Unaweza kutumia huduma ya usimamizi wa usanidi wa OS ili kupeleka, kuuliza, na kudumisha usanidi thabiti (hali inayotakiwa na programu) kwa ajili ya mfano wako wa VM (VM). Kwenye Compute Engine, lazima utumie sera za wageni kudumisha usanidi thabiti wa programu kwenye VM.
Kipengele cha usimamizi wa usanidi wa OS kinakuruhusu kufafanua sera za usanidi ambazo zinaeleza ni pakiti zipi za programu zinapaswa kufungwa, ni huduma zipi zinapaswa kuwezeshwa, na ni faili au usanidi gani unapaswa kuwepo kwenye VMs zako. Unaweza kutumia njia ya kutangaza katika usimamizi wa usanidi wa programu za VMs zako, ambayo inakuwezesha kujiandaa na kupanua mchakato wako wa usimamizi wa usanidi kwa urahisi zaidi.
Hii pia inaruhusu kuingia kwenye mifano kupitia ruhusa za IAM, hivyo ni faida kubwa kwa privesc na pivoting.
warning
Ili kuwezesha os-config katika mradi mzima au katika mfano unahitaji tu kuweka ufunguo wa metadata enable-oslogin
kuwa true
kwenye kiwango kinachotakiwa.
Zaidi ya hayo, unaweza kuweka metadata enable-oslogin-2fa
kuwa true
ili kuwezesha 2fa.
Unapoiwezesha unapounda mfano, ufunguo wa metadata utawekwa kiotomatiki.
Zaidi kuhusu 2fa katika OS-config, inatumika tu ikiwa mtumiaji ni mtumiaji, ikiwa ni SA (kama SA ya compute) haitahitaji chochote cha ziada.
Enumeration
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>
Picha
Picha za Kijadi
Picha za kompyuta za kijadi zinaweza kuwa na maelezo nyeti au mipangilio mingine hatarishi ambayo unaweza kutumia.
Wakati picha inaundwa unaweza kuchagua aina 3 za usimbuaji: Kutumia funguo zinazodhibitiwa na Google (kawaida), funguo kutoka KMS, au funguo mbichi iliyotolewa na mteja.
Uhesabu
Unaweza kuuliza orodha ya picha zisizo za kawaida katika mradi kwa amri ifuatayo:
gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>
Unaweza kisha kuhamasisha diski za virtual kutoka kwa picha yoyote katika muundo mbalimbali. Amri ifuatayo itahamisha picha test-image
katika muundo wa qcow2, ikikuruhusu kupakua faili na kujenga VM kwa ndani kwa uchunguzi zaidi:
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
Kuinua Haki
Angalia sehemu ya kuinua haki za Compute Instances.
Mifano ya Kijalala Maalum
Mifano ya kijalala inafafanua mali za kijalala kusaidia kupeleka usanidi sawa. Hizi zinaweza kuwa na aina sawa za data nyeti kama metadata maalum ya kijalala kinachofanya kazi. Unaweza kutumia amri zifuatazo kuchunguza:
# List the available templates
gcloud compute instance-templates list
# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]
Inaweza kuwa ya kuvutia kujua ni diski gani picha mpya zinatumia, lakini hizi mifano kwa kawaida hazitakuwa na taarifa nyeti.
Snapshots
Snapshots ni nakala za diski. Kumbuka kwamba hii si sawa na kunakili diski (kipengele kingine kinachopatikana).
Snapshot itatumia sifuri sawa na diski ambayo imetolewa kutoka.
Enumeration
gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>
Kuinua Haki
Angalia sehemu ya kuinua haki za Compute Instances.
Marejeleo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.