Dans les Balkans, les entreprises font face à une double menace | WeLiveSecurity

Dans les Balkans, les entreprises font face à une double menace

Les chercheurs d'ESET ont découvert une campagne qui utilise deux outils malveillants avec des capacités similaires pour assurer à la fois la résilience et un plus grand potentiel aux attaquants

Les chercheurs d’ESET ont découvert une campagne qui utilise deux outils malveillants avec des capacités similaires pour assurer à la fois la résilience et un plus grand potentiel aux attaquants

Nous avons découvert une campagne en cours dans les Balkans diffusant deux outils ayant un but similaire : une backdoor et un cheval de Troie d’accès à distance que nous avons nommé, respectivement, BalkanDoor et BalkanRAT.

BalkanRAT permet à l’attaquant de contrôler à distance l’ordinateur compromis via une interface graphique, c’est-à-dire manuellement. BalkanDoor permet quant à lui de contrôler à distance l’ordinateur compromis via une ligne de commande, c’est-à-dire éventuellement en masse. Les produits de sécurité ESET détectent ces menaces comme étant Win{32,64}/BalkanRAT et Win32/BalkanDoor.

Une victime typique de cette campagne, qui utilise les courriels malveillants comme mécanisme de diffusion, finit par avoir ces deux outils déployés sur son ordinateur, chacun d’entre eux étant capable de contrôler complètement la machine affectée. Cette configuration peu commune permet aux attaquants de choisir la méthode la plus appropriée pour demander à l’ordinateur d’effectuer les opérations de leur choix.

Cette campagne tourne autour du thème des impôts. Du contenu des courriels aux hyperliens en passant par les PDF leurres, tous impliquant des taxes, les attaquants ciblent apparemment les départements financiers des organisations de la région des Balkans. Ainsi, bien que les portes dérobées et d’autres outils d’accès à distance soient souvent utilisés pour l’espionnage, nous croyons que cette campagne particulière est motivée financièrement.

La campagne a été active au moins depuis janvier 2016 et ce, jusqu’au moment de la rédaction du présent rapport (les plus récentes détections dans notre télémétrie datent de juillet 2019). Certaines parties de la campagne ont été brièvement décrites par un fournisseur de sécurité serbe en 2016 et par le CERT croate en 2017. Chacune de ces sources s’est concentrée sur un seul des deux outils et sur un seul pays. Cependant, nos recherches montrent qu’il y a un chevauchement important entre les cibles ainsi que les tactiques, les techniques et les procédures des attaquants.

Nos conclusions montrent que les attaques mentionnées ont été orchestrées et nous les considérons comme une campagne unique à long terme qui couvre la Croatie, la Serbie, le Monténégro et la Bosnie-Herzégovine.

Nos recherches ont également permis d’en savoir plus sur les logiciels malveillants utilisés dans le cadre de cette campagne et ont fourni un certain contexte. Nous avons découvert une nouvelle version de BalkanDoor avec une nouvelle méthode d’exécution/installation : un exploit de la vulnérabilité WinRAR ACE (CVE-2018-20250). De plus, nous avons vu les deux outils malveillants signer numériquement avec divers certificats que les développeurs ont payés pour ajouter une légitimité perçue. L’une d’entre elles, délivrée à SLOW BEER LTD, était même valide au moment de la rédaction du présent document. Nous avons avisé l’émetteur de l’usage malveillant qui en était fait et il a révoqué le certificat.

Dans cet article, nous décrirons quelques caractéristiques notables de BalkanDoor et de BalkanRAT. Notre analyse montre que le premier s’exécute comme un service Windows, ce qui lui permet de déverrouiller l’écran de connexion Windows à distance et sans mot de passe ou de démarrer un processus avec les privilèges les plus élevés possibles. Ce dernier utilise à mauvais escient un logiciel de bureau à distance légitime (RDS) et utilise des outils et des scripts supplémentaires pour cacher sa présence à la victime, par exemple en masquant la fenêtre, l’icône de la barre d’état, le processus, etc.

Cibles et distribution

BalkanRAT et BalkanDoor se sont propagés en Croatie, en Serbie, au Monténégro et en Bosnie-Herzégovine. (Ces pays, avec la Slovénie et l’ex-Macédoine, ont formé la Yougoslavie jusqu’en 1992.)

Figure 1. Répartition des logiciels malveillants par pays

Selon notre télémétrie, la campagne de diffusion de ces outils est en cours depuis 2016, avec les dernières détections en juillet 2019.

Les attaquants ont distribué leurs outils via des courriels malveillants (aussi appelés « malspam ») avec des liens menant à un fichier malveillant.

Les liens inclus dans les courriels malveillants utilisés pour la distribution de BalkanRAT et BalkanDoor imitent les sites Web légitimes des institutions officielles.

Table 1. Domains misused in the campaign
Malicious domainReal domainInstitution
pksrs[.]compks.rsChamber of Commerce and Industry of Serbia
porezna-uprava[.]comporezna-uprava.hrMinistry of Finance of Croatia, Tax Administration
porezna-uprava[.]net
pufbih[.]compufbih.baTax Administration of the Federation of Bosnia and Herzegovina

