GORILLE© détecte les codes malveillants obfusqués : le cas d’EMOTET

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.