L’analyse morphologique pour identifier la variante invisible d’Emotet


28 avril 2021

Emotet est un virus bancaire sévissant depuis 2014 et l’un des plus coûteux selon le Département de la Sécurité intérieure des Etats-Unis au même titre que les malwares Ryuk ou TrickBot. Présent dans un e-mail ou dans un lien piégé, Emotet se faufille dans de fausses factures, avis d’expédition ou même dans des informations de santé liées au covid-19

Le cheval de Troie Emotet est un dropper. Après infection, un dropper a pour fonction d’installer la charge, appelée payload. Ainsi, le dropper Emotet peut mettre en place d’autres rançongiciels et infecter totalement un endpointy.

De nouvelles variantes du cheval de Troie sont constamment identifiées, ce qui rend sa détection d’autant plus difficile pour la majorité des antivirus du marché.

Le 7 septembre dernier, l’ANSSI publiait un bulletin d’alerte sur le virus Emotet car ses dégâts, en France et dans le Monde, s’élevaient déjà à plus d’un million de dollars.

En octobre 2020, seuls sept anti-virus sur soixante-deux étaient capable d’identifier la présente du code malveillant.

Le 18 janvier 2021, une nouvelle variante du cheval de Troie a été soumise au site VirusTotal qui agrège 68 antivirus. Or, seulement 33 d’entre eux, soit moins de la moitié, ont détecté cette variante . La détection d’Emotet est cruciale, car elle signale les prémices d’une attaque dont les conséquences sont lourdes, et cette détection doit arriver le plus tôt possible.

Pourquoi des variantes du dropper Emotet échappent aux antivirus ? Même à ceux qui s’appuient sur des techniques d’intelligence artificielle, alors qu’Emotet sévit depuis plusieurs années ? La raison est que chaque variante incorpore un nouveau camouflage du dropper et dans le cas de cette variante d’Emotet, le programme initial est caché dans du code libre. De ce fait, une majorité d’antivirus est leurrée.

Comment détecter cette variante ?

Malgré l’efficacité des antivirus, il convient d’utiliser en complément une solution permettant de détecter, classifier et analyser les variantes de codes malveillants connus, mais également les menaces inconnues. La réponse passe par l’analyse morphologique. Cette méthode permet de rassembler et mettre en relation des comportements malveillants connus et inconnus afin d’assembler, en moins d’une seconde, toutes les pièces du puzzle. Afin d’éviter les « faux positifs », l’analyse morphologique prévoit d’exhiber un comportement similaire déjà identifié dans un code malveillant connu et ainsi inférer que la corrélation de comportement peut conduire à une action malveillante. Les meilleures solutions d’analyse morphologique offrent la possibilité de vérifier manuellement l’analyse du système. Dans le cadre de la variante d’Emotet, la variante était camouflée dans le logiciel libre Clipping Regions , et la portion code dans cette variante d’Emotet à partir de l’adresse mémoire 0x10002365 contient le vrai code d’exécution d’Emotet.

Démonstration en images :


En demandant plus d’information, l’analyse morphologique précise que ce fichier a un comportement malveillant et que ce comportant était déjà présent dans un autre code malveillant dont le MD5 est donné.


Ainsi, la variante est correctement détectée, surpassant la majorité des antivirus présents sur le site Virus Total.

Pour aller plus loin :

Etant donné que de nouvelles variantes de malwares fleurissent plus vite que les bourgeons au printemps, il est aujourd’hui nécessaire d’avoir recours à l’analyse morphologique pour garantir une protection efficace contre les attaques cyber. Que celles-ci soient sophistiquées, ciblées ou tout simplement pas encore détectées, la majorité des solutions antivirus ne suffisent pas pour s’en défendre. En effet, si les antivirus couvrent 99,9% des virus actuels, il n’en reste pas moins que les 0,01% restants sont responsables de 95% des dommages causés par les attaques cyber. Grâce à son temps de réponse inférieur à une seconde, l’exploration des comportements malveillants contenue dans l’analyse morphologique est une solution efficace et rapide contre les malwares inconnus.

Contactez nous :

L’équipe R&D de Cyber-Detect à l’origine des solutions d’analyses morphologiques répond à vos questions : contact[at]cyber-detect.com

Gorille détecte les codes malveillants obfusqués : Le Cas d’Emotet


20 Octobre 2020

Régulièrement, des variantes d’Emotet passent sous les radars des anti-virus, car ils sont obfusqués. L’ANSSI a averti de cette situation dans le bulletin d’alerte daté du 7 Septembre 2020. A Cyber-Detect, nous nous sommes donc demandé si Gorille était lui aussi capable de détecter les variantes d’Emotet.

Emotet est un cheval de Troie bancaire qui sévit depuis 2014. Emotet a évolué et les nouvelles versions comportent de nouveaux services de diffusion de spams et de malwares. D’après le Département de la Sécurité intérieure des États-Unis, les dégâts provoqués par Emotet s’élèveraient à 1M$, ce qui en fait un des malwares les plus coûteux.

Pour cela, nous avons pris l’exécutable dont le sha256 est : b97a688035a6d8e3db8d442db354632fdcedee0ab8610b1c101de532e6df9bd6

Cet exécutable contient une variante d’EMOTET. Nous l’avons soumis à Virus Total le 14 Octobre 2020. Seulement sept anti-virus sur les soixante-deux présents sur la plateforme Virus Total ont détecté la présence d’un code malveillant dans l’exécutable.


Ensuite, nous avons soumis, ce même exécutable à Gorille sur le site : http://demo.gorille.tech/


