AWS - EventBridge Scheduler Enum

Reading time: 6 minutes

EventBridge Scheduler

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

EventBridge Scheduler

Amazon EventBridge Scheduler は、タスクを大規模に作成、実行、管理するために設計された完全管理型のサーバーレススケジューラー です。これにより、270以上のAWSサービスと6,000以上のAPI操作にわたって数百万のタスクを中央サービスからスケジュールできます。組み込みの信頼性と管理するインフラストラクチャがないため、EventBridge Schedulerはスケジューリングを簡素化し、メンテナンスコストを削減し、需要に応じて自動的にスケールします。定期的なスケジュールのためにcronまたはレート式を設定し、一度限りの呼び出しを設定し、リトライオプションを持つ柔軟な配信ウィンドウを定義することで、下流ターゲットの可用性に基づいてタスクが確実に配信されるようにします。

地域ごとにアカウントあたり1,000,000のスケジュールの初期制限があります。公式のクォーターページでも「一度限りのスケジュールは完了したら削除することをお勧めします」と示唆しています。

Types of Schedules

EventBridge Schedulerのスケジュールの種類:

  1. 一度限りのスケジュール – 特定の時間にタスクを実行します。例:12月21日午前7時UTC。
  2. レートベースのスケジュール – 周期的なタスクを頻度に基づいて設定します。例:2時間ごと。
  3. Cronベースのスケジュール – cron式を使用して周期的なタスクを設定します。例:毎週金曜日午後4時。

失敗したイベントを処理するための2つのメカニズム:

  1. リトライポリシー – 失敗したイベントのリトライ試行回数と、失敗と見なす前に未処理のまま保持する時間を定義します。
  2. デッドレターキュー (DLQ) – リトライが尽きた後に失敗したイベントが配信される標準のAmazon SQSキュー。DLQは、スケジュールやその下流ターゲットの問題をトラブルシューティングするのに役立ちます。

Targets

スケジューラーには2種類のターゲットがあります テンプレート化された (docs)、これは一般的に使用され、AWSが設定を簡単にしました、そして ユニバーサル (docs)、これは任意のAWS APIを呼び出すために使用できます。

テンプレート化されたターゲットは以下のサービスをサポートしています:

  • CodeBuild – StartBuild
  • CodePipeline – StartPipelineExecution
  • Amazon ECS – RunTask
  • Parameters: EcsParameters
  • EventBridge – PutEvents
  • Parameters: EventBridgeParameters
  • Amazon Inspector – StartAssessmentRun
  • Kinesis – PutRecord
  • Parameters: KinesisParameters
  • Firehose – PutRecord
  • Lambda – Invoke
  • SageMaker – StartPipelineExecution
  • Parameters: SageMakerPipelineParameters
  • Amazon SNS – Publish
  • Amazon SQS – SendMessage
  • Parameters: SqsParameters
  • Step Functions – StartExecution

Enumeration

bash
# List all EventBridge Scheduler schedules
aws scheduler list-schedules

# List all EventBridge Scheduler schedule groups
aws scheduler list-schedule-groups

# Describe a specific schedule to retrieve more details
aws scheduler get-schedule --name <schedule_name>

# Describe a specific schedule group
aws scheduler get-schedule-group --name <group_name>

# List tags for a specific schedule (helpful in identifying any custom tags or permissions)
aws scheduler list-tags-for-resource --resource-arn <schedule_group_arn>

プライベートエスカレーション

次のページでは、eventbridgeスケジューラーの権限を悪用して特権を昇格させる方法を確認できます:

AWS - EventBridge Scheduler Privesc

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする