GCP - Add Custom SSH Metadata
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Mabadiliko ya metadata kwenye mfano yanaweza kusababisha hatari kubwa za usalama ikiwa mshambuliaji atapata ruhusa zinazohitajika.
Katika GCP, mifumo ya Linux mara nyingi inatekeleza skripti kutoka Python Linux Guest Environment for Google Compute Engine. Sehemu muhimu ya hii ni accounts daemon, ambayo imeundwa ili kuangalia mara kwa mara kiunganishi cha metadata ya mfano kwa sasisho la funguo za umma za SSH zilizoidhinishwa.
Hivyo, ikiwa mshambuliaji anaweza kubadilisha metadata ya kawaida, anaweza kufanya daemon ipate funguo mpya za umma, ambazo zitawekwa na kuunganishwa kwenye mfumo wa ndani. Funguo hiyo itaongezwa kwenye faili ya ~/.ssh/authorized_keys
ya mtumiaji aliye tayari au labda kuunda mtumiaji mpya mwenye ruhusa za sudo
, kulingana na muundo wa funguo. Na mshambuliaji ataweza kuathiri mwenyeji.
Examine Existing SSH Keys on the Instance:
Tekeleza amri ya kuelezea mfano na metadata yake ili kupata funguo za SSH zilizopo. Sehemu inayohusiana katika matokeo itakuwa chini ya metadata
, hasa funguo ya ssh-keys
.
Angalia muundo wa funguo za SSH: jina la mtumiaji linatangulia funguo, likitenganishwa na alama ya nukta.
Prepare a Text File for SSH Key Metadata:
Hifadhi maelezo ya majina ya watumiaji na funguo zao za SSH katika faili la maandiko lililo na jina meta.txt
. Hii ni muhimu ili kuhifadhi funguo zilizopo wakati wa kuongeza mpya.
Generate a New SSH Key for the Target User (alice
in this example):
Tumia amri ya ssh-keygen
kuzalisha funguo mpya ya SSH, kuhakikisha kuwa uwanja wa maoni (-C
) unalingana na jina la mtumiaji wa lengo.
Ongeza funguo mpya ya umma kwenye meta.txt
, ukifanana na muundo ulio katika metadata ya mfano.
Update the Instance's SSH Key Metadata:
Tumia metadata ya funguo za SSH iliyosasishwa kwenye mfano kwa kutumia amri ya gcloud compute instances add-metadata
.
Access the Instance Using the New SSH Key:
Unganisha kwenye mfano kwa kutumia funguo mpya ya SSH, ukipata shell katika muktadha wa mtumiaji wa lengo (alice
katika mfano huu).
Ikiwa hakuna mtumiaji wa kuvutia anapatikana, inawezekana kuunda mpya ambayo itapewa ruhusa za sudo
:
Inawezekana kupanua ufikiaji wa SSH kwa Mashine nyingi za Kijijini (VMs) katika mazingira ya wingu kwa kutumia funguo za SSH katika kiwango cha mradi. Njia hii inaruhusu ufikiaji wa SSH kwa mfano wowote ndani ya mradi ambao haujazuia wazi wazi funguo za SSH za mradi. Hapa kuna mwongozo wa muhtasari:
Tumia Funguo za SSH katika Kiwango cha Mradi:
Tumia amri gcloud compute project-info add-metadata
kuongeza funguo za SSH kutoka meta.txt
kwenye metadata ya mradi. Kitendo hiki kinahakikisha kwamba funguo za SSH zinatambuliwa katika VMs zote ndani ya mradi, isipokuwa VM ina chaguo la "Block project-wide SSH keys" limewezeshwa.
SSH kwenye Mifano kwa Kutumia Funguo za Kiwango cha Mradi:
Pamoja na funguo za SSH za kiwango cha mradi, unaweza SSH kwenye mfano wowote ndani ya mradi. Mifano ambayo haizuia funguo za kiwango cha mradi itakubali funguo za SSH, ikitoa ufikiaji.
Njia moja ya moja ya SSH kwenye mfano ni kutumia amri gcloud compute ssh [INSTANCE]
. Amri hii inatumia jina lako la mtumiaji wa sasa na funguo za SSH zilizowekwa katika kiwango cha mradi kujaribu ufikiaji.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)