AWS - SageMaker Enum
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
サービス概要
Amazon SageMaker はノートブック、トレーニングインフラ、オーケストレーション、レジストリ、マネージドエンドポイントを結びつける AWS のマネージド機械学習プラットフォームです。SageMaker リソースが侵害されると通常得られるもの:
- 広範な S3、ECR、Secrets Manager、または KMS へのアクセス権を持つ長期間有効な IAM 実行ロール。
- S3、EFS、または feature stores に格納された機密データセットへのアクセス。
- VPC 内のネットワーク足場(Studio apps、training jobs、endpoints)。
- コンソール認証をバイパスする高権限の presigned URL。
SageMaker がどのように構成されているかを理解することは、pivot、persist、または exfiltrate data を行う前に重要です。
コア構成要素
- Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio)。各 domain は共有 EFS ファイルシステムとデフォルトの実行ロールを持ちます。
- Notebook Instances: スタンドアロンノートブック用のマネージド EC2 インスタンス。個別の実行ロールを使用します。
- Training / Processing / Transform Jobs: ECR からコード、S3 からデータを取得するエフェメラルなコンテナ。
- Pipelines & Experiments: すべてのステップ、入力、出力を記述するオーケストレーションされたワークフロー。
- Models & Endpoints: HTTPS エンドポイント経由で推論にデプロイされるパッケージ化されたアーティファクト。
- Feature Store & Data Wrangler: データ準備とフィーチャ管理のためのマネージドサービス。
- Autopilot & JumpStart: 自動化された ML とキュレートされたモデルカタログ。
- MLflow Tracking Servers: presigned アクセストークンを用いるマネージド MLflow UI/API。
すべてのリソースは実行ロール、S3 ロケーション、コンテナイメージ、そしてオプションの VPC/KMS 設定を参照します — 列挙時にこれらをすべて記録してください。
アカウント & グローバルメタデータ
REGION=us-east-1
# Portfolio status, used when provisioning Studio resources
aws sagemaker get-sagemaker-servicecatalog-portfolio-status --region $REGION
# List execution roles used by models (extend to other resources as needed)
aws sagemaker list-models --region $REGION --query 'Models[].ExecutionRoleArn' --output text | tr ' ' '
' | sort -u
# Generic tag sweep across any SageMaker ARN you know
aws sagemaker list-tags --resource-arn <sagemaker-arn> --region $REGION
クロスアカウントの信頼関係(execution roles や external principals を持つ S3 バケットなど)および service control policies(SCPs)などのベースラインの制限を記録してください。
Studio ドメイン、Apps & Shared Spaces
aws sagemaker list-domains --region $REGION
aws sagemaker describe-domain --domain-id <domain-id> --region $REGION
aws sagemaker list-user-profiles --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-user-profile --domain-id <domain-id> --user-profile-name <profile> --region $REGION
# Enumerate apps (JupyterServer, KernelGateway, RStudioServerPro, CodeEditor, Canvas, etc.)
aws sagemaker list-apps --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-app --domain-id <domain-id> --user-profile-name <profile> --app-type JupyterServer --app-name default --region $REGION
# Shared collaborative spaces
aws sagemaker list-spaces --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-space --domain-id <domain-id> --space-name <space> --region $REGION
# Studio lifecycle configurations (shell scripts at start/stop)
aws sagemaker list-studio-lifecycle-configs --region $REGION
aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name <name> --region $REGION
記録する項目:
DomainArn,AppSecurityGroupIds,SubnetIds,DefaultUserSettings.ExecutionRole.- マウントされた EFS (
HomeEfsFileSystemId) と S3 のホームディレクトリ。 - Lifecycle scripts(しばしば bootstrap credentials や push/pull による追加コードを含む)。
Tip
Presigned Studio URLs は、広く付与されると認証をバイパスできることがある。
ノートブックインスタンスとライフサイクル設定
aws sagemaker list-notebook-instances --region $REGION
aws sagemaker describe-notebook-instance --notebook-instance-name <name> --region $REGION
aws sagemaker list-notebook-instance-lifecycle-configs --region $REGION
aws sagemaker describe-notebook-instance-lifecycle-config --notebook-instance-lifecycle-config-name <cfg> --region $REGION
Notebook のメタデータが明らかにする情報:
- 実行ロール (
RoleArn)、直接インターネットアクセスとVPC-onlyモードの判別。 DefaultCodeRepository,DirectInternetAccess,RootAccessにある S3 の場所。- 認証情報や永続化フック用のライフサイクルスクリプト。
Training, Processing, Transform & Batch Jobs
aws sagemaker list-training-jobs --region $REGION
aws sagemaker describe-training-job --training-job-name <job> --region $REGION
aws sagemaker list-processing-jobs --region $REGION
aws sagemaker describe-processing-job --processing-job-name <job> --region $REGION
aws sagemaker list-transform-jobs --region $REGION
aws sagemaker describe-transform-job --transform-job-name <job> --region $REGION
AlgorithmSpecification.TrainingImage/AppSpecification.ImageUri– どの ECR イメージがデプロイされているか。InputDataConfig&OutputDataConfig– S3 バケット、プレフィックス、および KMS キー。ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– ネットワークや暗号化の設定状況を判断する。HyperParametersは環境のシークレットや接続文字列を leak する可能性がある。
パイプライン、実験、トライアル
aws sagemaker list-pipelines --region $REGION
aws sagemaker list-pipeline-executions --pipeline-name <pipeline> --region $REGION
aws sagemaker describe-pipeline --pipeline-name <pipeline> --region $REGION
aws sagemaker list-experiments --region $REGION
aws sagemaker list-trials --experiment-name <experiment> --region $REGION
aws sagemaker list-trial-components --trial-name <trial> --region $REGION
パイプライン定義は、各ステップ、関連するロール、コンテナイメージ、および環境変数の詳細を記述します。Trial コンポーネントにはしばしばトレーニングアーティファクトのURI、S3ログ、そして機密データの流れを示唆するメトリクスが含まれます。
モデル、エンドポイント設定、およびデプロイ済みエンドポイント
aws sagemaker list-models --region $REGION
aws sagemaker describe-model --model-name <name> --region $REGION
aws sagemaker list-endpoint-configs --region $REGION
aws sagemaker describe-endpoint-config --endpoint-config-name <cfg> --region $REGION
aws sagemaker list-endpoints --region $REGION
aws sagemaker describe-endpoint --endpoint-name <endpoint> --region $REGION
重点領域:
- モデルアーティファクトの S3 URIs (
PrimaryContainer.ModelDataUrl) および 推論コンテナイメージ。 - エンドポイントのデータキャプチャ構成(S3 bucket, KMS) — 可能な log exfil を想定して確認。
S3DataSourceまたはModelPackageを使用するマルチモデルエンドポイント(クロスアカウントでのパッケージ化を確認)。- エンドポイントに紐づくネットワーク構成とセキュリティグループ。
Feature Store, Data Wrangler & Clarify
aws sagemaker list-feature-groups --region $REGION
aws sagemaker describe-feature-group --feature-group-name <feature-group> --region $REGION
aws sagemaker list-data-wrangler-flows --region $REGION
aws sagemaker describe-data-wrangler-flow --flow-name <flow> --region $REGION
aws sagemaker list-model-quality-job-definitions --region $REGION
aws sagemaker list-model-monitoring-schedule --region $REGION
セキュリティのポイント:
- Online feature stores はデータを Kinesis に複製します。
OnlineStoreConfig.SecurityConfig.KmsKeyIdと VPC を確認してください。 - Data Wrangler のフローには、JDBC/Redshift の認証情報や private endpoints が埋め込まれていることが多いです。
- Clarify/Model Monitor ジョブはデータを S3 にエクスポートしますが、それが world-readable または cross-account でアクセス可能になっている場合があります。
MLflow Tracking Servers, Autopilot & JumpStart
aws sagemaker list-mlflow-tracking-servers --region $REGION
aws sagemaker describe-mlflow-tracking-server --tracking-server-name <name> --region $REGION
aws sagemaker list-auto-ml-jobs --region $REGION
aws sagemaker describe-auto-ml-job --auto-ml-job-name <name> --region $REGION
aws sagemaker list-jumpstart-models --region $REGION
aws sagemaker list-jumpstart-script-resources --region $REGION
- MLflow tracking serversは実験やアーティファクトを保存します。presigned URLsによりすべてが露出する可能性があります。
- Autopilot jobsは複数のtraining jobsを起動します — 隠されたデータを見つけるために出力を列挙してください。
- JumpStart reference architecturesはアカウント内に特権ロールをデプロイする可能性があります。
IAM とネットワークに関する考慮事項
- すべての実行ロール(Studio、notebooks、training jobs、pipelines、endpoints)にアタッチされているIAMポリシーを列挙してください。
- ネットワークコンテキストを確認してください:subnets、security groups、VPC endpoints。多くの組織はtraining jobsを分離しますが、アウトバウンドトラフィックの制限を忘れがちです。
- 外部アクセスについて、
ModelDataUrl、DataCaptureConfig、InputDataConfigで参照されているS3バケットポリシーを確認してください。
Privilege Escalation
Persistence
Post-Exploitation
AWS - SageMaker Post-Exploitation
Unauthorized Access
AWS - SageMaker Unauthenticated Enum
参考
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks Cloud

