Un exploit apparu en octobre 2023 donne des sueurs froides aux équipes de sécurité, mais fait la joie des cybercriminels. En effet, un endpoint OAuth (protocole autorisant l’accès à une application tierce sans transmettre son mot de passe) non documenté de Google est à l’origine de cet exploit. Ce dernier est capable de généré des cookies d’authentification Google persistants en manipulant des tokens et offrant ainsi un accès continu aux service de la firme même après la réinitialisation du mot de passe. Ce procédé a été révélé la première fois par un pirate, dénommé « Prisma », sur un canal Telegram.

Selon un article du blog de CloudSEK, un spécialiste de la cybersécurité, la racine de l'exploit se situe au niveau d’un point de terminaison OAuth de Google non documenté appelé « MultiLogin ». En l’utilisant, les attaquants sont capables de renouveler les cookies d'authentification expirés et obtenir un accès non autorisé aux services Google actifs d'un utilisateur. Les experts ont découvert ce modus operandi en décortiquant le malware Lumma, un programme volant des identifiants (ou infostealer). Ils ont constaté que l’exploit était aussi présent chez d’autres infostealer : par Rhadamanthys, Risepro, Meduza et Stealc Stealer, et White Snake

La découverte d’un endpoint Multilogin OAuth non documenté

En analysant la base de code de Chromium, CloudSEK a identifié le point de terminaison MultiLogin utilisé comme mécanisme interne qui sert à synchroniser les comptes Google à travers les services. « Ce point d'accès fonctionne en acceptant un vecteur d'identifiants de compte et de jetons d'authentification, des données essentielles pour gérer des sessions simultanées ou passer d'un profil d'utilisateur à un autre de manière transparente », a expliqué la société. « Si la fonction MultiLogin joue un rôle essentiel dans l'authentification des utilisateurs, elle constitue également un moyen d'exploitation si elle est mal gérée, comme en témoignent les récents développements de malware », ajoute-t-elle.

Pour confirmer qu'un serveur MultiLogin a été utilisé pour régénérer les cookies de session dans l'exploit, CloudSEK a, après une discussion avec Prisma, effectué une rétro-ingénierie de l'exécutable de l'exploit fourni par le cybercriminel. L’analyse a révélé le point de terminaison MultiLogin spécifique et non documenté utilisé dans l'exploit.

La réinitialisation des mots de passe insuffisante

L'exploit n'est possible qu'après un premier piratage du système de l'utilisateur pour récupérer des jetons de session valides. Un malware infecte d'abord l'ordinateur d'une victime, souvent à partir de spams ou de téléchargements non fiables. Une fois le système compromis, le malware recherche les cookies de session du navigateur web et d'autres données exploitables pour obtenir un accès non autorisé à des comptes. Les tokens de session volés sont envoyés aux attaquuants, ce qui leur permet d'infiltrer les comptes compromis et d'en prendre le contrôle.

Et même si les utilisateurs détectent la faille et modifient leur mot de passe Google, les jetons volés peuvent toujours être utilisés pour se connecter. Le malware extrait et décrypte les identifiants de compte et les jetons d'authentification des comptes Google actifs en examinant le tableau token_service dans les données Web de Chrome, qu'il utilise avec MultiLogin pour régénérer en permanence les informations de session. Pour atténuer ce risque, il est conseillé aux utilisateurs de se déconnecter complètement, ce qui rendra les jetons de session invalides et empêchera toute exploitation ultérieure.

L’exploit de Lumma, dissimulé par un chiffrement du jeton

Afin de cacher son mécanisme d'exploitation, Lumma a chiffré le jeton d'accès extrait de la table token_service : GAIA ID, un composant essentiel du processus d'authentification de Google. « Quand cette paire est utilisée en conjonction avec le endpoint MultiLogin, elle permet la régénération des cookies de service de Google », a déclaré CloudSEK. « L'innovation stratégique de Lumma réside dans le chiffrement de cette paire token:GAIA ID avec ses propres clés privées. Le chiffrement a été utilisé comme un mécanisme de « boîte noire » qui a permis à Lumma de masquer efficacement son mécanisme principal à d'autres entités malveillantes pour les empêcher de le reproduire ».

Cependant, pour contrer la restriction de Google sur la régénération des cookies basée sur l'adresse IP, Lumma a utilisé des proxies SOCKS à partir de novembre 2023. Or ceux-ci ont révélé certains détails sur les demandes et les réponses, ce qui a compromis la dissimulation.