AWS - Datapipeline Privesc
datapipeline
datapipelineに関する詳細情報は次を参照してください:
pageAWS - 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つだけを盗むことができます)。
```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` **攻撃者によって作成されたパイプライン定義ファイルには、AWS APIを介してコマンドを実行したりリソースを作成したりする指示が含まれており、Data Pipelineのロール権限を利用して追加の特権を獲得する可能性があります。**
潜在的な影響: 指定されたec2サービスロールへの直接特権昇格。
参考文献
最終更新