Les PDF leurres tournent autour du thème de la fiscalité.

Table 2. Decoy PDFs used in the campaign
PDF nameLanguageContent
MIP1023.pdfBosnianTax form
Ponovljeni-Stav.pdfBosnianTax law
AUG_1031.pdfBosnianInstructions for using tax filing application
Zakon.pdfCroatianTax law
ZPDG.pdfSerbianTax law

Figure 2.  Documents PDF leurres

Le plus souvent, les liens menant à un fichier exécutable sont déguisés en liens vers un PDF.  Le fichier exécutable est un auto-extracteur WinRAR dont le nom et l’icône ont été modifiés pour ressembler à un fichier PDF et tromper l’utilisateur.  Une fois exécuté, il est configuré pour décompresser son contenu, ouvrir le PDF leurre pour éviter toute suspicion – et exécuter en silence BalkanRAT ou BalkanDoor.

Dans certains des derniers échantillons de BalkanDoor détectés en 2019, le logiciel malveillant est distribué sous la forme d’une archive ACE, déguisée en archive RAR (c’est-à-dire pas un fichier exécutable), spécialement conçue pour exploiter la vulnérabilité WinRAR ACE (CVE-2018-20250).  Cette vulnérabilité, qui a été corrigée dans la version 5.70 publiée le 28 février 2019, est connue pour avoir été exploitée assez souvent pour distribuer des logiciels malveillants.

Le déploiement de BalkanDoor basé sur l’exploitation est plus furtif que dans les versions précédentes du logiciel malveillant car il ne nécessite pas l’exécution du fichier téléchargé – une opération qui pourrait soulever les soupçons de la victime visée.

La campagne

Selon notre télémétrie, la plupart du temps, les deux outils ont été déployés sur la même machine. La combinaison de ces outils donne à l’attaquant à la fois une interface en ligne de commande et une interface graphique à l’ordinateur compromis.

Dans le cas où l’ensemble des outils est déployé sur la machine, voici un exemple de scénario d’attaque :

L’attaquant détecte que la victime a verrouillé son écran et n’utilise donc très probablement pas l’ordinateur (soit via BalkanDoor en envoyant une capture d’écran montrant que l’ordinateur est verrouillé, soit via le mode Lecture seule (View Only) de BalkanRAT). Via la porte dérobée BalkanDoor, l’attaquant envoie une commande de porte dérobée pour déverrouiller l’écran… et avec BalkanRAT, il peut faire ce qu’il veut sur l’ordinateur.

Cependant, même si la victime n’utilise pas son ordinateur, il y a toujours une chance qu’elle repère les actions des agresseurs. Même avec cet inconvénient, l’utilisation de l’outil RDS peut être utile. L’attaquant n’est pas limité par les commandes expédiées par la backdoor, ni par leurs compétences en programmation : manuellement, il peut effectuer des actions qui exigeraient d’écrire beaucoup de code si une porte dérobée était le seul outil disponible.

En principe, l’ensemble d’outils des Balkans pourrait être utilisé pour l’espionnage, parmi d’autres objectifs possibles. Cependant, non seulement les cibles et la distribution de la campagne, mais aussi notre analyse des outils du coffre de Balkan montre que les attaquants cherchent l’argent plutôt que l’espionnage.

La porte dérobée BalkanDoor ne comporte pas de canal d’exfiltration. Vraisemblablement, si la campagne était destinée à l’espionnage, les attaquants auraient besoin d’un canal d’exfiltration pour télécharger les données collectées – au moins comme une sauvegarde à l’exfiltration manuelle, qui pourrait ne pas être toujours une option.

Au contraire – et soutenant l’idée que l’objectif des attaquants a été de commettre un crime financier – nous avons vu BalkanRAT abandonner un outil qui peut lister les cartes à puce disponibles, via les fonctions API SCardListReadersA/ SCardConnectA. Les cartes à puce sont généralement émises par des banques ou des gouvernements pour confirmer l’identité du titulaire. En cas d’utilisation abusive, les cartes à puce peuvent faciliter les activités illégales ou frauduleuses, par exemple la signature numérique d’un contrat, la validation d’une transaction financière, etc.

Dans le passé, nous avons vu cette caractéristique dans l’opération Buhtrap, une campagne ciblant les banques russes.

Analyse – BalkanDoor

BalkanDoor est une simple backdoor avec un petit nombre de commandes (télécharger et exécuter un fichier, créer un shell distant, faire une capture d’écran). Il peut être utilisé pour automatiser des tâches sur l’ordinateur compromis ou pour contrôler automatiquement plusieurs ordinateurs affectés à la fois. Nous avons vu six versions de la porte dérobée, variant selon la liste des commandes prises en charge, évoluer depuis 2016.

Le dropper initial déballe tous les composants, ouvre un PDF leurre (dans certains cas) et exécute un script d’installation par lots qui assure la persistance de la porte arrière.

