AWS - SSM Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
SSMに関する詳細情報は以下を確認してください:
ssm:SendCommand
ssm:SendCommand
の権限を持つ攻撃者は、Amazon SSMエージェントが実行されているインスタンスでコマンドを実行し、その中で実行されているIAMロールを侵害することができます。
潜在的な影響: SSMエージェントが実行されているインスタンスにアタッチされたEC2 IAMロールへの直接的な権限昇格。
ssm:StartSession
ssm:StartSession
の権限を持つ攻撃者は、Amazon SSMエージェントが実行されているインスタンスでSSHのようなセッションを開始し、その中で実行されているIAMロールを侵害することができます。
セッションを開始するには、SessionManagerPlugin をインストールする必要があります: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
潜在的な影響: SSMエージェントが実行されているインスタンスにアタッチされたEC2 IAMロールへの直接的な権限昇格。
ECSタスクが**ExecuteCommand
を有効にして実行されると、十分な権限を持つユーザーは ecs execute-command
を使用してコンテナ内でコマンドを実行できます。
ドキュメントによると、これは「exec」コマンドを開始するために使用するデバイスと、SSMセッションマネージャーを使用したターゲットコンテナとの間に安全なチャネルを作成することによって行われます。(これが機能するためにはSSMセッションマネージャープラグインが必要です)
したがって、ssm:StartSession
を持つユーザーは、そのオプションが有効になっているECSタスク内でシェルを取得**できるようになります。
潜在的な影響: ExecuteCommand
が有効な実行中のタスクに添付されたECS
IAMロールへの直接的な権限昇格。
ssm:ResumeSession
ssm:ResumeSession
の権限を持つ攻撃者は、切断されたSSMセッション状態のAmazon SSMエージェントが実行されているインスタンスでSSHのようなセッションを再開始し、その中で実行されているIAMロールを侵害することができます。
潜在的な影響: SSMエージェントが実行されているインスタンスに接続されたEC2 IAMロールへの直接的な権限昇格と切断されたセッション。
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)言及された権限を持つ攻撃者は、SSMパラメータをリストし、平文で読むことができるようになります。これらのパラメータには、SSHキーやAPIキーなどの機密情報が頻繁に見つかることがあります。
潜在的な影響: パラメータ内の機密情報を見つける。
ssm:ListCommands
この権限を持つ攻撃者は、送信されたすべてのコマンドをリストし、そこに機密情報が含まれていることを期待できます。
潜在的な影響: コマンドライン内の機密情報を見つける。
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)これらの権限を持つ攻撃者は、送信されたすべてのコマンドをリストし、生成された出力を読み取ることができ、そこに機密情報が見つかることを期待します。
潜在的影響: コマンドラインの出力内に機密情報を見つける。
SSMを使用して、ビルド中のcodebuildプロジェクトにアクセスすることもできます:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)