Résultats de l’enquête initiale et de l’analyse de rétro-ingénierie des logiciels malveillants de Fire Sale Ukraine
Bonjour encore, comme promis, aujourd’hui nous apportons des informations plus détaillées (Recherche Intel) sur ce que nous croyons être la Phase 1 de Fire Sale Une cyberattaque qui a frappé l’ensemble de l’industrie médiatique en Ukraine pendant les élections. La bonne nouvelle d’abord, il y a déjà un récapitulatif de l’incident par le CERT ukrainien local que vous pouvez trouver ici : http://cert.gov.ua/?p=2370.
Nous avons maintenant la preuve que l’attaque a été exécutée en utilisant 2 composants principaux : une porte dérobée pour la livraison et une charge utile/arme cybernétique et elle a en effet touché l’ensemble de l’industrie (comme discuté précédemment) mais n’a pas interrompu la diffusion des élections – peut-être que ce n’était jamais censé faire cela. C’est un peu troublant car soit c’était un test de quelque chose de pire à venir soit nous avons été plus rapides à détecter qu’ils ne le pensaient possible, ou chanceux ou un mélange de plusieurs facteurs.La partie Backdoor de « Fire Sale »Les fichiers de la backdoor s’appellent : aliide.sys, amdide.sys
et à mesure que la recherche a progressé, nous avons découvert plus de fichiers : acpipmi.sys, adpu320.sys
ou n’importe quel nom de pilote aléatoire .sys. Les fichiers *.sys malveillants sont les fichiers situés dans le répertoire Windows/System32/drivers
, prétendant être des pilotes légitimes, les plus courants étant aliide.sys
and amdide.sys
.
Un moyen simple de faire la différence avec un pilote légitime est de comparer la taille : le pilote légitime est 20KB, typiquement jusqu’à 50 KB. Initialement, nous avons téléchargé les fichiers sur VirusTotal et aucun antivirus ne les a signalés comme malveillants.
Nous avons ensuite commencé à contacter directement les fournisseurs d’antivirus et un par un, ils ont publié des signatures et confirmé l’origine du malware (donc votre bienvenue monde !!). Voici les résultats frais de VirusTotal sur les échantillons qui sont arrivés entre mes mains :
Bien que la détection soit encore à un stade précoce, ne vous méprenez pas – nous avons affaire à un BlackEnergy malware, qui a déjà été utilisé en 2015 pour cibler les systèmes ICS, comme rapporté par CyberX.
Dans ce scénario, BlackEnergy a été planté à travers le faux contrôleur IDE et les pilotes CPU des mois avant la date des élections (25 octobreth). Je vous laisse y réfléchir et si c’était planifié ou non…
Il y a une hypothèse très plausible concernant la backdoor publiée par CERT-UA, affirmant essentiellement que les pilotes originaux ont une signature de certificat valide, tandis que ceux remplacés (backdoors / rootkits, etc.) sont auto-signés (c’est une bonne nouvelle, non ?!).
Conclusion 1 : BlackEnergy a ressuscité et agit comme un système de transport furtif pour livrer des armes cybernétiques avancées, il est installé pour prétendre être un pilote Windows légitime, ayant un nom aléatoire mais une signature de certificat auto-signée. Je pense qu’il y a quelque chose de plus sinistre qui se prépare… Mais bon, ce n’est que l’opinion d’un 1D10t 😉 La Charge utileLes fichiers charge utile/arme découverts s’appellent ololo.exe ou un svchost.exe infecté (qui est classiquement placé dans c:Windows au lieu de l’emplacement correct à c:WindowsSystem32
) en tant que charge utile malveillante.
Premièrement, que se passe-t-il exactement le jour de l’attaque ? La porte dérobée s’active et change même les paramètres de démarrage du processus de « start à la demande » à « démarrage automatique » sur toutes les machines avec backdoor / infectées en quelques secondes. C’est ce qui a permis à l’attaque de se produire dans toute une industrie en même temps – imaginez que quelqu’un vient de presser un bouton ou déclencheur à distance, sauf qu’il n’y a pas vraiment besoin d’initier une connexion réseau avec les cibles !
ololo.exe/svchost.exe
.
C’est la partie la plus dangereuse de cette attaque ciblée car la backdoor BlackEnergy est construite individuellement pour chaque attaque (réfléchissez à cela une seconde…) et est distribuée de manière très sélective (encore une fois, réfléchissez à cela…).
Nous pouvons encore une fois confirmer et conclure que le botnet BlackEnergy est loin d’être mort, il est réapparu sous une forme nouvelle et très avancée, et il n’est (spoiler alert !) pas trouvé dans aucune liste noire publique ou flux de renseignement.
Revenons aux détails de la charge utile/arme, avoir les noms de fichiers de
Coming back to the payload/weapon details, just having file names of ololo.exe/svchost.exe
ne suffit pas pour servir de plein IOC (Indicateur de Compromis), mais voici les hachages de VirusTotal qui sont désormais disponibles alors que nous avons envoyé des échantillons de malware aux fournisseurs d’antivirus.
L’étude (et le reverse complet) de la charge utile/arme est toujours en cours, mais il est déjà clair que c’est vraiment une œuvre d’art – elle a maintenant plus de 309 fonctions et plus de 140 variables qu’elle vérifie, configure, avec lesquelles elle travaille. La majeure partie du code est écrite en Visual C++ et le code semble agréable et très professionnel.
Ce ne sont PAS des personnes au hasard qui ont créé ceci, ce sont des gars qui savent exactement ce qu’ils font. Ce fichier .exe a plusieurs fonctions/entrées et étapes qui regardent le contexte de l’utilisateur, l’environnement, etc. Le comportement dépend également de l’utilisateur à partir duquel il a réussi à fonctionner. En exécutant à partir d’un compte non-administrateur, ololo.exe/svchost.exe crée un événement qui remplit le disque dur (WindowsTemp_random_name.tmp) avec des fichiers de 16 Mo contenant un caractère ASCII aléatoire qui se répète jusqu’à ce que la taille de 16 Mo soit atteinte.
Voici quelques captures d’écran d’un hôte infecté où vous pouvez repérer ololo.exe en tant que processus et cela crée un pop-up pour vous inviter à appeler l’administrateur ! (assez cool à mon avis pour autant que cela fonctionne)
Cet événement (nous supposons) est utilisé pour forcer tous les utilisateurs sur un client Windows non basé localement à demander à un admin d’aider à résoudre le problème sur leur ordinateur portable / de bureau respectif. Une fois que le malware a remarqué le compte administrateur (changement de contexte, il agit complètement différemment. D’abord, la charge utile effectue une reconnaissance complète de l’environnement de la cible pendant un certain temps, jusqu’à 40 minutes comme l’un des victimes a observé. Les actions malveillantes commencent initialement par modifier l’enregistrement / le chargeur de démarrage du pc/ordinateur portable infecté.
Et puis il commence à chercher des fichiers sur l’ordinateur infecté.
Après que le virus ait trouvé ce qu’il cherche, il commence à effacer toute trace ou preuve de son existence de l’ordinateur infecté en écrivant des zéros sur tous les fichiers qu’il recherchait (et dans l’industrie médiatique, cela signifiait rechercher tout .avi, .mpeg, .mjpeg et tout autre fichier qui pourrait être trouvé sur les stations de montage vidéo).
Soit dit en passant, le nombre total de types de fichiers par extension que le malware examine atteint plus de 2830 – cela inclut tous les documents possibles, multimédia, archives, bases de données, exécutables, code source ou tout ce à quoi vous pouvez penser, peut-être que cela est intellectuellement sélectionné par la charge utile C & C ? Il n’est pas clair à ce stade ce qui est exactement recherché pendant 40 minutes, ou si 40 minutes sont pertinentes du tout – c’est une TRÈS faible chance que ce soit un minuteur, mais plutôt un indicateur de la rapidité avec laquelle la recherche a été effectuée sur une machine infectée particulière, donc un ingénierie inverse supplémentaire des échantillons de malware est requis… La chose intéressante ici est aussi qu’elle agit comme d’autres logiciels espions d’attaques que j’ai vues dans le passé, encore une fois vous prenez une décision sur qui était vraiment l’attaquant et quel est le but final…
Maintenant, réfléchissez un instant aux autres menaces que cela peut causer ? Eh bien, comme le malware varie le comportement en fonction de ce qu’il trouve, il peut faire à peu près tout ce que l’attaque veut, comme la récupération du fichier SAM du contrôleur de domaine, par exemple pour un téléchargement ultérieur des hachages de mots de passe à « l’emplacement d’origine », il distribue en outre la backdoor et la charge utile autour du réseau, ouvre des tunnels, etc. Cela établit également la persistance de la menace (bonjour APT) puisque la cible de l’attaque aura besoin de beaucoup de temps et de ressources pour nettoyer le désordre, et pendant que l’entreprise nettoierait les backdoors, les tunnels seraient toujours ouverts, tandis que le nettoyage des tunnels, ils préchargeraient déjà de nouvelles armes non détectables par AV, rincer, répéter…
En outre, nous avons découvert que le virus est également sensible à l’emplacement ou au temps. Nous avons envoyé un échantillon de malware à plusieurs boîtes à sable à travers le monde et aucune d’elles n’a trouvé de malware, sauf une. Cette boîte à sable était aux États-Unis et elle a indiqué une connexion : une commande / fonction commence à se connecter à un serveur à Cambridge, Mass au NTT Americas Data Center avec l’adresse IP du serveur 23.61.75.27.
Cela peut signifier soit une prochaine étape d’attaque ciblant les États-Unis, soit que le C & C est aux États-Unis, soit que le C & C est derrière un CDN (Akamai) situé aux États-Unis, soit que le malware est simplement conscient du temps et ne se connecte au C & C qu’une fois qu’un certain temps est écoulé (peut-être que la boîte à sable des États-Unis était la seule à déclencher le minuteur). Quoi qu’il en soit, la seule IP trouvée et la charge utile sont ci-dessous :
Here are some screens from infected host where you can spot ololo.exe as a process and creates a popup for you to call the admin! (pretty cool in my opinion as far work goes)
This event (we assume) is used to force any users on a windows based client that are not local admins to ask an admin to help resolve the issue on their respective laptop / desktop. Once malware noticed that the admin account (context change, it acts completely differently. Firstly, the payload conducts a full reconnaissance of the environment of the target for some time, up to 40 minutes as one of the victims observed. Malicious actions initially start as modifying the boot record / loader of the infected pc/laptop.
And then it starts to look for files on the infected computer.
After the virus finds what it is looking for it starts to erase any trail or evidence of it’s existence from the infected computer by writing zeroes to all files it was looking for (and in media industry it meant to look for any .avi, .mpeg, .mjpeg and anything else that may be found on video-editing workstations).
By the way, total number of file types by extension that malware is examining reaches over 2830 – this includes every possible document, multimedia, archive, database, executable, source code or anything you can think of, maybe this is intellectually selected by C&C payload? It is unclear at this stage what exactly is being searched for 40 minutes, or is 40 minutes relevant at all – this is VERY LOW chance this is a timer, but rather an indicator how fast search was performed on a particular infected machines, so further reverse engineering of malware samples is required… The interesting thing here is also that it acts like other spyware from attacks I have seen in the past, again you make up your mind on who the attacker really was and what the end game is…
Now just think for a second on other threats can this cause? Well, as malware varies behavior based on what it finds, it can do pretty much anything the attack wants, such as retrieval SAM file from domain controller, for example for further upload of the password hashes at “home location”, it further distributes backdoor and payload around the network, opens up tunnels etc. This also establishes the persistence of the threat (hello APT) since target of the attack will need a lot of time and resources to clean the mess up, and while company would clean up backdoors, tunnels will still be open, while cleaning up the tunnels they already would pre-load new weaponry undetectable by AV, rinse, repeat…
Additionally we discovered that virus is also location or time aware. We sent out a malware sample to multiple sandboxes across the globe and all of them did not find malware, except one. That one sandbox was in US and it indicated a connection: a command / function starts to connect to a server in Cambridge, Mass at the NTT Americas Data Center and with the server IP 23.61.75.27. This can mean either a next stage of attack aimed at US, or that C&C is in US, or that C&C is behind CDN (Akamai) located in US or that malware simply is time-aware and only reaches out to C&C once certain time passes (perhaps US sandbox was the only one spinning up the timer). Regardless, the only IP found and payload are below:
Nous pouvons maintenant résumer les étapes de l’attaque et tirer les premières conclusions:
- Reconnaissance externe (Manque d’informations ? OSINT sur la campagne électorale peut-être ?)
- Pénétration – injection de la backdoor BlackEnergy.
- Reconnaissance interne – le malware étudie l’environnement, effectue plus de 140 vérifications de variables similaires à une IA primitive et modifie ses actions futures en fonction des résultats
- Établissement de la persistance – tunnels, diverses backdoors pour devenir difficiles à nettoyer et résistants aux AV.
- Exécution synchronisée et minutée de l’objectif de l’attaque – livraison et exécution de OLOLO.exe/SVCHOST.exe ou autre armement.
Carte des étapes de l’attaque
Une fois que le malware / charge utile a terminé sa sale affaire, il se supprime, ainsi que tous les fichiers multimédias (ou autres fichiers qu’il recherche) et les fichiers de livraison (backdoor, quelle backdoor ?) et nul les espaces qu’il occupait pour éliminer sa signature et toute preuve de son existence. Il est important de noter que BlackEnergy lui-même agit très furtivement puis est juste effacé (couvrant ses traces, hein ?).
Bien que nous ayons maintenant une compréhension claire de la façon de repérer une infection, nous savons encore peu de choses sur le C & C et le réseau de distribution. Avec l’adresse IP et les hachages du malware, nous l’avons passé en revue tous les flux connus d’Open Threat Intelligence, y compris Zeus tracker, OTX, VxVault, IPvoid, VirusTotal et plus de 100 flux mais n’avons reçu aucun résultat. Nous avons également vérifié les hachages et l’IP par rapport à 10 sources commerciales, y compris de très bons flux mais encore une fois sans résultat. Cela signifie que BlackEnergy a un nouveau botnet qui est utilisé très secrètement et contourne actuellement la plupart des solutions Threat Intelligence existantes. Un autre point important est que la backdoor n’a initié aucune communication internet, donc des choses comme le tunneling de protocoles (p.ex. DNS, DHCP, ICMP) n’ont pas été découvertes (ENCORE !). Je ne dis pas que Threat Intelligence n’est pas efficace, au contraire c’est le moyen le plus rapide de construire une défense à l’échelle mondiale, mais c’était la première fois que l’attaque (ou preuve de concept de l’attaque ?) a été vue.
Je fournis différents CERTs avec les détails de l’attaque qui sont pertinents ainsi que de parler aux entreprises de la façon dont l’attaque et les futures attaques peuvent être arrêtées en utilisant notre technologie et celle de nos partenaires. Pour l’instant, SOC Prime a publié des signatures de détection d’attaque qui fonctionnent avec QUALYS (le moyen le plus rapide de détecter si vous avez la backdoor ou non); SNORT, OSSEC, ARCSIGHT, SPLUNK et QRADAR. Veuillez contacter SOC Prime directement pour les outils de détection qui sont fournis gratuitement à tous ceux qui en ont besoin. Je publierai des mises à jour à mesure que l’enquête progresse et que l’ingénierie inverse complète des échantillons de malware devient disponible.