La porte dérobée s’enregistre en tant que service, sous un nom de service d’apparence légitime (par exemple WindowsSvcWindowsPrntWindowsConn ou WindowsErr). Les scripts batch qui l’accompagnent peuvent également assurer la persistance en utilisant Registry Run Keys ou Startup folder.

Une fois la porte dérobée installée, l’ordinateur se connecte à un serveur C&C, s’identifiant par son nom et demandant les commandes. La porte dérobée peut se connecter à n’importe quel C&C à partir d’une liste codée en dur – une mesure pour augmenter la résilience. Il se connecte via le protocole HTTP ou HTTPS. Si HTTPS est utilisé, les certificats du serveur sont alors ignorés.

Si la connexion échoue, la porte dérobée est capable d’utiliser le proxy configuré par l’utilisateur sur l’ordinateur de la victime et de répéter la tentative de connexion.

Les commandes de porte dérobée se présentent sous la forme d’un fichier INI, dont les propriétés déterminent les commandes, les arguments de commande et les destinataires prévus. Spécifier la liste des destinataires permet à l’attaquant d’envoyer ses commandes à plusieurs ordinateurs compromis à la fois, par exemple pour prendre automatiquement des captures d’écran de tous les ordinateurs compromis.

Table 3. BalkanDoor’s commands
CommandsFunctionality
cnSpecifies computer name(s) of the intended recipients of the commands
du, intDownload and execute a file
du, ra, de, rpoDownload and execute a file, in the specified context and on a specified desktop
ripCreate a remote shell accessible from the specified IP address
scr_int, scr_durCapture a series of screenshots of the specified duration

De plus, la porte dérobée elle-même peut être exécutée en plusieurs modes, déterminés par les arguments de ligne de commande avec lesquels elle est exécutée. Ces modes eux-mêmes peuvent servir de commandes de porte dérobée (lorsqu’ils sont exécutés depuis le shell à distance) :

Table 4. BalkanDoor’s modes
ArgumentFunctionality
/unlockUnlocks the screen
/rcmdCreates a remote shell and redirects its input/output to the specified IP address
/takescrCaptures a series of screenshots, duration determined by other arguments
/runExecutes the specified command using cmd.exe
/runxExecutes the specified command using cmd.exe, on the active (input) desktop
/instInstalls itself as a service and starts the main procedure (see /nosvc)
/startStarts the associated service, which starts the main procedure (see /nosvc)
/nosvcMain payload, communicates with C&C and interprets backdoor commands

Parmi les capacités de BalkanDoor, la plus notable est le déverrouillage d’écran sans mot de passe.

Cette fonction est utile pour les attaquants dans les cas où un utilisateur connecté verrouille l’ordinateur. Le « Lock screen » (bref, l’écran verrouillé) ne constitue qu’un bureau de plus pour le système, de sorte que tout programme malveillant ayant les privilèges nécessaires peut passer à un vrai bureau par commande. Aucun mot de passe n’est requis pour effectuer cette opération.

Figure 3. Code responsable du déverrouillage de l’ordinateur lorsque la porte dérobée est exécutée à distance avec un argument « /unlock ».

Analyse – BalkanRAT

La partie BalkanRAT de l’ensemble d’outils malveillants des Balkans est plus complexe par rapport à son complice clandestin. Son objectif est de déployer une copie du logiciel Remote Utilities, qui est un logiciel commercial d’un fournisseur russe, Remote Utilities, LLC, utilisé pour un accès à distance à un ordinateur ou pour l’administration à distance. BalkanRAT fournit également à l’attaquant les informations d’identification nécessaires pour cet accès à distance.

BalkanRAT dispose de plusieurs composants supplémentaires pour faciliter le chargement, l’installation et la dissimulation de l’existence du RDS. Ils peuvent ajouter des exceptions au pare-feu, masquer la fenêtre du RDS et son icône dans la barre d’état système, et masquer la présence des processus associés dans le gestionnaire de tâches.

Figure 4. Composants utilisés dans la campagne pour déployer et cacher la présence du RDS

  1. Le dropper déballe d’abord tous les composants : un fichier de configuration, le logiciel de bureau à distance et un composant central qui l’installe, un rootkit utilisateur, un cache GUI et un fichier PDF leurre.
  2. Le dropper ouvre le fichier PDF afin de ne pas éveiller les soupçons de l’utilisateur.
  3. Le dropper exécute secrètement le composant principal (32 bits) en mode installation.
  4. Le composant principal (32 bits) s’installe pour être exécuté à chaque démarrage, et ajoute une exception au pare-feu pour le RDS. Il exécute les commandes inst1 et inst2 spécifiées dans le fichier de configuration, et s’exécute à nouveau, maintenant en mode furtif.
  5. Dans ce mode, le composant principal agit comme un keylogger.
  6. Le composant principal (32 bits) exécute la version 64 bits de lui-même, en mode injection (si applicable).
  7. Le composant principal (64 bits) injecte le rootkit utilisateur (64 bits) dans les processus du gestionnaire de tâches. Le rootkit de l’espace utilisateur masque alors la présence des processus malveillants dans le gestionnaire de tâches.
  8. Le composant principal (32 bits) exécute le RDS. Il surveille et cache de façon répétée la fenêtre RDS (car il s’agit d’une application GUI).
  9. Le composant principal (32 bits) injecte le rootkit utilisateur (32 bits) dans les processus du gestionnaire de tâches. Le rootkit de l’espace utilisateur masque alors la présence des processus malveillants dans le gestionnaire de tâches.
  10. Le composant principal (32 bits) exécute les commandes cmd1 et cmd2, comme spécifié dans le fichier de configuration. L’une de ces commandes a été vue en train d’exécuter un cache GUI, qui est un script AutoHotKey cachant l’icône de la barre des tâches du RDS.

