Détourner le rôle de définition de tâche Batch
Peut soumettre un job Batch avec une commande de substitution et exécuter un conteneur en tant que son rôle de job.
Accorde l'escalade à lui seul.
batch:SubmitJobÀ lui seul, batch:SubmitJob peut soumettre une tâche Batch avec une commande de remplacement et exécuter un conteneur avec son rôle de tâche. Sur un périmètre de ressources large, cela atteint à lui seul l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut appeler batch:SubmitJob contre une définition de tâche Batch existante qui porte déjà le rôle de tâche, en fournissant un ContainerOverrides.Command dont la commande shell est contrôlée par l'attaquant. Batch exécute cette commande dans un conteneur en tant que rôle cible, sans iam:PassRole ni batch:RegisterJobDefinition, car le rôle cible est déjà lié à la définition de tâche. La commande lit les identifiants actifs du rôle cible depuis le point de terminaison de métadonnées de tâche ou appelle AWS directement ; si le rôle cible est privilégié, il s'agit d'une escalade de privilèges complète contre une définition de tâche 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 SubmitJob. L'appel est bruyant dans CloudTrail et se démarque de l'activité normale.
Détection
SubmitJobPrérequis
Une définition de tâche Batch existante avec un jobRoleArn ; une file de tâches accessible ; la permission de soumettre une tâche. ContainerOverrides.Command doit être autorisé (valeur par défaut).
Tactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre batch:SubmitJob sur les files/définitions de job qui portent un jobRoleArn privilégié ; interdire ContainerOverrides.Command.
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 batch:SubmitJob ?
Peut soumettre un job Batch avec une commande de substitution et exécuter un conteneur en tant que son rôle de job.
batch:SubmitJob peut-il permettre une escalade de privilèges à lui seul ?
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 rôle de définition de tâche Batch ?
Surveillez SubmitJob dans CloudTrail. Cet appel est bruyant dans CloudTrail et se démarque de l'activité normale.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez batch:SubmitJob sur les files d'attente/définitions de tâches qui portent un jobRoleArn privilégié ; interdisez ContainerOverrides.Command. 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.