AWS - STS Privesc

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

STS

sts:AssumeRole

Svaka uloga se kreira sa polisom poverenja uloge, ova polisa ukazuje ko može preuzeti kreiranu ulogu. Ako uloga iz iste korisničke grupe kaže da neki korisnik može je preuzeti, to znači da će taj korisnik moći da pristupi ulozi (i potencijalno privesc).

Na primer, sledeća polisa poverenja uloge ukazuje da je svako u mogućnosti da je preuzme, stoga će svaki korisnik moći da privesc do dozvola povezanih sa tom ulogom.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole"
}
]
}

Možete se pretvarati da ste uloga koja se izvršava:

aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname

Potencijalni uticaj: Privesc do uloge.

Napomena da u ovom slučaju dozvola sts:AssumeRole mora biti navedena u ulozi koja će biti zloupotrebljena, a ne u politici koja pripada napadaču. S jednim izuzetkom, kako bi preuzeo ulogu iz drugog naloga, napadački nalog takođe mora imati sts:AssumeRole nad ulogom.

sts:AssumeRoleWithSAML

Poverenje politike sa ovom ulogom omogućava korisnicima koji su autentifikovani putem SAML-a da imitiraju ulogu.

Primer poverenja politike sa ovom dozvolom je:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OneLogin",
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::290594632123:saml-provider/OneLogin"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}

Da biste generisali akreditive za preuzimanje uloge uopšteno, možete koristiti nešto poput:

aws sts  assume-role-with-saml --role-arn <value> --principal-arn <value>

Ali provajderi mogu imati svoje sopstvene alate koji olakšavaju ovaj proces, kao što je onelogin-aws-assume-role:

onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600

Potencijalni uticaj: Privesc na ulogu.

sts:AssumeRoleWithWebIdentity

Ova dozvola omogućava dobijanje privremenih sigurnosnih akreditacija za korisnike koji su autentifikovani u mobilnoj, veb aplikaciji, EKS-u... sa pružaocem identiteta na vebu. Saznajte više ovde.

Na primer, ako EKS servisni nalog treba da može preuzeti ulogu IAM-a, imaće token u /var/run/secrets/eks.amazonaws.com/serviceaccount/token i može preuzeti ulogu i dobiti akreditacije tako što će uraditi nešto kao:

aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/<role_name> --role-session-name something --web-identity-token file:///var/run/secrets/eks.amazonaws.com/serviceaccount/token
# The role name can be found in the metadata of the configuration of the pod

Zloupotreba federacije

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated