L'Amérique latine est souvent négligée lorsqu’on parle des menaces persistantes et de groupes ayant des objectifs politiques. On observe cependant un cas de cyberespionnage en cours contre des organisations très en vue qui ont réussi à rester sous le radar. Le groupe à l'origine de ces attaques a volé des gigaoctets de documents confidentiels, principalement à des organisations publiques vénézuéliennes. Elle est toujours très active au moment de la publication de cette publication, introduisant régulièrement des changements à ses programmes malveillants, à son infrastructure et à ses campagnes d’harponnage.

ESET a suivi une nouvelle version de Machete (l'ensemble d'outils Python du groupe) qui a été vue pour la première fois en avril 2018. Bien que la fonctionnalité principale de la porte dérobée reste la même que dans les versions précédentes, elle a été étendue avec de nouvelles fonctionnalités au cours de l'année.

Cibles

De la fin mars à la fin mai 2019, les chercheurs d'ESET ont observé qu'il y avait plus de 50 ordinateurs victimes qui communiquaient activement avec le serveur C&C. Cela équivaut à des gigaoctets de données téléchargées chaque semaine. Plus de 75 % des ordinateurs compromis appartenaient à diverses organisations gouvernementales vénézuéliennes, provenant notamment des forces militaires, des secteurs de l'éducation, de la police et des affaires étrangères. Les cibles s’étendent également à d'autres pays d'Amérique latine, l'armée équatorienne étant une autre organisation très ciblée par les logiciels malveillants Machete. La distribution de ces logiciels malveillants dans ces pays est illustrée à la Figure 1.

Figure 1. Répartition des victimes de Machete par pays en 2019

Les opérateurs du logiciels malveillants

Les opérateurs de Machete's utilisent des techniques de harponnage efficaces. Leur longue série d'attaques, axées sur les pays d'Amérique latine, leur a permis de recueillir des renseignements et d'affiner leurs tactiques au fil des ans. Ils connaissent leurs cibles, savent comment se fondre dans les communications régulières et savent quels documents sont les plus précieux à voler. Machete exfiltre non seulement les documents de suites bureautique courantes, mais également les types de fichiers spécialisés utilisés par les logiciels des systèmes d'information géographique (SIG). Le groupe s'intéresse aux fichiers qui décrivent les routes de navigation et le positionnement à l'aide de grilles militaires.

Le groupe Machete envoie des courriers électroniques très spécifiques directement à ses victimes, et ces messages changent d'une cible à l'autre. Ces emails contiennent soit un lien vers une archive auto-extractible compressée qui exécute le logiciel malveillant et ouvre un document qui sert de leurre, soit une pièce jointe.

La figure 2 est un fichier PDF typique, présenté à une victime potentielle lors d'une tentative de compromission. Pour tromper des cibles peu méfiantes, les opérateurs de Machete utilisent des documents réels qu'ils ont volés auparavant. La Figure 2 est un document officiel classifié qui est daté du 21 mai 2019, jour même où le fichier.zip correspondant a été envoyé pour la première fois aux cibles. ESET a vu plus de cas comme celui-ci où des documents volés datés d'un jour particulier ont été regroupés avec des logiciels malveillants et utilisés le même jour comme leurres pour compromettre de nouvelles victimes.

Figure 2. Leurre (fichier PDF) dans l'un des téléchargeurs Machete (flouté)

Les documents utilisés comme leurres sont envoyés et reçus légitimement plusieurs fois par jour par les cibles du groupe. Par exemple, les radiogrammes sont des documents utilisés pour la communication au sein des forces militaires vénézuéliennes. Les attaquants en profitent, en plus de leur connaissance du jargon militaire et de l'étiquette, pour créer des emails d'hameçonnage très convaincants.

Caractéristiques principales

Le groupe Machete est très actif et a apporté plusieurs changements à ses logiciels malveillants depuis la sortie d'une nouvelle version en avril 2018. Les versions précédentes ont été décrites par Kaspersky en 2014 et Cylance en 2017. Dans la Figure 3, nous montrons les composants de la nouvelle version du logiciel malveillant Machete.

Figure 3. Composants de Machete

La première partie de l'attaque consiste en un téléchargeur qui se présente sous la forme d'une archive auto-extractible, réalisée avec 7z SFX Builder. Une fois l'archive décompressée par le code d'auto-extraction, l'extracteur ouvre un fichier PDF ou Microsoft Office qui sert de leurre, puis exécute l'exécutable du téléchargeur à partir de l'archive. Cet exécutable est un autre fichier auto-extractible qui contient le binaire du téléchargeur (un composant py2exe) et un fichier de configuration avec l'URL cible du téléchargeur sous forme de chaîne chiffrée.

Toutes les URL de téléchargement que nous avons vues sont soit sur Dropbox, soit sur Google Docs. Les fichiers de ces URLs ont tous été des archives auto-extractibles (RAR SFX) contenant de la configuration chiffrée et des composants de backdoor py2exe. Depuis mai 2019, cependant, les opérateurs Machete ont cessé d'utiliser les téléchargeurs et ont commencé à inclure le fichier leurre et les composants de backdoor dans la même archive.

Les binaires py2exe peuvent être décompilés pour obtenir du code Python. Tous les composants - téléchargeurs et portes dérobées (backdoors) - sont obscurcis par le pyobfuscate. Cela a également été utilisé dans les versions précédentes du logiciel malveillant. La figure 4 montre une partie de l'un de ces scripts obscurcis.

