Détourner le notebook SageMaker via une URL présignée
Peut générer une URL présignée vers un notebook et exécuter un shell sous son rôle d'exécution.
Accorde l'escalade à lui seul.
sagemaker:CreatePresignedNotebookInstanceUrlÀ lui seul, sagemaker:CreatePresignedNotebookInstanceUrl peut générer une URL présignée vers un notebook et exécuter un shell avec son rôle d'exécution. Sur un périmètre de ressources large, cela atteint à lui seul l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut appeler sagemaker:CreatePresignedNotebookInstanceUrl sur une instance de notebook existante qui s'exécute en tant que rôle cible, forgeant une URL signée qui ouvre l'environnement Jupyter du notebook. En utilisant le terminal intégré de Jupyter, un shell s'exécutant en tant que rôle cible, l'attaquant lit les identifiants actifs du rôle cible ou appelle AWS directement. Aucun iam:PassRole n'est nécessaire, car le rôle cible est déjà lié au notebook. Si le rôle cible est privilégié, il s'agit d'une escalade de privilèges complète contre un notebook qui était déjà de confiance.
En termes MITRE ATT&CK, cela correspond à T1578, Modification de l'infrastructure de calcul cloud, dans la tactique escalade de privilèges. AWS l'enregistre dans CloudTrail sous CreatePresignedNotebookInstanceUrl. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
CreatePresignedNotebookInstanceUrlPrérequis
Une instance de notebook SageMaker existante avec un rôle d'exécution ; la permission de créer une URL présignée pour celle-ci. Le notebook doit être InService pour ouvrir la session Jupyter.
Tactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre sagemaker:CreatePresignedNotebookInstanceUrl aux opérateurs ; réduire les permissions du rôle d'exécution du notebook.
La décision de l'appliquer dépend de la façon dont la permission est utilisée dans votre environnement, il s'agit donc d'une décision métier plutôt que d'un correctif automatique. La même permission peut être porteuse dans un compte et pur risque dans un autre.
Pathbreak confirme si ce chemin se résout dans votre compte, le classe par rapport aux autres selon l'ampleur de ce qu'il ouvre, et utilise votre modèle de menace et votre contexte métier pour montrer quels chemins valent la peine d'être coupés.
Questions
Que permet sagemaker:CreatePresignedNotebookInstanceUrl ?
Peut générer une URL présignée vers un notebook et exécuter un shell sous son rôle d'exécution.
sagemaker:CreatePresignedNotebookInstanceUrl peut-il à lui seul permettre une escalade de privilèges ?
Oui. Détenue sur une ressource suffisamment large, elle atteint l'accès administrateur sans aucune autre permission.
Comment détecter le détournement du notebook SageMaker via une URL présignée ?
Surveillez CreatePresignedNotebookInstanceUrl dans CloudTrail. Cet appel apparaît dans CloudTrail mais se fond dans l'administration normale, il faut donc une règle pour le faire ressortir.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez sagemaker:CreatePresignedNotebookInstanceUrl aux opérateurs ; réduisez les permissions du rôle d'exécution du notebook. L'appliquer ou non dépend de la manière dont l'autorisation est utilisée dans votre compte, il s'agit donc d'une décision métier plutôt que d'un correctif automatique.
De quelle technique MITRE ATT&CK s'agit-il ?
T1578, Modification de l'infrastructure de calcul cloud, dans la tactique escalade de privilèges.
Chemins associés
Références
Trouvez ceci dans votre propre compte
Nous réalisons un scan en lecture seule d'un compte AWS et vous montrons lesquels de ces chemins existent, classés par rayon d'impact, avec le changement qui brise chacun d'eux. Premiers chemins validés en moins d'une heure.