Inside Out - Blog CyberSécurité

Box : Contourner l’authentification multi-facteurs avec mot de passe à usage unique basé sur le temps

Rédigé par Tal Peleg | 14 janv. 2022 15:11:32

L’équipe de recherche de Varonis a trouvé un moyen de contourner l’authentification à plusieurs facteurs pour les comptes Box qui utilisent des applications d’authentification telles que Google Authenticator.

En utilisant la technique démontrée ci-dessous, un hacker pourrait utiliser des données d’identification volées pour compromettre le compte Box d’une organisation et exfiltrer des données sensibles sans fournir de mot de passe à usage unique.

Nous avons signalé ce problème à Box le 3 novembre via HackerOne et l’équipe a depuis publié un correctif.

Contexte

En janvier 2021, Box a lancé une fonctionnalité permettant aux comptes d’utiliser des applications d’authentification basées sur un mot de passe à usage unique basé sur le temps, telles que Google Authenticator, Okta Verify, Authy, Duo et bien d’autres encore.

Box recommande l’authentification basée sur un mot de passe à usage unique basé sur le temps plutôt que sur SMS pour des raisons évidentes : les messages SMS peuvent être piratés par échange SIM, fraude par transfert et autres techniques connues.

Non seulement les applications d’authentification qui sont conformes à l’algorithme des mots de passe à usage unique basés sur le temps sont plus simples pour l’utilisateur final, mais elles sont aussi beaucoup plus sûres que les SMS. En règle générale.

Comment fonctionne l’authentification multi-facteurs de Box ?

Lorsqu’un utilisateur ajoute une application d’authentification à son compte Box, un identifiant de facteur est attribué à cette application. Chaque fois que l’utilisateur essaye de se connecter, Box l’invite à saisir son adresse e-mail et son mot de passe, puis un mot de passe à usage unique fourni par l’application d’authentification.

Si l’utilisateur ne fournit pas le second facteur, il ne pourra pas accéder aux fichiers et aux dossiers de son compte Box. Cette deuxième ligne de défense est utile si le mot de passe de l’utilisateur est faible (ou compromis).

Quel est le problème ?

Notre équipe a découvert que le terminal /mfa/unenrollment pouvait supprimer un appareil avec mot de passe à usage unique basé sur le temps du compte d’un utilisateur même si ce dernier n’était pas entièrement authentifié. Ainsi, nous avons pu désinscrire un utilisateur de l’authentification à plusieurs facteurs après avoir fourni un nom d’utilisateur et un mot de passe, mais avant de fournir le deuxième facteur.

Après avoir procédé à la désinscription, nous avons pu nous connecter sans passer par l’authentification à plusieurs facteurs et obtenir un accès complet au compte Box de l’utilisateur, y compris tous ses fichiers et dossiers. Avant le correctif de Box, les hackers pouvaient compromettre les comptes utilisateur par « credential stuffing », force brute, etc.

Voici l’attaque en action :

Flux de l'attaque

1. Le hacker saisit l’adresse e-mail et le mot de passe d’un utilisateur sur account.box.com/login

2. Si le mot de passe est correct, le navigateur du hacker reçoit un nouveau cookie d’authentification qui permet d’accéder à un ensemble de terminaux limité, dont le terminal /mfa/unenrollment

3. Plutôt que de transmettre un mot de passe à usage unique valide d’une application d’authentification au terminal /mfa/verification, le hacker transmet par POST l’identifiant de facteur de l’appareil sur le terminal /mfa/unenrollment et parvient à désinscrire la combinaison appareil/compte utilisateur de l’authentification à plusieurs facteurs avec un mot de passe à usage unique basé sur le temps

4. Le hacker peut maintenant se connecter de nouveau en utilisant l’authentification à facteur unique et obtenir un accès complet au compte et aux données de l’utilisateur

Conclusions

L’authentification à plusieurs facteurs rend l’Internet plus sûr et l’authentification plus résiliente pour les applications SaaS que nous utilisons, mais cette méthode n’est pas parfaite. L’authentification à plusieurs facteurs basée sur un mot de passe à usage unique basé sur le temps compte de plus en plus d’adeptes, mais si elle n’est pas correctement mise en œuvre, elle peut être contournée.

Même si personne n’est à l’abri des bugs et des vulnérabilités, il est fortement recommandé de confier la mise en œuvre de l’authentification à plusieurs facteurs à un fournisseur (Okta, par exemple) spécialisé dans l’authentification afin de minimiser les risques de faille d’authentification dans votre application.

L’exemple ci-dessus n’est qu’une technique de contournement pour une plateforme SaaS parmi bien d’autres. Nous en publierons d’ailleurs certaines prochainement. L’authentification efficace ne constitue qu’une seule couche de défense. Il est essentiel d’adopter une approche de la défense en profondeur qui part du principe qu’une violation peut avoir lieu, en particulier si les menaces internes vous inquiètent.

Pour finir, votre sécurité se mesure au maillon le plus faible de la chaîne. En plus d’exiger l’authentification à plusieurs facteurs, utilisez la SSO dès que vous le pouvez, appliquez des règles de mots de passe forts, surveillez des sites tels que HaveIBeenPwnd pour connaître les comptes piratés associés à votre domaine et évitez d’utiliser des réponses faciles à trouver (« Quel est le nom de jeune fille de votre mère ? ») dans vos flux d’authentification