Note : Certains composants sont facultatifs. De plus, ils sont parfois déployés sous la forme d’un ensemble comprenant une charge utile chiffrée et le chargeur correspondant. Nous avons omis ces détails.

Le fichier de configuration de BalkanRAT est au format INI (similaire à BalkanDoor, qui utilise ce format pour les commandes de porte dérobée), avec une section nommée [CFG]. Le fichier INI est utilisé par le composant central du logiciel malveillant et le rootkit de l’espace utilisateur.

PropertyFunctionality
inst1, inst2Commands executed by the core component during installation
cmd1, cmd2Command executed by the core component main payload
hprocList of processes that should be hidden by userland rootkit
mprocList of processes where userland rootkit is injected

Figure 5. Fichier de configuration de BalkanRAT – propriétés (en haut) et exemple (ci-dessous)

Le noyau de BalkanRAT est un composant polyvalent (il existe une version 32 bits et une version 64 bits); il peut être exécuté dans différents modes, déterminés par l’argument en ligne de commande. Plus important encore, il est utilisé pour l’installation de BalkanRAT, le lancement d’un rootkit utilisateur et l’ajout d’exceptions pour le composant RDS dans le pare-feu.

Table 5. BalkanRAT’s core component – supported functionality
ArgumentFunctionality
/rhcExecutes a batch file
/fwlAdds exception to the firewall for the specified program
/sregSets configuration data for the RDS in the registry (especially email address where the credentials should be sent)
/instEnsures persistence by adding itself to the [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] registry key under the “load” entry. Adds exception for the RDS to the local firewall. Executes itself again in the main mode (no arguments).
/injInjects the userland rootkit library into processes, as specified in the configuration file
(none)Main mode. Executes the 64-bit version of itself (if applicable), injects the userland rootkit, executes the RDS and hides the window by changing its coordinates to values outside the screen.
Another thread captures pressed keystrokes.

La partie principale du malware BalkanRAT est une copie du logiciel Remote Utilities pour l’accès à distance. Au lieu d’utiliser la version officielle, BalkanRAT déploie une copie signée par un certificat de l’attaquant.

Le côté client du RDS s’exécutant sur l’ordinateur de la victime doit connaître l’ID unique et le mot de passe, tous deux générés du côté serveur, pour se connecter au serveur. Le RDS déployé par BalkanRAT est configuré de telle sorte que le mot de passe soit le même pour toutes les victimes et que l’identifiant unique généré soit envoyé à l’adresse email de l’attaquant par l’outil lui-même.

Comme l’outil BalkanRAT est légitime, il exploite l’infrastructure des véritables Remote Utilities pour cette communication (rutils.com, server.rutils.com). Pour cette raison, la communication peut sembler légitime aux yeux de l’utilisateur – et à ceux des produits de sécurité.

En conséquence, l’attaquant a obtenu des identifiants pour accéder à l’ordinateur compromis via Remote Utilities.  Grâce à cet outil, ils peuvent diffuser l’écran pour surveiller l’activité de l’utilisateur et prendre en charge manuellement l’ordinateur compromis.

Figure 6.  Une fenêtre que la victime ne voit jamais.  Avec une copie légitime des Utilitaires distants, cette fenêtre est visible. Cependant, BalkanRAT la masquera à l’aide de la fonction de cache de l’interface graphique.

Pour rester furtif, BalkanRAT utilise la fonction de cache de l’interface graphique.  Dans la plupart des échantillons (certains plus anciens sont une exception), il est implémenté comme un script AutoHotKey, compilé dans un fichier exécutable afin qu’il puisse être exécuté sur un ordinateur même si AutoHotKey n’y est pas installé.  Le but de ce script est de masquer l’icône de la barre d’état système du client RDS.

Figure 7.  Script AutoHotKey intégré dans la section des ressources de l’exécutable

Une autre caractéristique notable utilisée par BalkanRAT pour rester caché est la possibilité de cacher les processus à l’utilisateur.

