AWS - Datapipeline Privesc
datapipeline
datapipelineに関する詳細情報は次を参照してください:
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
これらの権限を持つユーザーは、Data Pipelineを作成して、割り当てられたロールの権限を使用して任意のコマンドを実行することで特権を昇格させることができます。
以下は、パイプラインの作成後、攻撃者がその定義を更新して特定のアクションやリソースの作成を指示する例です:
ライン14、15、27のロールは、datapipeline.amazonaws.comがアサムできるロールである必要があります。そして、ライン28のロールは、EC2プロファイルインスタンスを持つec2.amazonaws.comがアサムできるロールである必要があります。
さらに、EC2インスタンスはEC2インスタンスがアサムできるロールにのみアクセスできるため(その1つだけを盗むことができます)。
攻撃者によって作成されたパイプライン定義ファイルには、コマンドを実行する指示やAWS APIを介してリソースを作成する指示が含まれており、Data Pipelineのロール権限を利用して追加の特権を獲得する可能性があります。
潜在的な影響: 指定されたec2サービスロールへの直接特権昇格。
参考文献
Last updated