En moins d’une seconde, Gorille répond que cet exécutable est malveillant avec une analyse statique :


La première conclusion est que Gorille détecte cette variante d’Emotet à la différence de la grande majorité des anti-virus. Cela montre la capacité de Gorille à analyser des signaux faibles qui restent visibles malgré les protections appliquées sur cet échantillon d’Emotet. Le moteur d’analyse morphologique de Gorille arrive à détecter des signaux faibles, car il cherche des corrélations entre des comportements malveillants à bas niveau, c’est-à-dire au niveau du code exécutable.

Pour aller plus loin, nous avons procédé à une analyse dynamique. L’analyse statique est rapide, mais ne permet pas en général de passer outre les différentes obfuscations liées notamment aux packers. Au contraire, l’analyse dynamique permet de voir les différents processus qui sont lancés et déjoue de nombreuses obfuscation, ce qui permet d’analyser la charge (payload) de l’échantillon.

Le résultat de l’analyse dynamique, ci-dessous, confirme le précédent. Le temps d’analyse est d’environ 40 secondes.

L’analyse dynamique montre aussi que cet échantillon d’Emotet se déploie en dépackant 4 vagues successives de code. Chaque vague de code est analysée. Cet échantillon d’Emotet contient 33 sites en commun avec des codes malveillants connus. Or chacun de ces sites correspond à un comportement malveillant. Ce qui a déclenché l’alerte de Gorille. Gorille est aussi un outil intelligent de reverse-engineering. La première vague de code de cet échantillon contient le code d’une application qui est décrite par ce site : https://www.codeproject.com/Articles/1667/CPJAImage-Yet-another-image-drawing-class/. Le code de CPJAImage a été modifié de sorte à déchiffrer le programme qui va permettre d’installer Emotet. Le passage du déchiffrement de la charge à son exécution est donné ci-dessous :


En conclusion, le moteur d’analyse morphologique de Gorille analyse les comportements des fichiers binaires soumis et outrepasse les différentes mesures de protection qui cachent l’intention du fichier analysé. L’étude de cas présentée ici avec une variante d’Emotet, indetectée par la plupart des Anti-Virus, démontre l’efficacité de Gorille.

LockerGoga is smashed by GORILLE©


March, 22nd, 2019

Autor: Jean-Yves Marion
Co-Autor: Fabrice Sabatier

Today, we begin our blog. Our objective is to illustrate the uses of our software that we develop at CYBER-DETECT. Recent attacks of LockerGoga against Altran in France [1] and Norsk Hydro in Norway [2] illustrate the necessity to have advanced anti-malware defences. The attack in France happened in January and the one in Norway in March. Those attacks should have been stopped. That’s why we begin by this post today. Indeed, the behaviour engine GORILLE designed by CYBER-DETECT allows to detect LockerGoga and its variants without signature.


In a nutshell, GORILLE identifies malicious threats embedded in Linux, MacOS and Windows binary files. For this, GORILLE knows a collection of malicious behaviours. Each binary file submitted to GORILLE is then scanned and as soon as a set of malicious inter-link behaviours is detected, GORILLE raises an alert. There is no magic behind, just several years of hard work at Loria’s Computer Science Lab. But I guess we will come back in a future post on how GORILLE works and for the time being let’s come back to LockerGoga.
Since GORILLE search process is based on a collection of malicious behaviours, the first question which comes in mind is whether or not GORILLE is able to detect LockerGoga. GORILLE knows about 100,000 malicious behaviours. And GORILLE identifies 55 malicious behaviours in the submitted sample of LockerGoga.


The sample named LockerGogaAltran.bin [3] corresponds to the malware that attacks Altran in January 25th, 2019. On March 8th, 2019 that is two months later, MalwareHunter [4] discovered that a variant of LockerGoga, that we name here no-detected_LockerGoga.bin, was undetected by all anti-virus products in Virus Total [5].


As we see below, GORILLE detects 55 malicious behaviours in the yet undetected sample of LockerGoga, which are identical to the previous identified ones! The technological advance of GORILLE allows to stop variants of unknown threats.


Actually, we can play with GORILLE a little bit more. Indeed, GORILLE is able to learn the specific malicious functionalities of LockerGoga by itself.


GORILLE finds 24632 sites in LockerGoga, which represent 24632 seen behaviours, not only bad ones. In fact, LockerGoga incorporates, as usual in any software, third party libraries coming from Microsoft and open source libraries. Collectively, third party libraries also denote behaviours. That said, we can compare all behaviours of LockerGogaAltran.bin, which were involved in Altran incident and the no-detected_LockerGoga.bin of MalwareHunter.


There are 17951 common behaviours, roughly the half, that are common between both samples. Then, using our tool binsim from the expert GORILLE suite, we can synchronize both codes, that is to find the correspondence between functions of LockerGogaAltran.bin and no-detected_LockerGoga.bin. Here is an excerpt of the output of binsim:


It indicates that the code of no-detected_LockerGoga.bin at address 0x4c6a9ah is very similar to the one at address 0x4caec8h. And this is confirmed by IDA as it is shown in the Figure below:


Similarly, GORILLE shows that the sample LockerGoga_Norsk-Hydro.exe involved in the attack of Norsk Hydro in March 2019 has again 50% of similar behaviours.


The conclusion is that GORILLE would have detected LockerGoga_Norsk-Hydro and stopped the attack, as well as it could have detected the Altran attack. When we know that the most severe attacks come from unknown threats or fresh repacked good-old malware, that are most of the time undetected, we need application that think out of the box and GORILLE is one of them!

Download PDF file
Click here