Des hackers ont diffusé des logiciels malveillants à des utilisateurs de Windows et de Mac en compromettant leur fournisseur d’accès Internet (FAI) et en manipulant les mises à jour logicielles livrées par des connexions non sécurisées, ont rapporté des chercheurs.
Selon des chercheurs de la société de sécurité Volexity, l’attaque a été menée en piratant des routeurs ou autres dispositifs d’infrastructure d’un FAI non identifié. Les attaquants ont ensuite utilisé leur contrôle sur ces dispositifs pour empoisonner les réponses du système de noms de domaine (DNS) pour des noms d’hôtes légitimes fournissant des mises à jour pour au moins six applications différentes écrites pour Windows ou macOS. Les applications affectées comprenaient 5KPlayer, Quick Heal, Rainmeter, Partition Wizard, ainsi que celles de Corel et Sogou.
Ce ne sont pas les serveurs de mise à jour que vous cherchez
Étant donné que les mécanismes de mise à jour n’utilisaient pas TLS ou des signatures cryptographiques pour authentifier les connexions ou les logiciels téléchargés, les acteurs malveillants ont pu exploiter leur contrôle de l’infrastructure du FAI pour effectuer avec succès des attaques de type homme du milieu (MitM) qui dirigeaient des utilisateurs ciblés vers des serveurs hostiles plutôt que ceux opérés par les fabricants de logiciels affectés. Ces redirections fonctionnaient même lorsque les utilisateurs utilisaient des services DNS publics non cryptés, tels que 8.8.8.8 de Google ou 1.1.1.1 de Cloudflare, au lieu du serveur DNS autoritaire fourni par le FAI.
« C’est la partie amusante/effrayante — ce n’était pas le piratage des serveurs DNS des FAI », a écrit Steven Adair, PDG de Volexity, dans une interview en ligne. « C’était une compromission de l’infrastructure réseau pour le trafic Internet. Les requêtes DNS, par exemple, étaient dirigées vers les serveurs DNS de Google, destinées à 8.8.8.8. Le trafic était intercepté pour répondre aux requêtes DNS avec l’adresse IP des serveurs des attaquants. »
Autrement dit, les réponses DNS retournées par n’importe quel serveur DNS seraient modifiées une fois arrivées à l’infrastructure du FAI piraté. La seule manière pour un utilisateur final de contrecarrer l’attaque aurait été d’utiliser DNS sur HTTPS ou DNS sur TLS pour s’assurer que les résultats de recherche n’aient pas été altérés ou d’éviter totalement l’utilisation d’applications qui livrent des mises à jour non signées via des connexions non chiffrées.
Volexity a fourni le schéma suivant illustrant le déroulement de l’attaque :
Par exemple, l’application 5KPlayer utilise une connexion HTTP non sécurisée plutôt qu’une connexion HTTPS chiffrée pour vérifier si une mise à jour est disponible, et le cas échéant, pour télécharger un fichier de configuration nommé Youtube.config. StormBamboo, le nom utilisé dans l’industrie pour suivre le groupe de hackers responsable, a utilisé l’empoisonnement DNS pour livrer une version malveillante du fichier Youtube.config d’un serveur malveillant. Ce fichier a ensuite téléchargé une charge utile de seconde étape déguisée en image PNG. En réalité, il s’agissait d’un fichier exécutable qui installait un logiciel malveillant connu sous les noms MACMA pour les appareils macOS ou POCOSTICK pour les appareils Windows.
MACMA a été signalé pour la première fois dans un article de 2021 publié par le groupe d’analyse des menaces de Google, une équipe qui suit les logiciels malveillants et les cyberattaques soutenues par des États. La porte dérobée était conçue pour les dispositifs macOS et iOS et offrait une suite complète de fonctionnalités, y compris l’identification de l’appareil, la capture d’écran, le téléchargement et le téléchargement de fichiers, l’exécution de commandes terminal, l’enregistrement audio et le keylogging.
Quant à POCOSTICK, il est utilisé depuis au moins 2014. L’année dernière, la société de sécurité ESET a déclaré que le logiciel malveillant, qu’elle a suivi sous le nom de MGBot, était utilisé exclusivement par un groupe de menaces de langue chinoise suivi sous le nom d’Evasive Panda.
Les chercheurs d’ESET ont déterminé que le logiciel malveillant avait été installé via des mises à jour légitimes de logiciels bénins, mais ils n’étaient pas sûrs de la façon dont cela s’était produit. Une possibilité, disaient les chercheurs à l’époque, était par le biais d’une attaque de chaîne d’approvisionnement qui avait remplacé les mises à jour légitimes par des mises à jour malveillantes dès leur source. L’autre scénario possible était une attaque MitM sur les serveurs livrant les mises à jour. Les découvertes de Volexity confirment désormais que cette dernière explication est la bonne.
Dans au moins un cas lors des attaques récentes, StormBamboo a forcé un appareil macOS à installer un plugin de navigateur que Volexity suit sous le nom de RELOADEXT. L’extension se fait passer pour une qui rend les pages web compatibles avec Internet Explorer. En réalité, Volexity a déclaré qu’elle copie les cookies du navigateur et les envoie à un compte Google Drive contrôlé par les attaquants. Les données étaient codées en base64 et chiffrées à l’aide de l’Advanced Encryption Standard. Malgré le soin apporté par les hackers, ils ont néanmoins exposé le client_id, le client_secret et le refresh_token dans l’extension malveillante.
Une autre technique observée par Volexity était l’utilisation par StormBamboo de l’empoisonnement DNS pour détourner www.msftconnecttest.com, un domaine utilisé par Microsoft pour déterminer si les appareils Windows sont activement connectés à Internet. En remplaçant la résolution DNS légitime par une adresse IP pointant vers un site malveillant opéré par les acteurs de la menace, ils pouvaient intercepter les requêtes HTTP destinées à n’importe quel hôte.
Adair a refusé d’identifier le FAI piraté, se contentant de dire qu’il n’est « pas très important ou pas un que vous pourriez connaître. »
« Dans notre cas, l’incident est contenu, mais nous voyons d’autres serveurs qui servent activement des mises à jour malveillantes sans savoir d’où elles proviennent, » a-t-il déclaré. « Nous suspectons qu’il y a d’autres attaques actives à travers le monde sur lesquelles nous n’avons pas de visibilité. Cela pourrait provenir d’une compromission de FAI ou d’une compromission localisée d’une organisation, par exemple à travers leur pare-feu. »
Comme mentionné plus haut, il existe de nombreuses options pour prévenir ces types d’attaques : (1) éviter tout logiciel qui se met à jour de manière non sécurisée ou (2) utiliser le DNS sur HTTPS ou le DNS sur TLS. La première méthode est probablement la meilleure, même si cela signifie potentiellement devoir cesser d’utiliser une application préférée dans certains cas. Les configurations DNS alternatives sont viables, mais pour le moment, elles ne sont offertes que par quelques fournisseurs DNS, avec 8.8.8.8 et 1.1.1.1 étant les plus connus.