GCP - local privilege escalation ssh pivoting

Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya HackTricks AWS)!

Njia nyingine za kusaidia HackTricks:

katika kesi hii tutadhani kwamba umefanikiwa kudukua akaunti isiyo na mamlaka ndani ya VM katika mradi wa Compute Engine.

Kwa kushangaza, ruhusa za GPC za kompyuta ya kompyuta uliyedukua inaweza kukusaidia kuboresha mamlaka kwa ndani ndani ya mashine. Hata kama hii mara nyingi haitakuwa na manufaa sana katika mazingira ya wingu, ni vizuri kujua kwamba ni jambo linalowezekana.

Soma hati za maandishi

Mifano ya Kompyuta labda iko hapo kutekeleza baadhi ya hati za maandishi kutekeleza vitendo na akaunti zao za huduma.

Kwa kuwa IAM ni ya kina, akaunti inaweza kuwa na ruhusa za kusoma/kusikiliza juu ya rasilimali lakini bila ruhusa za orodha.

Mfano mzuri wa hili ni Kompyuta ya Kompyuta ambayo ina ruhusa ya kusoma/kusikiliza nakala za akiba kwenye kisanduku cha uhifadhi kinachoitwa instance82736-long-term-xyz-archive-0332893.

Kukimbia gsutil ls kutoka kwenye mstari wa amri hakirudishi chochote, kwa sababu akaunti ya huduma inakosa ruhusa ya IAM ya storage.buckets.list. Walakini, ikiwa ungekimbia gsutil ls gs://instance82736-long-term-xyz-archive-0332893 unaweza kupata nakala kamili ya mfumo wa faili, ikikupa ufikiaji wa maandishi wazi kwa data ambayo akaunti yako ya Linux ya ndani inakosa.

Unaweza kupata jina hili la kisanduku ndani ya hati ya maandishi (kwa bash, Python, Ruby...).

Metadata ya Desturi

Waadiministrata wanaweza kuongeza metadata ya desturi kwenye kiwango cha kifaa na mradi. Hii ni njia tu ya kupitisha jozi za funguo/ thamani za kiholela kwenye kifaa, na mara nyingi hutumiwa kwa mazingira ya mazingira na hati za kuanza/kuzimwa.

Zaidi ya hayo, ni rahisi kuongeza data ya mtumiaji, ambayo ni hati ya maandishi itakayotekelezwa kila wakati mashine inapoanzishwa au kuanzishwa upya na inaweza kupatikana kutoka kwa mwisho wa metadata pia.

Kwa habari zaidi angalia:

Kudhuru ruhusa za IAM

Ruhusa nyingi zilizopendekezwa zifuatazo zinapewa Compute SA ya chaguo-msingi, tatizo pekee ni kwamba wigo wa ufikiaji wa chaguo-msingi unazuia SA kutumia ruhusa hizo. Walakini, ikiwa wigo wa cloud-platform unawezeshwa au tu wigo wa compute unawezeshwa, utaweza kuzitumia vibaya.

Angalia ruhusa zifuatazo:

Tafuta funguo kwenye mfumo wa faili

Angalia ikiwa watumiaji wengine wameingia kwenye gcloud ndani ya sanduku na kuacha vyeti vyao kwenye mfumo wa faili:

sudo find / -name "gcloud"

Hizi ni 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

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"

Marejeo

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated