La double authentification de Facebook prise en défaut

double authentification
double authentification

Un hacker a découvert une technique pour contourner l’authentification double facteur par SMS et vérifier les e-mails et téléphones enregistrés pour accéder à des comptes Instagram et Facebook. Le bug a depuis été corrigé et aucune preuve d’exploit n’a à ce jour été décelée.

Percer le système d’authentification renforcé des entreprises constitue un véritable graal pour les pirates informatiques. Ce n’est d’ailleurs pas un hasard si les RSSI placent le MFA dans le peloton de tête des solutions de sécurité mises en place pour protéger les accès au SI de leur entreprise, comme le montre le récent baromètre du Cesin. Cet enjeu de protection concerne bon nombre d’entreprises, y compris les acteurs américains comme Facebook. Or, un chercheur en sécurité a trouvé un trou dans la raquette du système de double authentification du réseau social.

Invité sur l’événement BountyCon 2022 de Singapour en septembre dernier, le spécialiste népalais en sécurité Gtm Mänôz raconte avoir voulu participer en ayant une seule chose en tête, à savoir « trouver au moins un bug valide et être dans le classement du concours de hack réalisé en direct ». Le hacker trouve alors l’inspiration en s’intéressant de près à la dernière interface utilisateur de Meta Accounts Center sur Instagram, et plus particulièrement l’option d’ajout de mail et de numéro de téléphone valables aussi bien pour Instagram que Facebook. « Le endpoint vérifiant le code à 6 chiffres était vulnérable à l’absence de protection par limite de débit permettant à quiconque de confirmer l’adresse e-mail et le numéro de téléphone inconnus/connus à la fois sur Instagram et sur les comptes Facebook liés », explique Gtm Mänôz.

Casser par force brute le code de confirmation d’enregistrement d’un téléphone de confiance

En ajoutant un numéro de téléphone mobile pour lier les deux comptes de réseaux sociaux , le chercheur trouve alors que la requête post associée /api/v1/fxcal/get_native_linking_auth_blob/ génère un token pour ajouter des terminaux de confiance et vérifier le code de confirmation ad hoc. En ajoutant un point de contact (email/téléphone), /api/v1/bloks/apps/com.bloks.www.fx.settings.contact_point.add.async/ est une autre requête post générée pour demander au serveur d’envoyer le code de vérification à 6 chiffres. En interceptant cette demande à l’aide d’un proxy web et en modifiant la valeur pin_code, le code de confirmation peut alors faire l’objet d’une attaque par force brute.

Source