Un malware piloté par émojis

DISGOMOJI malware émojis

Des campagnes cybercriminelles tirent parti d’un projet open source qui permet d’utiliser Discord en tant que C2… en communiquant par émojis.

Utiliser Discord en tant que serveur de commande et de contrôle ? Il y a un projet open source pour ça : Discord-C2.

BlackBerry l’avait mentionné il y a quelques semaines dans le cadre d’un focus sur les activités d’APT36, alias Transparent Tribe. Un groupe cybercriminel dit lié au Pakistan. Ses cibles : des organisations des secteurs gouvernemental, aérospatial et de la défense en Inde.

L’un des outils sur lesquels APT36 s’appuie prend la forme d’une archive zip contenant un ELF (exécutable Linux/Unix). Celui-ci télécharge et affiche un PDF d’apparence anodine… mais récupère aussi, en arrière-plan, un autre ELF. En l’occurrence, un fork de Discord-C2.

Transparent Tribe
© BlackBerry

Une dizaine d’émojis pour vocabulaire

Discord-C2 a la particularité d’utiliser des émojis pour transmettre des commandes. L’éditeur américain Volexity, qui s’est penché sur son cas, en donne une liste :

🏃‍♂️ = exécution d’une commande sur la machine infectée (commande renseignée en argument)
📸 = capture d’écran et upload vers le canal Discord du malware
👇 = récupération de fichiers sur la machine infectée (chemin renseigné en argument)
☝ = envoi de fichiers vers la machine infectée
👉 = récupération de fichiers sur la machine infectée et envoi vers le service de stockage en ligne Oshi
👈 = idem, mais envoi vers transfer.sh
🔥 = récupération de tous les fichiers correspondant à une liste prédéfinie d’une quinzaine d’extensions
🦊 = création d’une archive zip avec tous les profils Firefox sur la machine infectée
💀 = arrêter l’exécution du malware avec os.Exit()

Discord-C2 étant écrit en Go, Volexity a appelé DISGOMOJI la variante qu’il a examinée. Lui aussi la dit exploitée par un acteur basé au Pakistan, contre des agences gouvernementales indiennes*. Celles-ci utilisent une Linux spécifique, appelée BOSS. D’où la cible de compilation du malware.

Persistance, exécutions parallèles… Un malware qui s’est sophistiqué

Une fois récupéré, DISGOMOJI est placé dans un sous-dossier caché au sein de /home. En fonction des échantillons, l’ID du serveur Discord et le jeton d’authentification sont codés en dur ou récupérés à la volée.
Chaque instance du malware se dédie un canal. La persistance est assurée en ajoutant des entrées dans le crontab. Un autre script est téléchargé pour vérifier si des périphériques USB sont connectés. Auquel cas DISGOMOJI copie les fichiers qui s’y trouvent vers un dossier local.

Le malware utilise les émojis 🕐 et ✅, respectivement pour signifier qu’il traite une commande et qu’il a terminé le traitement.

Les échantillons les plus récents téléchargent à la fois un PDF et un JPEG. Ils exécutent des scripts supplémentaires. Dont un qui renforce la persistance en utilisant les entrées XDG autostart.

DISGOMOJI a évolué sur d’autres plans. On l’a par exemple doté de quoi éviter l’exécution parallèle de plusieurs instances. On a aussi ajouté des chaînes de caractères probablement destinées à faire apparaître le fichier comme plus légitime.

Dans certains cas, les attaquants tentent de persuader la victime d’entrée son mot de passe dans une boîte de dialogue apparentée à une mise à jour de Firefox. Celle-ci exploite l’utilitaire Zenity.

* Entre autres preuves, le fuseau horaire du Pakistan codé dans un échantillon et l’usage du pendjabi. Il y a aussi des liens d’infrastructure avec un groupe cybercriminel pakistanais.

Photo d’illustration ©