Introduction : qu'est-ce que Pokemon GO et comment est-il infecté par Droidjack ?
Pokemon GO est le premier jeu Pokemon lancé par Nintendo sur les appareils iOS et Android. Le jeu de réalité augmentée est sorti pour la première fois en Australie et en Nouvelle-Zélande le 4 juillet et les utilisateurs d'autres régions ont rapidement réclamé des versions compatibles avec leurs appareils. Il est sorti le 6 juillet aux Etats-Unis, mais le reste du monde a été tenté de trouver une copie en dehors des circuits légitimes. Pour cela, un certain nombre de médias ont fourni des tutoriels pour "charger latéralement" (sideload) l'application sur Android. Cependant, comme pour toutes les applications installées en dehors des boutiques d'applications officielles, certains utilisateurs ont eu une mauvaise surprise.
Dans ce cas, les chercheurs de Proofpoint ont découvert une version Android infectée du jeu mobile Pokemon GO[1] récemment sorti. Cet APK Pokémon Go spécifique a été modifié pour inclure l'outil d'accès à distance malveillant (RAT) appelé DroidJack (également connu sous le nom de SandroRAT), qui donnerait à un attaquant un contrôle quasi total sur le téléphone de la victime. Le DroidJack RAT a d'ores et déjà été signalé dans le passé, notamment par Symantec[2] et Kaspersky[3]. Bien que nous n'ayons pas observé cet APK malveillant dans la nature, il a été téléchargé vers un service de dépôt de fichiers malveillants à 09:19:27 UTC le 7 juillet 2016, moins de 72 heures après sa sortie officielle en Nouvelle-Zélande et en Australie.
Probablement parce que le jeu n'avait pas été officiellement lancé dans le monde entier au même moment, de nombreux joueurs souhaitant accéder au jeu avant qu'il ne soit lancé dans leur région ont eu recours au téléchargement de l'APK tiers. De plus, de nombreux grands médias ont fourni des instructions sur la façon de télécharger le jeu à partir d'une tierce partie[4,5,6]. Certains sont même allés plus loin et ont expliqué comment installer l'APK téléchargé d'une tierce partie[7] :
"Pour installer un APK directement, vous devez d'abord indiquer à votre appareil Android d'accepter les applications non autorisées. Ceci peut généralement être fait en allant dans Paramètres, en cliquant sur Sécurité, puis en activant la case à cocher "Sources inconnues".
Malheureusement, il s'agit d'une pratique extrêmement risquée qui peut facilement conduire les utilisateurs à installer des applications malveillantes sur leurs propres appareils mobiles... Si une personne télécharge un APK d'un tiers qui a été infecté par un backdoor, comme celle que nous avons découverte, son appareil serait alors compromis.
Comment savoir si son appareil est infecté par l'apk Droidjack Android ?
Les personnes qui s'inquiètent de savoir si elles ont téléchargé ou non un APK malveillant disposent de quelques options pour les aider à déterminer si elles sont maintenant infectées. Tout d'abord, ils peuvent vérifier le hachage SHA256 de l'APK téléchargé. L'application légitime qui a souvent été liée par les médias a un hash de 8bf2b0865bef06906cd85444492dece202482c04ce9c5e881e02d2b623566661ab67, mais il est possible qu'il existe déjà des versions à jour. L'APK malveillant que nous avons analysé a un hachage SHA256 de 15db22fd7d961f4d4d4bd96052024d353b3ff4ff4bd135835d2644d94d94d74c925af3c4.
Une autre méthode simple pour vérifier si un périphérique est infecté serait de vérifier les permissions de l'application installée, qui peuvent généralement être accessibles en allant d'abord dans Paramètres -> Applications -> Pokemon GO puis en faisant défiler vers le bas dans la section PERMISSIONS. La figure 1 présente une liste des permissions accordées à l'application légitime. Ces autorisations sont susceptibles d'être modifiées en fonction de la configuration de l'appareil ; par exemple, les autorisations "Google Play billing service" et "recevoir des données d'Internet" ne sont pas affichées dans l'image mais ont été accordées sur un autre appareil lors du téléchargement de Pokemon GO depuis Google Play Store. Dans les figures 2 et 3, les permissions indiquées ont été ajoutées par DroidJack Android. Voir ces permissions accordées à l'application Pokemon GO pourrait indiquer que le périphérique est infecté, bien que ces permissions soient également sujettes à changement dans le futur.
Figure 1 : Autorisations accordées par l'APK Pokemon GO officielle
Figure 2 : Autorisations accordées par l'APK Pokemon GO en arrière-plan (première capture d'écran)
Figure 3 : Autorisations accordées par l'APK Pokemon GO avec backdoor (deuxième capture d'écran)
L'APK Pokemon GO infecté par Droidjack a été modifié de telle manière que, lorsqu'il est lancé, la victime ne remarquera probablement pas qu'elle a installé une application malveillante. La Figure 4 montre l'écran de démarrage du jeu Pokemon GO infecté, qui est identique à celui du jeu légitime.
Figure 4 : Ecran de démarrage de Pokemon GO infecté, identique à celui de l'application légitime
Après avoir inspecté le jeu infecté plus en détail, par rapport au jeu légitime, trois classes se distinguent qui ont été ajoutées par l'attaquant. La figure 5 montre les classes du jeu légitime tandis que la figure 6 montre les classes du jeu infecté, y compris les classes ajoutées suivantes :
a
b
net.droidjack.server
De plus, ce DroidJack RAT a été configuré pour communiquer avec le domaine de commande et de contrôle (C&C) pokemon[.]no-ip[..]org sur les ports TCP et UDP 1337 (Fig. 7). No-ip.org est un service utilisé pour associer un nom de domaine à une adresse IP dynamique comme celle généralement attribuée aux utilisateurs particuliers ou aux petites entreprises (par opposition à une adresse IP dédiée), mais il est aussi fréquemment utilisé par les agents des menaces, avec d'autres services similaires comme DynDNS. Au moment de l'analyse, le domaine C&C a été résolu par une adresse IP en Turquie (88.233.178[.]130) qui n'acceptait pas les connexions de dispositifs infectés.
Figure 5 : Classes Pokemon GO légitimes
Figure 6 : Classes Pokemon GO infectées par Droidjack avec les classes malveillantes surlignées
Figure 7 : Domaine et port C&C codés en dur
Conclusion : comment se protéger des attaques de ce type ?
Il n'est jamais recommandé d'installer des applications à partir de sources tierces, en dehors des Appstores officiels. Les Appstores officiels et d'entreprise disposent de procédures et d'algorithmes pour vérifier la sécurité des applications mobiles, tandis que les applications tierces provenant d'autres sources, souvent douteuses, exposent les utilisateurs et leurs appareils mobiles à toute une série de logiciels malveillants. Comme dans le cas de l'APK Pokemon GO compromis que nous avons analysé, il est possible pour les attaquants de compromettre complètement un appareil mobile. Si cet appareil est intégré à un réseau d'entreprise, les ressources en réseau sont également menacées.
Même si cet APK n'a pas été observé dans la nature, il représente une preuve de concept importante, à savoir que les cybercriminels peuvent profiter de la popularité d'applications comme Pokemon GO pour piéger les utilisateurs et les inciter à installer des logiciels malveillants sur leurs appareils. En fin de compte, ce n'est pas parce que vous pouvez installer les derniers logiciels sur votre appareil que vous devriez le faire. Au lieu de cela, le téléchargement d'applications disponibles à partir d'appstores légitimes est le meilleur moyen d'éviter de compromettre votre appareil et les réseaux auxquels il accède.
Références
1.http://pokemongo.nianticlabs.com/en/
3.http://www.welivesecurity.com/2015/10/30/using-droidjack-Spy-Android-expect-Visit-police/
4.https://www.theguardian.com/Technology/2016/Jul/07/How-to-get-Pokemon-Go-UK
5.http://www.wired.co.uk/article/Pokemon-Go-out-now-Download-iOS-Android
7.http://arstechnica.com/Gaming/2016/07/Pokemon-Go-iOS-Android-Download/
Indicateurs de compromis (IOC)
|
Select ET Signatures that would fire on such traffic:
2821000 || ETPRO MOBILE_MALWARE Pokemon GO AndroidOS.DroidJack DNS Lookup
2821003 || ETPRO MOBILE_MALWARE AndroidOS.DroidJack UDP CnC Beacon