shareit

SHAREit : des failles mettaient vos fichiers en danger

Des chercheurs en sécurité ont découvert deux vulnérabilités dans l’application Android « SHAREit » qui permettaient de contourner le mécanisme d’authentification de l’appareil et de subtiliser des fichiers contenant des informations sensibles.

Avec plus de 1,5 milliard d’utilisateurs dans le monde, SHAREit est une application de partage de fichiers très populaire qui fonctionne sur Android, iOS, Windows et Mac.

L’application Android seule compte 500 millions d’utilisateurs et c’est celle-ci qui était vulnérable. La première faille est un contournement d’authentification et la deuxième faille est un téléchargement de fichier arbitraire, selon l’article des chercheurs de RedForce.

Ces vulnérabilités ont été découvertes il y’a plus d’un an en Décembre 2017 et ont été réparé en Mars 2018, mais les chercheurs avaient décidé de ne pas divulguer de détails car c’est une vulnérabilité qui affecte un nombre important d’utilisateurs. »

« Nous voulions donné une chance aux gens pour qu’ils puissent mettre à jour et patcher leurs appareils avant la divulgation d’une vulnérabilité critique, » a déclaré Abdulrahman Nour, un ingénieur en sécurité de RedForce.

Comment SHAREit transfère des fichiers?

Les serveurs SHAREit hébergent plusieurs services via différents ports sur un appareil mais les chercheurs ont analysé deux services: Command Channel (s’exécute sur le Port 55283) et Download Channel (s’exécute sur le Port 2999).

Command Channel est un canal TCP ordinaire ou les application échangent des messages avec d’autres instances de SHAREit qui s’exécutent sur d’autres appareils en utilisant des connexions raw socket

Download Channel est l’implémentation de serveur HTTP de SHAREit qui est utilisé principalement par d’autres clients pour télécharger des fichiers partagés.

Selon les chercheurs, quand vous utilisez l’application SHAREit d’Android pour envoyer un fichier sur un autre appareil, une session ordinaire de transfert de fichier commence avec l’identification d’un appareil, ensuite l’envoyeur envoie un message de contrôle vers le destinataire, indiquant que vous avez un fichier à partager.

Une fois que le ‘destinataire’ vérifie que le fichier n’est pas dupliqué, le processus passe à Download Channel et récupère le fichier envoyé en utilisant les informations du précédent message de contrôle.

Les Hackers peuvent accéder à vos fichiers

Cependant, les chercheurs ont découvert que quand un utilisateur sans session valide essaye d’obtenir une page non existante, l’application répond avec un code de statut 200 au lieu d’envoyer une page 404. SHAREit ajoute aussi cet utilisateur dans la liste des appareils connus et cela cause le problème d’authentification d’un utilisateur non-autorisé.

Selon les chercheurs, un proof of concept de cette vulnérabilité serait aussi facile qu’un curl http://shareit_sender_ip:2999/DontExist.

Les chercheurs ont aussi découvert que quand une requête de téléchargement est initié, le client SHAREit envoie une requête GET vers le serveur HTTP de l’envoyeur. L’URL ressemble donc à:

http://shareit_sender_ip:2999/download?metadatatype=photo&metadataid=1337&filetype=thumbnail&msgid=c60088c13d6

Comme l’application SHAREit échoue dans la validation du paramètre ‘msgid’ —un identifiant unique est généré pour chaque requête quand l’envoyeur lance un téléchargement—cela permet à un client malveillant ayant une session valide de télécharger des ressources en référençant directement son identifiant.

Les vulnérabilités pourraient être exploiter par un individu mal intentionné sur un réseau WIFI partagé. Malheureusement les versions vulnérables de SHAREit crée un réseau Wi-Fi ouvert dont le trafic peut être intercepté (car il utilise HTTP) mais aussi pour exploiter les vulnérabilités découvertes et obtenir un accès non-restreint à la mémoire de stockage de l’appareil.

L’exploitation requiert simplement l’envoi d’une commande curl référençant le chemin du fichier cible, il faut donc connaitre l’emplacement exact du fichier que l’on veut obtenir.

Les chercheurs ont donc testé sur des fichiers aux chemins connus et qui sont déjà publiquement disponible, comme SHAREit History et SHAREit MediaStore Database.

« Il y’a d’autres fichiers qui contiennent des informations juteuses tel que le token d’utilisateur Facebook, la clé Amazon Web Service, les données auto-remplies, les cookies des sites visités en utilisant SHAREit webview et même le hotspot de l’utilisateur en texte clair (l’application le stocke pour faire un reset des paramètres hotpspot) etc… » ont expliqué les chercheurs.

En utilisant leur exploit proof-of-concept nommé DUMPit!, les chercheurs ont réussi à télécharger près de 3000 fichiers uniques qui faisaient en tout 2Go en moins de 8 minutes.

Ils ont contacté l’équipe SHAREit plusieurs fois et sur plusieurs plateformes au début du mois de Janvier 2018 mais n’ont pas eu de réponse avant le début du mois de Février quand ils ont menacé de rendre les détails de la vulnérabilité publique après 30 jours.

Les développeurs de SHAREit ont secrètement patché les vulnérabilités en Mars 2018. Ils n’ont pas partagé de versions patchés avec les chercheurs, n’ont pas donné d’identifiants CVE aux vulnérabilités et n’ont fait aucun commentaire concernant la divulgation publique.

« La communication avec l’équipe SHAREit n’était pas du tout une bonne expérience; Ils ont pris trop de temps pour répondre à nos messages, ils n’ont pas été coopératif et nous n’avons pas senti que notre travail avait été apprécié, » ont déclaré les chercheurs.

Après avoir donné assez de temps aux utilisateurs pour mettre à jour leur application SHAREit, les chercheurs ont partagé les détails techniques des vulnérabilités, ainsi que l’exploit PoC, DUMBit!, qui peut être téléchargé sur GitHub.

Les versions 4.0.38 et antérieures sont affectées par ces vulnérabilités. Si vous ne l’avez pas encore fait vous devez mettre à jour votre application en utilisant le Google Play Store le plus tôt possible.

Laisser un commentaire