Les cybercriminels utilisent de plus en plus des fichiers polyglottes dans la distribution de logiciels malveillants pour échapper à la détection. Les chevaux de Troie à distance, tels que StrRAT et Ratty, sont distribués sous forme de combinaisons de fichiers polyglottes et d’archives Java malveillantes (JAR). Cela montre à nouveau comment les acteurs de la menace trouvent constamment de nouvelles méthodes pour échapper à la détection.
Les fichiers polyglottes, qu’est-ce que c’est ?
Les fichiers polyglottes sont des fichiers qui combinent la syntaxe de deux formats ou plus de manière à ce que chaque format puisse être analysé sans lever d’erreur. En d’autres termes, un fichier polyglotte est un fichier qui peut être interprété comme plusieurs types de fichiers différents, comme par exemple un fichier JAR (Java Archive) qui peut aussi être interprété comme un fichier MSI (Microsoft Installer) ou un fichier CAB (Cabinet).
Cette technique est utilisée par les cybercriminels pour tromper les solutions de sécurité qui ne valident pas correctement le format de fichier JAR. En effet, l’absence de validation adéquate des fichiers JAR entraîne une situation où le contenu malveillant ajouté peut contourner les logiciels de sécurité et rester indétectable jusqu’à ce qu’ils soient exécutés sur les hôtes compromis.
Exemples de campagnes de malware utilisant des fichiers polyglottes
- Une campagne 2022 repérée par une entreprise de cybersécurité utilise les formats JAR et MSI pour déployer la charge utile StrRAT. Cela signifie également que le fichier peut être exécuté à la fois sous Windows et Java Runtime Environment (JRE) en fonction de la façon dont il est interprété.
- Un autre exemple implique l’utilisation de fichiers polyglottes CAB et JAR pour livrer à la fois Ratty et StrRAT. Les artefacts sont propagés à l’aide de services de raccourcissement d’URL tels que cutt.ly et rebrand.ly, certains d’entre eux étant hébergés sur Discord.
Il est important de noter que ce n’est pas la première fois que de tels fichiers polyglottes malveillants sont détectés dans la nature. En novembre 2022, la DCSO CyTec basée à Berlin a découvert un vol d’informations appelé StrelaStealer qui se propage sous forme de polyglottes DLL/HTML.
Comment détecter les fichiers polyglottes malveillants ?
Il est important de noter que la détection de fichiers polyglottes malveillants est plus difficile que celle des fichiers classiques. Selon Simon Kenin, chercheur en sécurité chez Deep Instinct, “la détection appropriée pour les fichiers JAR devrait être à la fois statique et dynamique. Il est inefficace de numériser chaque fichier pour la présence d’un enregistrement de répertoire central de fin à la fin du fichier.”
Voici quelques conseils pour détecter les fichiers polyglottes malveillants :
- Monitorer les processus “java” et “javaw”. Si un tel processus a “-jar” comme argument, le nom de fichier passé en argument devrait être traité comme un fichier JAR, indépendamment de l’extension de fichier ou de la sortie de la commande Linux “file”.
- Utiliser des solutions de sécurité qui valident correctement le format de fichier JAR.
- Utiliser des outils de désassemblage pour analyser le code des fichiers suspects.
- Utiliser des outils de sandboxing pour exécuter les fichiers suspects dans un environnement sécurisé et surveiller leur comportement.
Il est important de noter que les fichiers polyglottes malveillants peuvent échapper à la détection des solutions de sécurité traditionnelles, il est donc important de rester vigilant et de mettre à jour régulièrement les outils de sécurité utilisés pour protéger les systèmes contre les menaces en ligne.