Détourner le rôle de service App Runner
Peut reconfigurer un service App Runner pour exécuter du code attaquant sous son rôle d'instance.
Accorde l'escalade à lui seul.
apprunner:UpdateServiceÀ lui seul, apprunner:UpdateService peut reconfigurer un service App Runner pour exécuter le code de l'attaquant avec son rôle d'instance. Sur un périmètre de ressources large, cela atteint à lui seul l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut appeler apprunner:UpdateService sur un service App Runner existant qui porte déjà le rôle d'instance, en le reconfigurant pour exécuter du code contrôlé par l'attaquant, un StartCommand malveillant, une image de conteneur avec un web shell, ou un dépôt avec un apprunner.yaml malveillant. Lors du déploiement suivant, App Runner exécute ce code en tant que rôle cible, sans iam:PassRole ni apprunner:CreateService, car le rôle cible est déjà lié au service. Le code lit les identifiants actifs du rôle cible depuis l'environnement d'exécution ou appelle AWS directement ; si le rôle cible est privilégié, il s'agit d'une escalade de privilèges complète contre un service 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 UpdateService. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
UpdateServicePrérequis
Un service App Runner existant avec un rôle d'instance attaché ; la permission de le mettre à jour. Les modifications de configuration source/image doivent être autorisées (valeur par défaut).
Tactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre apprunner:UpdateService sur les services qui portent un rôle d'instance privilégié ; examiner les modifications de configuration source/image.
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 apprunner:UpdateService ?
Peut reconfigurer un service App Runner pour exécuter du code attaquant sous son rôle d'instance.
apprunner:UpdateService 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 service App Runner ?
Surveillez UpdateService 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 apprunner:UpdateService sur les services qui portent un rôle d'instance privilégié ; examinez les modifications de configuration source/image. 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.