AWS - SSM Privesc
SSM
SSMに関する詳細情報は次を参照してください:
pageAWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
ssm:SendCommand
権限を持つ攻撃者は、Amazon SSMエージェントを実行しているインスタンスでコマンドを実行し、その中で実行されているIAMロールを侵害することができます。
次に、すでに侵害されたEC2インスタンス内で特権を昇格させるためにこのテクニックを使用している場合は、次のようにローカルでrevシェルをキャプチャできます:
潜在的影響: SSM エージェントが実行されているインスタンスにアタッチされている EC2 IAM ロールへの直接的な権限昇格。
ssm:StartSession
ssm:StartSession
ssm:StartSession
権限を持つ攻撃者は、Amazon SSM エージェントが実行されているインスタンスで SSH のようなセッションを開始 し、その中で実行されている IAM ロールを 侵害 することができます。
セッションを開始するには、SessionManagerPlugin がインストールされている必要があります: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
潜在的な影響: 実行中のインスタンスにアタッチされているEC2 IAMロールへの直接権限昇格が可能になります。SSMエージェントが実行されている場合。
ECSへの権限昇格
ECSタスクが**ExecuteCommand
が有効**な状態で実行されると、十分な権限を持つユーザーはecs execute-command
を使用してコンテナ内でコマンドを実行できます。
ドキュメントによると、これは、"exec"コマンドを開始するデバイスとSSMセッションマネージャーを介してターゲットコンテナ間に安全なチャネルを作成することで行われます。
したがって、ssm:StartSession
権限を持つユーザーは、そのオプションが有効になっているECSタスク内でシェルを取得できます。単に次のコマンドを実行します:
潜在的影響: ExecuteCommand
が有効になっている実行中のタスクにアタッチされた ECS
IAM ロールへの直接的な権限昇格。
ssm:ResumeSession
ssm:ResumeSession
ssm:ResumeSession
権限を持つ攻撃者は、Amazon SSM エージェントが実行されているインスタンスで SSH のようなセッションを再開 し、切断された SSM セッション状態で実行されている IAM ロールを 侵害 することができます。
潜在的影響: SSM エージェントが実行され、セッションが切断されている場合、実行中のインスタンスにアタッチされた EC2 IAM ロールへの直接的な権限昇格が可能です。
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)上記の権限を持つ攻撃者は、SSM パラメータをリストアップし、平文で読み取ることができます。これらのパラメータには、SSH キーまたは API キーなどの機密情報が頻繁に含まれています。
潜在的影響: パラメータ内の機密情報を見つける。
ssm:ListCommands
ssm:ListCommands
この権限を持つ攻撃者は、送信されたすべてのコマンドをリストアップし、それらから機密情報を見つけることができるかもしれません。
潜在的影響: コマンドライン内の機密情報を見つける。
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)これらの権限を持つ攻撃者は、送信されたすべてのコマンドをリストアップし、生成された出力を読むことができ、機密情報を見つける可能性があります。
潜在的影響: コマンドラインの出力内に機密情報を見つける。
Codebuild
Codebuildプロジェクト内に入るためにSSMを使用することもできます:
pageAWS - Codebuild Privesc最終更新