Pour ce faire, les bibliothèques rootkit utilisateur sont injectées dans des processus codés en dur dans le fichier de configuration. Le rootkit de l’espace utilisateur accroche (hook) la fonction NtQuerySystemInformation pour le processus dans lequel il est injecté. Dans le cas où SystemProcessInformation  est demandé, il filtre toutes les entrées pour les processus avec les noms spécifiés dans le fichier de configuration. Par conséquent, les utilitaires de gestion des tâches classiques n’afficheront pas les processus que les attaquants veulent cacher à l’utilisateur.

Figure 8. Avec le rootkit de l’espace utilisateur injecté, certains processus manquent dans la liste (à gauche). Sans le rootkit, les processus sont visibles (à droite).

Naturellement, la liste des processus qui seront cachés contient surtout ceux qui appartiennent à BalkanRAT. Cependant, nous avons également vu des noms comme « weather.exe » ou « preserve.exe » dans la liste – qui appartiennent à la porte dérobée BalkanDoor. Cette constatation appuie la croyance que ces deux outils sont effectivement utilisés ensemble.

Conclusion

BalkanRAT et BalkanDoor ont tous deux des astuces intéressantes à leur actif et chacun d’entre eux représente un risque important pour les victimes. Si elles sont utilisées ensemble comme un ensemble d’outils, elles constituent une arme encore plus puissante – plus la campagne que nous avons découverte a pour cible la comptabilité, une fonction critique pour les organisations.

La campagne ciblant les comptables dans les Balkans présente quelques similitudes avec une campagne destinée aux notaires ukrainiens qui a été publiée en 2016. (La seule source que nous avons pu trouver la décrivant est écrite en russe.) Dans ce cas, l’objectif des agresseurs était de prendre le contrôle d’un ordinateur de notaire et d’effectuer une opération illégale pour le compte du notaire.

Tout comme les attaquants peuvent confirmer une transaction frauduleuse pour le compte d’un notaire, ils peuvent effectuer une transaction frauduleuse en se faisant passer pour un directeur du service financier d’une entreprise.

Pour demeurer en sécurité, les utilisateurs professionnels – et leurs employeurs – devraient suivre les règles de base de la cybersécurité : soyez prudents avec les courriels et examinez leurs pièces jointes et leurs liens, gardez leurs logiciels à jour et utilisez une solution de sécurité de bonne réputation.

Indicateurs de compromission (IoCs)

Nom de détection d’ESET

Win32/BalkanDoor.A
Win32/BalkanDoor.B
Win32/BalkanRAT.A
Win32/BalkanRAT.B
Win64/BalkanRAT.A
Win64/BalkanRAT.B

SHA-1

BalkanDoor –fichiers exéxutables

02225C58A0800A8FFFE82F7614695FDEEB75C8B3
3E8AF08F2C64D9D305A129FDEA6B24ED3D8D9484
400FF3FD5BEF94DCBEAE24B5B8A6632DCD1D22A6
576EF0057982DE87CA029C736706E840031A27F4
5CC4F248595268A0C9988DAEE3F0F8F9F5AC0A7F
60EB2A19EC63FF36D13F472EC0E6A594C2778CE6
7AA3D6EA4736C3BF627DB1837B9C8D2B29D7AB8D
AC5383306459CE8CD19BFF412875F093B40427C6

BalkanRAT – fichiers auxiliaires et exécutables

