AWS - Glue Privesc
glue
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)これらの権限を持つユーザーは、新しいAWS Glue開発エンドポイントをセットアップし、このエンドポイントに特定の権限を持つ既存のGlueでアサム可能なサービスロールを割り当てることができます。
セットアップ後、攻撃者はエンドポイントのインスタンスにSSHで接続し、割り当てられたロールのIAM資格情報を盗むことができます。
隠密性のために、Glue仮想マシン内部からIAM資格情報を使用することが推奨されています。
潜在的な影響: 指定されたGlueサービスロールへの特権昇格。
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)この権限を持つユーザーは、既存のGlue開発エンドポイントのSSHキーを変更でき、それにSSHアクセスを有効にできます。これにより、攻撃者はエンドポイントにアタッチされたロールの特権でコマンドを実行できます。
潜在的影響: glueサービスロールへの特権昇格。
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)iam:PassRole
と glue:CreateJob
またはglue:UpdateJob
のいずれか、および glue:StartJobRun
またはglue:CreateTrigger
のいずれかを組み合わせたユーザーは、AWS Glueジョブを作成または更新し、任意のGlueサービスアカウントを添付し、ジョブの実行を開始できます。ジョブの機能には、任意のPythonコードを実行できる能力が含まれており、これを悪用して逆シェルを確立することができます。この逆シェルを使用して、GlueジョブにアタッチされたロールのIAM資格情報を外部に流出させることができ、そのロールの権限に基づいて潜在的に不正なアクセスやアクションが行われる可能性があります。
潜在的影響: 指定されたGlueサービスロールへの特権昇格。
glue:UpdateJob
glue:UpdateJob
更新権限だけで攻撃者はすでにアタッチされたロールのIAM資格情報を盗むことができる。
潜在的影響: アタッチされたGlueサービスロールへの特権昇格。
参考
Last updated