GCP - Add Custom SSH Metadata

GCP - Ongeza Metadata ya SSH ya Desturi

Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalam wa juu na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Kubadilisha metadata

Kubadilisha metadata kwenye kifaa kinaweza kusababisha hatari kubwa ya usalama ikiwa mshambuliaji atapata idhini inayohitajika.

Kuingiza Vipindi vya SSH kwenye Metadata ya Desturi

Kwenye GCP, mifumo ya Linux mara nyingi hutekeleza skripti 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 kiishara cha metadata ya kifaa kwa mabadiliko kwenye funguo za umma za SSH zilizoidhinishwa.

Hivyo, ikiwa mshambuliaji 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 privileges, kulingana na muundo wa funguo. Na mshambuliaji ataweza kudhoofisha mwenyeji.

Ongeza funguo ya SSH kwa mtumiaji aliye na mamlaka

  1. Angalia Funguo za SSH Zilizopo kwenye Kifaa:

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

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

  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 kwa 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 za SSH kwa 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 kwa mfano huu).

ssh -i ./key alice@localhost
sudo id

Unda mtumiaji mpya mwenye mamlaka na ongeza funguo ya SSH

Ikiwa hakuna mtumiaji wa kuvutia anapatikana, ni rahisi kuunda mpya ambaye atapewa mamlaka ya 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

Vipuli vya SSH kwa kiwango cha mradi

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

  1. Tumia Vipuli vya SSH kwa Kiwango cha Mradi:

  • Tumia amri gcloud compute project-info add-metadata kuongeza vipuli vya SSH kutoka meta.txt kwenye metadata ya mradi. Hatua hii inahakikisha kuwa vipuli 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 Vipuli vya Kiwango cha Mradi:

  • Kwa vipuli vya SSH kwa kiwango cha mradi mahali pake, unaweza kuingia kwa SSH kwenye kifaa chochote ndani ya mradi. Vifaa ambavyo havizuiliwi na vipuli vya SSH kwa kiwango cha mradi vitakubali kipuli cha SSH, kutoa ufikiaji.

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

Marejeo

Last updated