006B8EF615550BA731A30FA83B0E03CD16D2A92D
030DC8C3832F664FA10EFA3105DFF0A9B6D48911
032884A46430039ED4E38518AA20742B79AB2678
09D18CD045285A753BCF4F42C6F10AF76913546A
0F7A95C89911E3DE9205FF6AA03E1A4FCE6BC551
13D8664B438DA278CEB9C8593AE85023432054CD
17EA62EBC5F86997FD7E303FBBFF3E343DA38FCC
1C03ED1ADF4B4E786EFC00F3D892217FAAAFB268
15EC88015FB554302DB131258C8C11C9E46209D4
21DE3EB6F39DF4DBBF2D1FE4B6467AAE3D9FBEBD
21EE61874F299661AECC5453F4D6D0EC5380DAD0
270F1FA36365273F14D89EE852D8A438A594CD05
30BA2213BE4355D619E20DA733F27F59DA7B937E
3170B45FB642301687A3A320282099B9D7B7F0F2
38E7FCD6038E688DEC9F1AF9D2D222B9BBC03A8C
3927B48D315F6712D33166A3B278B7835E76A6A9
3C1FF7BBE8BC2BE9E5531FFAD25B18F03C51CF6B
421F52733D334BE32C899670426C06CB72D92CDE
46E4B456729CF659527D2697BD8518E67B5A0056
4F8BA64DA7EA16A7CE5AA2C83BBFCE1C8646E424
500A447A187240706C059C16366FEDF1AA13EA77
555844CA5CD40DFC27778C2D3B6AFA43D1B76685
5A3201048D8D9D696102A3C3B98DA99C2CC4FF1F
64E3A46BF393936A79478C891654C1070CEC42D1
685314454A7D7987B38ADD2EDDBAC3DB9E78464F
6C83ABE56219CA656B71AA8C109E0955061DA536
6E27F7C61230452555B52B39AB9F51D42C725BED
6EF16FAA19FC4CEF66C4C1B66E58FB9CFFD8098E
72DB8CCC962E2D2C15AC30E98F7382E3ACDEDDA8
730E20EE7228080A7F90A238D9E65D55EDD84301
73E0A62F1AAAB3457D895B4B1E6E2119B8B8D167
7BA4D127C6CD6B5392870F0272C7045C9932DB17
7BF564891089377809D3F0C2C9E25FD087F5F42B
8852647B1C1A2EFA4F25FEA393D773F9FF94D6FA
8D9A804B1433A05216CFE1D4E61CE5EB092A3505
8F85738534158DB9C600A29B9DED8AC85C3DE8C1
963CF321740C4EF606FEC65FCE85FB3A9A6223AC
97926E2A7514D4078CF51EAC069A014309E607F1
9EA0C6A17EE4EB23371688972B7F4E6D4D53F3C8
9F2C6A44453E882098B17B66DE70C430C64C3B26
A1DEA762DD4329E77FE59526D4ABC0E15DE2BBBC
A56A299A8EEF9F4FF082184F66FAD1B76C7CACB8
A5ACE8F90C33CBDB12D398C0F227EC48F99551BF
AA4AD783DFE3CC6B0B9612814ED9418253203C50
AB311B53591C6625335B9B791676A44538B48821
AEDF43347AF24D266EC5D471723F4B30B4ACC0D0
B18222E93D25649BC1B67FAB4F9BF2B4C59D9A1A
B8F67BB5682B26ACD5969D9C6AC7B45FE07E79E1
BAD38D474D5CAAAC27082E6F727CAE269F64CF3C
BEEF0EE9397B01855C6DAA2BFF8002DB4899B121
BFE3F5CEC25181F1B6852E145013E548B920651E
C268CAB6D8EC267EEE463672809FAAEE99C2F446
C2F9FFDF518DA9E037F76902746DE89C2E2821E8
C3813734D3BFC07E339C05417055A1A106E2FBBD
C8CBBC175451A097E605E448F94C89D3E050ACD5
C90756A3C6F6DC34E12BABF5F26543510AACE704
C90B5471BBA3293C0A0E6829A81FBE2EB10B42B2
CD1BC431F53E9CFF8204279CDF274838DE8EBB61
CD82D898A3CEA623179456D9AE5FAD1FB5DA01A0
CDBB74CA0960F2E8631D49ACABF2CEA878AE35B8
CE7092FF909E9380CC647C3350AA3067E40C36A9
CEA70DB7FB8E851EF0D6A257A41C9CEE904345B5
CF7A8AFAC141E162A0204A49BAD0A49C259B5A45
DEEA26F5AF918CEC406B4F12184F0CAB2755B602
DFDFCC61770425A8D1520550C028D1DF2861E53F
E0007A2E0E9AE47DD028029C402D7D0A08EBBC25
E00C309E3FE09248B8AFCFF29FC1A79445C913DA
E95C651C539EAF73E142D1867A1A96098A5E219F
ECEEE01F4E8051F544062AE37D76A3DF2921DF82
F06CB000F9A25DDE791C7E5BC30917C74A8F2876
F26C663D5F6F534543A7C42B02254C98BB4EC0D5
F3BC2F436693B61FED7FA7DDF8BC7F27618F24F3
F6030AE46DC2CEF9C68DA1844F7DCEA4F25A90A3
FA19E71F9A836EA832B5D738D833C721D776781A
FFE23D510A24DB27C1C171D2BAF1FBEB18899039

Remote Utilities (otherwise legitimate releases signed by attackers’ certificates)

038ECEB80597DE438D8194F8F57245EB0239FF4B
2A1BB4BB455D3238A01E121165603A9B58B4D09D
34CE3FBEE3C487F4F467B9E8EB36844BB5ACB465
3B88D4047FA2B8F8FA6241320D81508EB676EA7A
400438EB302886FD064274188647E6653E455EED
42F70DAA8C75E97551935D2370142C8904F5A20D
446D3FBAE9889FE59AFAD02C6FB71D8838C3FC67
4D46FB773C02A9FF98E998DA4F0777FB5D9F796B
510C93D3DC620B17500C10369585F4AF7CF3CE0D
6A5CA3B9EE0A048F0AEE1E99CBF3943D84F597FF
6D53E7B5099CE11ACA176519620E8064D4FF9AD0
7CEC39AC6A436577E02E7E8FE8226A00E58564CB
8888014C16732CD5136A8315127BA50BB8BB94ED
A5A05BA6E24226F1BC575CBC12B9FC59F6039312
B77CFFF0E359946029120DD642505BC0A9713ECC
BC6F31D5EBC71FF83BACC0B4471FDEFC206B28D0
BE8A582360FB16A4B515CD633227D6A002D142FA
C6E62A113E95705F9B612CDBF49DAC6BAD2073BD
D8D27C742DA87292EF19A197594193C2C5E5F845
DBE0E084B2A8CE4711C3DF4E62E8062234BF6D3B
E56189FE86C9537C28099518D4F4EA2E42EF9EEE
E918192D2B5C565A9B2756A1D01070C6608F361C

