GCP - kupandisha hadhi ya ndani ssh pivoting

Reading time: 4 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

katika hali hii tunaenda kudhani kwamba wewe umeshambulia akaunti isiyo na hadhi ndani ya VM katika mradi wa Compute Engine.

Kwa kushangaza, ruhusa za GPC za injini ya kompyuta uliyoshambulia zinaweza kukusaidia kupandisha hadhi ndani ya mashine. Hata kama hiyo haitakuwa na msaada mkubwa katika mazingira ya wingu, ni vizuri kujua kuwa inawezekana.

Soma scripts

Compute Instances huenda ziko pale ili kutekeleza baadhi ya scripts kufanya vitendo na akaunti zao za huduma.

Kama IAM inavyokuwa ya kina, akaunti inaweza kuwa na ruhusa za kusoma/kandika juu ya rasilimali lakini hakuna ruhusa za orodha.

Mfano mzuri wa nadharia hii ni Compute Instance ambayo ina ruhusa ya kusoma/kandika nakala za akiba kwenye chombo cha kuhifadhi kinachoitwa instance82736-long-term-xyz-archive-0332893.

Kukimbia gsutil ls kutoka kwenye mstari wa amri hakurejeshi chochote, kwani akaunti ya huduma haina ruhusa ya storage.buckets.list ya IAM. Hata hivyo, ikiwa ungeendesha gsutil ls gs://instance82736-long-term-xyz-archive-0332893 unaweza kupata nakala kamili ya mfumo wa faili, ikikupa ufikiaji wa wazi wa data ambayo akaunti yako ya ndani ya Linux haina.

Unaweza kuwa na uwezo wa kupata jina la chombo hiki ndani ya script (katika bash, Python, Ruby...).

Metadata ya Kijadi

Wasimamizi wanaweza kuongeza metadata ya kijadi katika kigezo na ngazi ya mradi. Hii ni njia rahisi ya kupitisha funguo/makundi yasiyo na mpangilio ndani ya kigezo, na hutumiwa mara nyingi kwa mabadiliko ya mazingira na scripts za kuanzisha/kuzima.

Zaidi ya hayo, inawezekana kuongeza userdata, ambayo ni script ambayo itatekelezwa kila wakati mashine inapoanzishwa au kuanzishwa tena na ambayo inaweza kupatikana kutoka kwa kiunganishi cha metadata pia.

Kwa maelezo zaidi angalia:

Cloud SSRF - HackTricks

Kutatiza ruhusa za IAM

Zaidi ya ruhusa zilizopendekezwa zifuatazo ni zinazopewa SA ya kawaida ya Compute, tatizo pekee ni kwamba mipango ya default ya ufikiaji inazuia SA kuitumia. Hata hivyo, ikiwa cloud-platform mipango imewezeshwa au tu compute mipango imewezeshwa, utaweza kuzitumia vibaya.

Angalia ruhusa zifuatazo:

Tafuta Funguo katika mfumo wa faili

Angalia ikiwa watumiaji wengine wameingia kwenye gcloud ndani ya sanduku na kuacha akidi zao katika mfumo wa faili:

sudo find / -name "gcloud"

Hizi ndizo faili za kuvutia zaidi:

  • ~/.config/gcloud/credentials.db
  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json
  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto
  • ~/.credentials.json

Zaidi ya API Keys regexes

bash
TARGET_DIR="/path/to/whatever"

# Service account keys
grep -Pzr "(?s){[^{}]*?service_account[^{}]*?private_key.*?}" \
"$TARGET_DIR"

# Legacy GCP creds
grep -Pzr "(?s){[^{}]*?client_id[^{}]*?client_secret.*?}" \
"$TARGET_DIR"

# Google API keys
grep -Pr "AIza[a-zA-Z0-9\\-_]{35}" \
"$TARGET_DIR"

# Google OAuth tokens
grep -Pr "ya29\.[a-zA-Z0-9_-]{100,200}" \
"$TARGET_DIR"

# Generic SSH keys
grep -Pzr "(?s)-----BEGIN[ A-Z]*?PRIVATE KEY[a-zA-Z0-9/\+=\n-]*?END[ A-Z]*?PRIVATE KEY-----" \
"$TARGET_DIR"

# Signed storage URLs
grep -Pir "storage.googleapis.com.*?Goog-Signature=[a-f0-9]+" \
"$TARGET_DIR"

# Signed policy documents in HTML
grep -Pzr '(?s)<form action.*?googleapis.com.*?name="signature" value=".*?">' \
"$TARGET_DIR"

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