AWS - STS Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
STS
AWS Security Token Service (STS) est principalement conçu pour Ă©mettre des identifiants temporaires Ă privilĂšges limitĂ©s. Ces identifiants peuvent ĂȘtre demandĂ©s pour des utilisateurs AWS Identity and Access Management (IAM) ou pour des utilisateurs authentifiĂ©s (utilisateurs fĂ©dĂ©rĂ©s).
Ătant donnĂ© que le but de STS est dâĂ©mettre des identifiants pour lâusurpation dâidentitĂ©, le service est extrĂȘmement prĂ©cieux pour lâescalade de privilĂšges et le maintien de la persistance, mĂȘme sâil peut ne pas avoir une large gamme dâoptions.
Usurpation de RĂŽle
Lâaction AssumeRole fournie par AWS STS est cruciale car elle permet Ă un principal dâacquĂ©rir des identifiants pour un autre principal, lâusurpant essentiellement. Lors de lâinvocation, elle rĂ©pond avec un ID de clĂ© dâaccĂšs, une clĂ© secrĂšte et un jeton de session correspondant Ă lâARN spĂ©cifiĂ©.
Pour les testeurs de pĂ©nĂ©tration ou les membres de lâĂ©quipe rouge, cette technique est essentielle pour lâescalade de privilĂšges (comme expliquĂ© ici). Cependant, il convient de noter que cette technique est assez Ă©vidente et peut ne pas surprendre un attaquant.
Logique dâUsurpation de RĂŽle
Pour assumer un rĂŽle dans le mĂȘme compte si le rĂŽle Ă assumer permet spĂ©cifiquement un ARN de rĂŽle comme dans :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Le rĂŽle priv-role dans ce cas, nâa pas besoin dâĂȘtre spĂ©cifiquement autorisĂ© Ă assumer ce rĂŽle (avec cette autorisation, câest suffisant).
Cependant, si un rĂŽle permet Ă un compte de lâassumer, comme dans :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Le rĂŽle essayant de lâassumer aura besoin dâune permission sts:AssumeRole spĂ©cifique sur ce rĂŽle pour lâassumer.
Si vous essayez dâassumer un rĂŽle dâun compte diffĂ©rent, le rĂŽle assumĂ© doit le permettre (indiquant le ARN du rĂŽle ou le compte externe), et le rĂŽle essayant dâassumer lâautre DOIT avoir des permissions pour lâassumer (dans ce cas, ce nâest pas optionnel mĂȘme si le rĂŽle assumĂ© spĂ©cifie un ARN).
ĂnumĂ©ration
# Get basic info of the creds
aws sts get-caller-identity
aws sts get-access-key-info --access-key-id <AccessKeyID>
# Get CLI a session token with current creds
## Using CLI creds
## You cannot get session creds using session creds
aws sts get-session-token
## MFA
aws sts get-session-token --serial-number <arn_device> --token-code <otp_code>
Privesc
Dans la page suivante, vous pouvez vérifier comment abuser des permissions STS pour escalader les privilÚges :
Post Exploitation
Persistence
Références
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

