AWS - Sagemaker Privesc
AWS - Sagemaker Privesc
iam:PassRole
, sagemaker:CreateNotebookInstance
, sagemaker:CreatePresignedNotebookInstanceUrl
iam:PassRole
, sagemaker:CreateNotebookInstance
, sagemaker:CreatePresignedNotebookInstanceUrl
Почніть створювати нотатник з IAM роллю, щоб отримати доступ до прикріпленого до нього:
Відповідь повинна містити поле NotebookInstanceArn
, яке міститиме ARN новоствореного екземпляра блокнота. Потім ми можемо використовувати API create-presigned-notebook-instance-url
, щоб згенерувати URL, який ми можемо використовувати для доступу до екземпляра блокнота, як тільки він буде готовий:
Перейдіть за URL-адресою в браузері та натисніть на `Open JupyterLab` у верхньому правому куті, потім прокрутіть вниз до вкладки “Launcher” і в розділі “Other” натисніть кнопку “Terminal”.
Тепер можливо отримати доступ до облікових даних метаданих IAM Role.
Potential Impact: Privesc до ролі служби sagemaker, що вказана.
sagemaker:CreatePresignedNotebookInstanceUrl
sagemaker:CreatePresignedNotebookInstanceUrl
Якщо на ньому вже запущені Jupyter ноутбуки і ви можете їх перерахувати за допомогою sagemaker:ListNotebookInstances
(або виявити їх будь-яким іншим способом). Ви можете згенерувати URL для них, отримати до них доступ і вкрасти облікові дані, як зазначено в попередній техніці.
Потенційний вплив: Privesc до ролі служби sagemaker, що прикріплена.
sagemaker:CreateProcessingJob,iam:PassRole
sagemaker:CreateProcessingJob,iam:PassRole
Зловмисник з цими дозволами може змусити sagemaker виконати обробку роботи з роллю sagemaker, прикріпленою до неї. Зловмисник може вказати визначення контейнера, який буде запущено в управляємому AWS ECS обліковому записі, і викрасти облікові дані прикріпленої IAM ролі.
Потенційний вплив: Privesc до ролі служби sagemaker, що вказана.
sagemaker:CreateTrainingJob
, iam:PassRole
sagemaker:CreateTrainingJob
, iam:PassRole
Зловмисник з цими дозволами зможе створити навчальну задачу, запускаючи довільний контейнер на ній з прикріпленою роллю. Отже, зловмисник зможе вкрасти облікові дані ролі.
Цей сценарій складніше експлуатувати, ніж попередній, оскільки вам потрібно створити образ Docker, який надішле rev shell або облікові дані безпосередньо зловмиснику (ви не можете вказати команду запуску в конфігурації навчальної задачі).
Потенційний вплив: Privesc до ролі служби sagemaker.
sagemaker:CreateHyperParameterTuningJob
, iam:PassRole
sagemaker:CreateHyperParameterTuningJob
, iam:PassRole
Зловмисник з цими дозволами зможе (потенційно) створити роботу з навчання гіперпараметрів, запустивши довільний контейнер на ній з прикріпленою роллю. Я не експлуатував через брак часу, але це виглядає подібно до попередніх експлойтів, не соромтеся надіслати PR з деталями експлуатації.
Посилання
Last updated