4 points par GN⁺ 2024-06-27 | Aucun commentaire pour le moment. | Partager sur WhatsApp

TL;DR

  • La version 10.4.3 de KakaoTalk présente un problème de validation des liens profonds qui permet à un attaquant distant d’exécuter du JavaScript arbitraire dans une WebView et d’exfiltrer le jeton d’accès dans les en-têtes de requêtes HTTP.
  • Ce jeton peut ensuite être utilisé pour compromettre le compte d’un autre utilisateur, l’enregistrer sur un appareil contrôlé par l’attaquant et lire ses messages.
  • Ce bug a reçu l’identifiant CVE-2023-51219.

Contexte

  • KakaoTalk est l’application de chat la plus populaire de Corée, avec plus de 100 millions de téléchargements.
  • KakaoTalk n’utilise pas le chiffrement de bout en bout (E2EE) par défaut.
  • Il existe une fonctionnalité E2EE optionnelle appelée "Secure Chat", mais elle ne prend pas en charge la messagerie de groupe ni les appels vocaux.

Point d’entrée : CommerceBuyActivity

  • La WebView de CommerceBuyActivity constitue un point d’entrée clé auquel un attaquant peut s’intéresser.
    • Elle peut être lancée via un lien profond (adb shell am start kakaotalk://buy)
    • JavaScript y est activé (settings.setJavaScriptEnabled(true);)
    • Le schéma intent:// est pris en charge, ce qui permet de transmettre des données à d’autres composants privés de l’application.
    • La validation insuffisante des URI intent:// permet potentiellement d’accéder à n’importe quel composant de l’application.
    • Le jeton d’accès fuit dans l’en-tête HTTP Authorization.

DOM XSS via redirection d’URL

Compromission d’un compte Kakao Mail via un lien profond

  • Un lien profond malveillant peut envoyer le jeton d’accès de l’utilisateur vers un serveur contrôlé par l’attaquant.
  • Ce jeton permet soit de compromettre le compte Kakao Mail de la victime, soit de créer un nouveau compte mail pour écraser l’adresse e-mail existante.

Réinitialisation du mot de passe KakaoTalk avec Burp

  • Une fois l’accès obtenu au compte Kakao Mail de la victime, il est possible de lancer une réinitialisation du mot de passe.
  • Pour contourner l’authentification à deux facteurs (2FA), Burp est utilisé afin d’intercepter et de modifier les requêtes.

PoC

  • L’attaquant prépare un lien profond malveillant qui, une fois cliqué par la victime, exfiltre le jeton d’accès.
  • Le jeton d’accès exfiltré est ensuite utilisé pour réinitialiser le mot de passe de la victime et enregistrer l’appareil de l’attaquant sur le compte KakaoTalk de celle-ci.

Enseignements à retenir

  • Il existe encore des applications de chat populaires dont les messages peuvent être compromis via une chaîne d’attaque relativement simple.
  • Si les développeurs d’applications commettent quelques erreurs élémentaires, le modèle de sécurité robuste d’Android et le chiffrement des messages ne suffisent plus.
  • Les applications de chat asiatiques restent sous-étudiées par la communauté de la recherche en sécurité.

L’avis de GN⁺

  1. Gravité de la faille de sécurité : la vulnérabilité découverte dans une application aussi grand public que KakaoTalk rappelle une fois de plus l’importance de la protection des données des utilisateurs.
  2. Responsabilité des développeurs : les développeurs d’applications doivent appliquer des validations de sécurité rigoureuses, en particulier pour les fonctionnalités liées à des données sensibles.
  3. Sensibilisation des utilisateurs : les utilisateurs doivent aussi éviter de cliquer sur des liens suspects et renforcer leur hygiène de sécurité, notamment en activant l’authentification à deux facteurs.
  4. Nécessité de la recherche en sécurité : la recherche en sécurité sur les applications de chat asiatiques doit être plus active afin d’identifier et de corriger davantage de vulnérabilités en amont.
  5. Proposer des alternatives : au-delà de KakaoTalk, il peut être utile d’envisager des applications de messagerie axées sur la sécurité comme Signal ou Telegram.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.