codes malveillants

Détection d’un Trojan dissimulé dans le Store de téléchargement d’applications Android, APKPure

Il est recommande aux propriétaires d’appareils Android, ayant déjà installé l’application APKPure de la supprimer temporairement pour se débarrasser du Trojan.

Le 12 avril 2021 – Les analystes ont détecté une fonctionnalité malveillante dans l’application client officielle du catalogue Android APKPure. Un Trojan embarqué dans le logiciel client télécharge et installe d’autres applications sans autorisation des utilisateurs, y compris des applications malveillantes.

APKPure est l’un des catalogues les plus anciens et les plus populaires de jeux et d’applications pour la plateforme Android, alternative au store officiel Google Play.

L’analyse effectuée par les experts a montré que le cheval de Troie est apparu dans le client APKPure en version 3.17.18 qui est la version en cours et qui est disponible sur le site officiel d’APKPure au moment de la publication de cette alerte. L’application possède une signature numérique valide des propriétaires du catalogue. Cela peut indiquer que le cheval de Troie a été inséré intentionnellement par des personnes non identifiées ou bien qu’il y a eu piratage et que les pirates ont eu accès aux ressources internes des développeurs de la boutique d’applications. La piste du piratage semble la plus probable, étayée par le fait qu’un cas similaire a été enregistré par le fabricant allemand d’équipements de télécommunications Gigaset. Selon Gigaset, les pirates ont eu accès à l’un des serveurs de mises à jour de l’entreprise. Des Trojans liés à un code malveillant embarqué dans l’application APKPure se sont ensuite installés automatiquement sur certains modèles de Smartphones Gigaset.

Egalement APK pure a sorti la version 3.17.19 qui corrige le problème.

Les premières données sur la version malveillante du client APKPure sont apparues le 25 mars 2021. Depuis ce jour, le code du Trojan a connu quelques modifications, mais sa fonctionnalité principale reste la même. La modification actuelle du programme malveillant est détectée comme Android.Triada.4912.

Ce Trojan appartient à la famille Android.Triada – applications malveillantes dangereuses qui téléchargent, installent et suppriment des logiciels sans la permission des utilisateurs. Dans ce cas, le Trojan joue le rôle de la première étape de la contamination. Son code comporte, sous forme chiffrée, l’autre représentant de la famille malveillante  Android.Triada.566.origin, qui est capable d’effectuer les principales actions malveillantes. Une fois déchiffré et lancé, ce composant se met à télécharger différents sites web dans le navigateur installé par défaut. Il s’agit de sites avec du contenu publicitaire mais également de sites de phishing. De plus, il télécharge et exécute d’autres modules et différentes applications. Ainsi, les attaquants exploitant ces Trojans gagnent de l’argent sur le nombre d’installations et sur la publicité.

Il est recommandé aux propriétaires d’appareils Android, qui ont déjà installé l’application APKPure  de la supprimer temporairement afin de se débarrasser du Trojan. De plus, il faut utiliser avec prudence les autres catalogues d’applications Android.

Au sujet de l'auteur
Damien Bancal - Fondateur de ZATAZ.COM / DataSecurityBreach.fr Travaille sur les sujets High-tech/Cybercriminalité/Cybersécurité depuis 1989. Gendarme commandant réserviste Cyberdéfense Hauts-de-France. Ce blog est personnel. En savoir plus : https://www.damienbancal.fr