Scripts

0BD6C70B7E2320F42F0CFC2A79E161614C7C4F66
7A41B912A3F99370DF4CD3791C91467E23B2AA82
A15AB505B79B88A9E868C95CE544942403C58CB6
A8A5980DE35FBF580497B43EF7E8499E004F9F38
B248E43BAB127D8E1E466821B96B7B7ECF37CB78

Fichiers de configuration

28F152154F6E6074EA0DE34214102119C8589583
37A2A15C52CAA7D63AF86778C2DD1D2D81D4A270
B4A847D7AAC4164CF90EA585E4842CBF938B26CF

Fichiers PDF leurre

1E0C4A5F0FF2E835D12C3B6571AE6000E81A014B
8722441FF3678D154C89E312DB1A54951DD21C3F
88C3FDA42768C5B465FD680591639F2CDC933283
9F48E109675CDB0A53400358C27853DB48FCD156
C9B592BD7B69995C75CD5B1E4261B229C27FB479

Certifications mal utilisés

NameEmailValid fromValid toSHA1 ThumbprintStatus at the time of writing
AMO-K Limited Liability Companyllc.amo-k@list.ru2015/07/302016/07/284E36C4D10F1E3D820058E4D451C4A7B77856BDB3Expired
Valmpak, TOVtov-valpak@mail.ru2016/04/102017/04/0117D50E2DBBAF5F8F60BFFE1B90F4DD52FDB44A09Revoked
Valmpak, TOV-2016/08/222017/11/044A362020F1AFD3BD0C67F12F55A5754D2E70338CRevoked
3D PEOPLE LIMITED-2017/11/052018/11/06936EDFB338D458FBACB25FE557F26AA3E101506EExpired
ADUNIK LTD-2017/10/112018/10/12E7DF448539D1E2671DCF787CF368AAC2ED8F5698Expired
SLOW BEER LTDadministrator@
slowbeerltd.info
2019/01/252019/12/182359D644E48759F43993D34885167FECAFD40022Revoked

Noms de fichier

BalkanDoor

Dropper: Zakon.exe
Backdoors: weather.exe, winmihc.exe, Preserve.exe, PreservS.exe, WindowsConnect.exe
Scripts: weather.cmd, winmihc4.cmd, mihcupdate.cmd
Decoy PDF file: Zakon.pdf

BalkanRAT

Droppers: ZPDGI.exe, ZPDGV.exe, ZPDGE.exe, ZPDGO.exe, ZPDGU.exe, ZPDGA.exe, Ponovljeni-Stav.exe, AUG_1031.exe, MIP1023.exe
Configuration file: stg.cfg
Decoy PDF files: ZPDG.pdf, Ponovljeni-Stav.pdf, AUG_1031.pdf, MIP1023.pdf
Core component: winchk32.exe, wininit.exe, hide.exe, winchk64.exe
RDS: rutserv.exe, rfusclient.exe
Userland rootkit: winmmon.dll, winmmon64.dll
GUI hider components: serk.bat, serk.exe

Noms de dossier

%WINDIR%\1B20F6AA-6CAD-45A7-81CB-120FB86FECD8
%WINDIR%\29D451CF-3548-4486-8465-A23029B8F6FA
%WINDIR%\B1EDD68E-6AD8-4A7E-91A1-3C30903B8DD4
%APPDATA%\1B20F6AA-6CAD-45A7-81CB-120FB86FECD8
%APPDATA%\29D451CF-3548-4486-8465-A23029B8F6FA
%APPDATA%\B1EDD68E-6AD8-4A7E-91A1-3C30903B8DD4

Serveurs C&C

http://bestfriendsroot[.]com/smart.php
http://bestfriendsroot[.]com/weather.php
http://bestfriendsroot[.]com/zagreb.php
http://consaltingsolutionshere[.]com/smart.php
http://consaltingsolutionshere[.]com/weather.php
http://consaltingsolutionshere[.]com/zagreb.php
http://dogvipcare[.]net/kversion.php
http://hvar.dogvipcare[.]net/dekol.php
http://kimdotcomfriends[.]com/smart.php
http://kimdotcomfriends[.]com/weather.php
http://kimdotcomfriends[.]com/zagreb.php
http://limosinevipsalon[.]com/kversion.php
http://luxembourgprotections[.]com/kversion.php
http://malmevipbikes[.]se/kversion.php
http://split.malmevipbikes[.]se/dekol.php
http://zagreb.porezna-uprava[.]com/dekol.php

Adresses email addresses utilisées pour exfiltré les informations d’accès à Remote Utilities

b.klokov@inbox.ru
galkin.valentin.83@bk.ru
gligorijmaskov@mail.ru
ivan.aslanov@newmail.ru
ivan.tatarov@qip.ru
melikov.viktor@yandex.ru
mr.aleksandrandreev@mail.ru
test@bbportal.info
tgerik@list.ru
vladzlobin@list.ru

