Une faille OAuth de Microsoft exposait les comptes Azure

Certaines applications Microsoft sont vulnérables à un problème d’authentification qui pourrait permettre de prendre le contrôle d’un compte Azure.

Une vulnérabilité dans la manière dont Microsoft utilise OAuth pour l’authentification de parti tiers permettait à un hacker de prendre le contrôle de comptes Azure.

OAuth est un protocole qui permet aux utilisateurs d’application de partager les données de leurs comptes avec des sites ou des applications de parti tiers pour qu’ils puissent se connecter aux applications sans avoir à ré-entrer leur mot de passe à chaque fois.

La faille est causée par le fait que quand les applications Microsoft utilisent OAuth 2.0, ils font confiance à des domaines et des sous-domaines de parti tiers qui ne sont pas approuvés par Microsoft. Les chercheurs de CyberArk ont découvert trois applications Microsoft vulnérables qui font confiance à ces domaines: Portfolios (un outil de gestion de portfolio), O365 Secure Score (un outil d’analyse de sécurité) et Microsoft Trust Service (un portail fournissant des ressources sur les pratiques de sécurité, de confidentialité et de conformité Microsoft).

“La surface d’attaque de cette vulnérabilité est très large et son impact peut être énorme,” a déclaré Omer Tsarfati, chercheur chez CyberArk, dans une analyse de la faille. “En faisant rien de plus que de cliquer ou de visiter un site, les risques peuvent être le vol de données, la compromission de serveurs de production, la perte de données, le chiffrement des données de l’organisation avec un ransomware et bien plus.”

L’authentification OAuth

Lord d’une autorisation OAuth, l’utilisateur d’un site ou d’une application peut demander un accès depuis des applications de parti tiers pour se connecter. Dans le cas de Microsoft, cet utilisateur serait un usager d’applications Microsoft, et le parti tier serait serait une URL approuvée par Microsoft.

Le propriétaire du site ou de l’application de parti tiers reçoit ensuite un token avec des permissions spécifiques pour pouvoir agir au nom de l’utilisateur à qui appartient le token.

“Pour mettre cela en perspective, les tokens OAuth2, dans la plupart des cas, sont pareil que d’avoir le nom d’utilisateur et le mot de passe du compte,” ont déclaré les chercheurs.

Le problème qui se pose c’est que certaines URL autorisées de Microsoft ne sont pas enregistrées dans le portail Azure.

En examinant les URL d’API Web qui sont “approuvées” par les applications natives de Microsoft, Tsarfati a remarqué que certaines URL se terminent avec “.cloudapp.net”, “.azurewebsites.net” et “.{vm_region}.cloudapp.azure.com”. Tsarfati a noté que au moins 54 sous-domaines avec ces fins d’URL n’étaient pas enregistrés dans le portail d’Azure. Il y’en a peut être plus qui n’ont pas encore été découvert.

Les hackers peuvent utiliser cela pour prendre le contrôle de ces données et les enregistré. Ils seraient approuvés par défaut et demanderaient les “access_tokens” des utilisateurs, ce qui leur permet ensuite d’utiliser les permissions d’utilisateurs. Si la victime est un administrateur d’Azure, un hacker pourrait obtenir des privilèges de haut-niveau, comme l’ajout de membres dans l’Active Directory, la réinitialisation des mots de passe d’utilisateurs ou l’ajout d’utilisateurs dans des groupes.

Détails de l’attaque

Dans une preuve de concept de l’attaque, les chercheurs ont montré qu’un hacker pouvait créer un lien spécial pour le processus d’authentification de Microsoft OAuth. Ce lien requiert 3 paramètres: le paramètre application_id doit correspondre à l’application OAuth vulnérable, le paramètre redirect_uri doit être un des domaines autorisés et le paramètre de ressource doit être la ressource voulue par le hacker.

Ensuite, le pirate peut intégré une balise iframe dans un site avec un attribut “src” qui contient le lien spécial. Quand la victime visite le site (attirés par de simple tactique d’ingénierie sociale), le navigateur de la victime traite l’iframe et microsoftonline[.]com redirige la victime vers le domaine du hacker et autorise automatiquement l’accès au token. Le Javascript s’exécutant sur le domaine envoie ensuite des requêtes API avec le token d’accès dérobé.

microsoft

La vulnérabilité a été découverte le 29 Octobre et patché le 19 Novembre. Les chercheurs ont publiquement divulgué la faille le 2 Décembre. Même si un patch existe, les chercheurs ont déclaré que les utilisateurs peuvent aussi mitiger les risques OAuth en s’assurant que toutes les redirections URI configurées dans l’application sont les leurs. Il faut aussi supprimer les redirections URI qui ne sont pas nécessaires et désactiver les applications non-utilisées.

“OAuth 2.0 est une excellente solution pour l’authentification mais si la fonctionnalité est mal utilisée ou mal configurée, cela pourrait avoir un impact important et permettre à des applications de parti tiers d’avoir trop de privilèges ou à des hackers de prendre le contrôle de comptes,” ont expliqué les chercheurs.

Tsarfati a dévoilé que Microsoft n’a pas créé d’identifiant CVE pour ce bug car il se trouve seulement sur leur service en ligne.

Si cet article vous a plu, jetez un œil à notre article précédent.

S’abonner
Notifier de
guest
0 Commentaires
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x