Articles connexes

  1. Ninjaw P.B. Reply

    c’est beaucoup trop court et pas du tout etudié. Vous nous decrivez la detection d’un trojan qui installe des apps, dans une app qui installe des apps…. sans citer vos sources, sans reflexion et sans questionner l’équipe. Ca sent le faux positif à plein nez, comme on peux en voir tellement.

    • Damien Bancal Reply

      Bonjour,
      Nous avons envoyé votre commentaire à l’éditeur DrWeb qui vous apportera son éclairage supplémentaire, il est la source, comme l’url vous l’indique, de cette recherche.
      Cordialement

  2. dark Reply

    Anon avec Android… mvoui…

    Il se trouve que j’ai bien gratté Android, à un niveau assez profond, jusqu’à compiler moi-même mes roms, que je gratte encore et que je connais comment fonctionnent les Samsung, appareil que tu as ou que tu avais.

    Tu as posté des photos de ta bite avec des exif. Il n’y avait pas les données de géolocalisation, il y avait tout de même les identifiants uniques de ton appareil. Tu l’as peut-être acheté en anon et tu utilises une sim anon, il n’empêche que toutes tes activités sont triangulées par les bornes téléphoniques sur lesquelles tu es obligé de te connecter. On ne sait pas qui tu es, on sait où tu es.

    Outre le fait qu’Android est une backdoor et un keylogger potentiel, les Samsung sont conçus pour être des backdoors et des keyloggers. Pour simplifier les explications, il y a un pré-système chargé avant Android, qui permet de lancer les daemons ADB et Fastboot sans avoir besoin de la présence d’une rom. C’est grâce à cela qu’on peut rooted un appareil en modifiant le contenu de la partition recovery. Une fois root, avec adb, on peut faire ‘$ adb shell’ (‘su’) puis ‘mount’ pour constater le nombre élevé de partitions, dont certaines sont en lecture seule, même pour root. Ces partitions contiennent les drivers essentiels du système qui permettent l’utilisation des différentes puces de l’appareil, tout cela est pré-compilé, closed-source et n’est pas modifiable par l’utilisateur final. Ces partitions contiennent également les identifiants uniques de l’appareil et selon les constructeur, le IMEI peut y être stocké.

    Être rooted et installer une rom ne permet que de remplacer le contenu de la partition system. Il est intéressant de noter que le blob de la composante téléphonie et intrinsèquement liée à la géolocalisation, la puce « gsm » est la même, ou utilise le même driver global que la puce « gps ». On ne peut pas supprimer l’un sans supprimer l’autre. On peut donc penser que la géolocalisation est désactivée du point de vue utilisateur, il n’en est rien du point de vue système. Sur les Samsung on peut utiliser Heimdall (ou Odin pour Windows) pour accéder au mode Fastboot et potentiellement modifier en profondeur le pré-système, hélas les composantes essentielles sont protégées en écriture par un système d’authentification de type 2FA PGP. Sans posséder la clef privée, on ne peut pas faire de ‘fastboot oem unlock’ ou ‘fastboot flash unlock’ et même sur les appareils où on le peut, ça ne donne toujours pas accès au coeur du système, certaines partitions demeurent innaccessibles ou en lecture seule.

    Il y a très peu ou pas de documentation libre sur les puces utilisées. Ce n’est pas parce qu’Android est… avec un gros raclement de gorge, open source, que le coeur de l’appareil est open source. C’est un peu comme un super EFI. Un PC ne peut être considéré sûr et libre qu’une fois le BIOS/EFI remplacé par quelque chose comme Coreboot et encore une fois, là encore, cela ne donne aucune certitude que le CPU lui-même ou les puces adjacentes comme le ME ne contiennent pas des backdoors ou des keyloggers.

    Ça fait beaucoup à lire, ce n’est certainement pas très clair, quoi qu’il en soit, que personne ne viennent me dire qu’il est anon avec Android, surtout quand c’est une rom d’orgine avec les GAPPS (Google Apps) d’installées…

    Il faut comprendre que les GAPPS sont profondément ancrées dans le système et ont accès à tout, à vraiment tout et que l’appareil soit rooted ou non, avec xposed ou non, les GAPPS ont toujours le dernier mot sur les autorisations. Des applications peuvent être installées à l’insu de l’utilisateur, qui n’apparaîtront nulle part, la géolocalisation peut être activée de façon invisible, il est possible d’intercepter tout ce qui est tapé sur le clavier virtuel. Pour cette raison je conseille de supprimer toutes les composantes (Latin)IME (il faut être root, car c’est dans /system/[app|priv-app|lib|framework] en lecture seule, ‘mount -o rw, remount /system’) et de remplacer par un clavier virtuel open source, genre Hacker’s Keyboard ou un paquet AOSP qu’on aura compilé soi-même.

    Des habitudes horaires de communications, des habitudes géographiques, le différentiel entre données descendantes ou ascendantes, rien que ça permet un profilage, sans connaître l’individu ou les données qu’il échange. Ce qui veut dire que tu peux changer régulièrement d’appareil et de sim, tu as un profil unique qu’il sera aisé de repérer.

    Je parle ici d’un cas théorique. En pratique, faire de tels profilages exige la collaboration à la fois de l’opérateur de téléphonie et du constructeur du téléphone. Les forces de police ne vont pas se faire chier pour doxer un mec qui montre sa bite sur le deep. Pour des activités terroristes ou des hauts faits criminels, comme la vente massive d’armes, de drogues ou de fausse-monnaies, ils n’hésiteront pas.

    Bref… l’anonymat à 100 % n’existe pas. La sécurité à 100 % n’existe pas. Tout ce qu’on peut faire c’est mettre tout en oeuvre pour tendre vers les 100 % sans jamais les atteindre. C’est un peu comme l’horizon qui se dérobe sous nos pas au fur et à mesure qu’on avance vers lui.

    Et merde pour les fautes d’orthographe… J’arrête d’éditer. Tout cela n’a aucune importance, ce n’est pas comme si les écrits restaient et qu’ils servaient à quelque chose…

    C’est obligatoire d’avoir une rom custom, si bien sûr on n’installe pas les GAPPS dessus… Cependant ça ne règle pas le problème, notamment sur les Samsung. Quand tu installes ta rom custom, tu ne modifies que 3 partitions :
    – recovery (TWRP par exemple)
    – boot (ton kernel custom)
    – system (ta rom custom)
    Pourtant il existe tout un tas de partitions… Exemple sur un Samsung…
    Code

    aboot
    apdp
    apnhlos
    bluetooth
    boot
    bota
    cache
    cmnlib
    cmnlib64
    ddr
    devcfg
    devinfo
    dip
    dpo
    dsp
    efs
    fota
    frp
    fsc
    fsg
    hidden
    hyp
    keymaster
    keystore
    lksecapp
    mdtp
    misc
    modem
    modemst1
    modemst2
    msadp
    pad
    param
    persdata
    persist
    persistent
    pmic
    recovery
    reserved2
    rpm
    sec
    ssd
    steady
    system
    tz
    userdata
    xbl

    Certaines de ses partitions sont accessibles à l’utilisateur comme data, beaucoup sont totalement innaccessibles et contiennent des informations uniques sur l’appareil. Certaines sont plus ou moins accessibles et permettent de faire du spoofing, comme param, d’autres comme modem contiennent les blobs (drivers) qui vont faire fonctionner la téléphonie et sur lesquels on a aucune certitude, car c’est closed source.

    Les appareils Android sont un vrai bordel et d’une marque à l’autre les partitions peuvent changer. Par expérience les Samsung sont les plus sales et les plus verrouillés, alors que les Nexus (Google) sont finalement pas trop malhonnêtes…

    Ce n’est pas parce que la rom et le kernel sont open source (vérifié par la communauté, pas juste un slogan) que les blobs qui font fonctionner les composants essentiels de l’appareil le sont.

    Les capacités de contrôle à distance ou de désactivation à distance ne sont pas documenté. J’en ai fait l’expérience avec un téléphone que j’avais spoofé, après seulement quelques jours d’utilisation il a été banni de tous les réseaux et le spoofer à nouveau n’a rien fait, il est identifié je ne sais pas comment et définitivement grillé.

Répondre à Ninjaw P.B. Annuler la réponse

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.