Techniques MITRE ATT&CK

BalkanRAT

TacticIDNameDescription
Initial AccessT1192Spearphishing LinkBalkanRAT is distributed via emails that contain links to malware.
ExecutionT1059Command-Line InterfaceBalkanRAT uses cmd.exe to execute files.
T1106Execution through APIBalkanRAT uses ShellExecuteExW and LoadLibrary APIs to execute other malware components.
T1064ScriptingBalkanRAT uses batch scripts for malware installation and execution.
T1204User ExecutionBalkanRAT relies on the victim to execute the initial infiltration. The malware is disguised as PDF documents with misleading names, in order to entice the intended victim to click on it.
PersistenceT1060Registry Run Keys / Startup FolderBalkanRAT uses the following Registry Run key to establish persistence: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows], “load”.
Privilege EscalationT1134Access Token ManipulationBalkanRAT is able to impersonate the logged-on user using DuplicateTokenEx or ImpersonateLoggedOnUser APIs.
Defense EvasionT1116Code SigningBalkanRAT is digitally signed with code-signing certificates.
T1140Deobfuscate/Decode Files or InformationBalkanRAT decrypts and decompresses some of its components.
T1089Disabling Security ToolsBalkanRAT is capable of adding exceptions to the local firewall, using its COM interface.
T1112Modify RegistryBalkanRAT modifies the [HKEY_CURRENT_USER\Software\Usoris\Remote Utilities\Server\Parameters] registry key to store configuration of the RDS
T1027Obfuscated Files or InformationSome components of BalkanRAT are compressed and then encrypted by a XOR cipher.
T1055Process InjectionBalkanRAT injects a userland rootkit library into processes of task manager utilities.
T1108Redundant AccessOperators of BalkanRAT have been seen deploying a second malicious tool (BalkanDoor) to preserve remote access in case BalkanRAT is removed.
T1014RootkitBalkanRAT uses a userland rootkit that hooks the NtQuerySystemInformation function to hide the presence of malicious processes.
T1143Hidden WindowBalkanRAT uses 3rd party remote desktop software and hides its window and tray icon in order to hide it from the user.
DiscoveryT1082System Information DiscoveryBalkanRAT collects the computer name and the language settings from the compromised machine.
CollectionT1056Input CaptureBalkanRAT is capable of logging pressed keystrokes.
Command and ControlT1219Remote Access ToolsBalkanRAT has misused legitimate remote desktop software for remote access.

BalkanDoor

TacticIDNameDescription
Initial AccessT1192Spearphishing LinkBalkanDoor is distributed via emails that contain links to download malware.
ExecutionT1059Command-Line InterfaceBalkanRAT uses cmd.exe to create a remote shell.
T1106Execution through APIBalkanRAT uses ShellExecuteExW and LoadLibrary APIs to execute files.
T1203Exploitation for Client ExecutionBalkanDoor can be distributed as an ACE archive disguised as a RAR archive, exploiting CVE-2018-20250 vulnerability in WinRAR to execute malicious code.
T1064ScriptingBalkanDoor uses batch scripts for malware installation and execution.
T1035Service ExecutionBalkanDoor’s backdoor can be executed as a service.
T1204User ExecutionBalkanDoor relies on the victim to execute the initial infiltration. The malware is disguised as PDF documents or RAR archives with misleading names, in order to entice the intended victim to click on it.
PersistenceT1050New ServiceBalkanDoor can be installed as a new service, mimicking legitimate Windows services.
T1060Registry Run Keys / Startup FolderBalkanDoor can be installed in the Registry Run key, or dropped in the Startup folder.
Privilege EscalationT1134Access Token ManipulationBalkanDoor is able to create a process under the security context of a different user, using DuplicateTokenEx, SetTokenInformation or CreateProcessAsUserW APIs.
Defense EvasionT1116Code SigningBalkanDoor is digitally signed with code-signing certificates.
T1107File DeletionBalkanDoor deletes files with backdoor commands after the commands have been executed.
T1158Hidden Files and DirectoriesBalkanDoor sets attributes of its files to HIDDEN, SYSTEM and READONLY.
T1036MasqueradingBalkanDoor can be installed as a service with names mimicking legitimate Windows services.
T1108Redundant AccessOperators of BalkanDoor have been seen deploying a second malicious tool (BalkanRAT) to preserve remote access in case BalkanDoor is removed.
DiscoveryT1082System Information DiscoveryBalkanDoor collects the computer name from the compromised machine.
CollectionT1113Screen CaptureBalkanDoor can capture screenshots of the compromised machine.
Command and ControlT1043Commonly Used PortBalkanDoor uses ports 80 and 443 for C&C communication.
T1090Connection ProxyBalkanDoor is capable of identifying a configured proxy server if one exists and then using it to make HTTP requests.
T1008Fallback ChannelsBalkanDoor can communicate over multiple C&C hosts.
T1071Standard Application Layer ProtocolBalkanDoor uses HTTP or HTTPS for network communication.

Discussion