Figure 4. Script obscurci avec pyobfuscate

Depuis août 2018, les composants Machete sont livrés avec une couche supplémentaire d'obscurcissement. Les scripts contiennent maintenant un bloc de texte compressé en zlib, codé en base64 qui, après avoir été décodé, produit un script comme celui de la Figure 4. Cette première couche d'obscurcissement est produite à l'aide du pyminifier avec le paramètre -gzip.

Composants de la backdoor

Le dropper de Machete est un exécutable RAR SFX. Trois composants py2exe sont déposés : GoogleCrash.exe, Chrome.exe et GoogleUpdate.exe. Un seul fichier de configuration, jer.dll, est déposé, et il contient du texte codé en base64, qui correspond aux chaînes chiffrées en AES. Un schéma résumant les composantes est présenté à la figure 5.

Figure 5. Composants py2exe de la backdoor de Machete

GoogleCrash.exe est le principal composant du logiciel malveillant. Il planifie l'exécution des deux autres composants et crée des tâches dans le Planificateur de tâches de Windows, afin d’en assurer la persistance.

Le composant Chrome.exe est responsable de la collecte des données de l'ordinateur victime. Ce dernier peut :

  • Prendre des captures d'écran
  • Mémoriser les frappes au clavier
  • Accéder au presse-papiers
  • Chiffrer en AES et exfiltrer des documents
  • Détecter les lecteurs nouvellement insérés et copier les fichiers
  • Exécuter d'autres binaires téléchargés depuis le serveur C&C
  • Récupérer des fichiers spécifiques du système
  • Récupérer les données du profil utilisateur de plusieurs navigateurs
  • Collecter la géolocalisation des victimes et des informations sur les réseaux Wi-Fi à proximité
  • Effectuer l’exfiltration physique sur les disques amovibles.

Les opérateurs Machete sont intéressés à obtenir des types de fichiers spécifiques à partir de leurs cibles. Outre les documents Microsoft Office, les lecteurs sont recherchés dans le but de trouver les :

  • Fichiers de sauvegarde
  • Fichiers de base de données
  • Clés cryptographiques (PGP)
  • Documents OpenOffice
  • Images vectorielles
  • Fichiers pour systèmes d'information géographique (cartes topographiques, routes de navigation, etc.).

En ce qui concerne la géolocalisation des victimes, Chrome.exe  collecte des données sur les réseaux Wi-Fi proches et les envoie à l'API Mozilla Location Service. Bref, cette application fournit des coordonnées de géolocalisation lorsqu'elle reçoit d'autres sources de données telles que des balises Bluetooth, des tours de téléphonie cellulaire ou des points d'accès Wi-Fi. Ensuite, le logiciel malveillant prend les coordonnées de latitude et de longitude pour construire une URL Google Maps. Une partie du code est illustrée à la figure 6.

Figure 6. Code de géolocalisation

L'avantage d'utiliser Mozilla Location Service est qu'il permet la géolocalisation sans GPS réel et peut être plus précis que les autres méthodes. Par exemple, une adresse IP peut être utilisée pour obtenir un emplacement approximatif, mais elle n'est pas aussi précise. D'autre part, s'il existe des données disponibles pour la zone géographique, Mozilla Location Service peut fournir des informations telles que le bâtiment dans lequel se trouve la cible.

Le composant GoogleUpdate.exe est responsable de la communication avec le serveur C&C distant. La configuration pour définir la connexion est lue dans le fichier jer.dll : nom de domaine, nom d'utilisateur et mot de passe. Le principal moyen de communication pour Machete est le FTP, bien que la communication HTTP ait été mise en place en 2019.

Ce composant télécharge des fichiers chiffrés dans différents sous-répertoires du serveur C&C, mais il récupère également des fichiers spécifiques qui ont été placés sur le serveur par les opérateurs Machete. De cette façon, le logiciel malveillant peut avoir sa configuration, ses binaires malveillants et ses listes de fichiers mis à jour, mais peut également télécharger et exécuter d'autres binaires.

En conclusion

Le groupe Machete est plus actif que jamais, même après que les chercheurs aient publié des descriptions techniques et des indicateurs de compromis pour ce logiciel malveillant. ESET suit cette menace depuis des mois et a observé plusieurs changements, certains en quelques semaines.

Au moment de la publication de cet article, le dernier changement a introduit six composants de porte dérobée, qui ne sont plus des exécutables py2exe. Les scripts Python pour les composants malveillants, un exécutable original pour Python 2.7, et toutes les bibliothèques utilisées sont comprimés dans un fichier auto-extractible.

Nous avons observé dans le code de Machete et l'infrastructure sous-jacente nous portent à penser qu'il s'agit d'un groupe hispanophone. La présence de code pour exfiltrer les données sur des disques amovibles lorsqu'il y a un accès physique à un ordinateur compromis peut indiquer que des opérateurs Machete pourraient être présents dans l'un des pays ciblés. Nous ne pouvons cependant pas en être certains.

Une liste complète et complète d'indicateurs de compromis (IoCs) peut être trouvée dans le livre blanc complet et sur GitHub. ESET détecte cette menace comme étant une variante de Python/Machete.

Pour une analyse détaillée de cette backdoor, reportez-vous à notre White paper Machete just got sharper: Venezuelan government institutions under attack.

Pour toute demande de renseignements ou pour soumettre des exemples d'articles sur le sujet, communiquez avec nous à l'adresse threatintel@eset.com.