Analyse d’un dropper JRat

Le CERT CONIX a reçu une pièce jointe à analyser dont l’analyse en sandbox a montré qu’il s’agissait du dropper d’un malware nommé JRat (également connu sous le nom d’Adwind). Ce malware permet à un attaquant d’espionner sa victime, de récupérer ce qui a été saisi au clavier, de prendre des screenshots de ses activités, faire des enregistrements audios ou encore de transférer des fichiers sur le poste compromis. Nous avons donc décidé d’analyser statiquement la structure de cette pièce jointe. Devant la complexité d’obfuscation et les techniques d’anti-analyses mises en place dans ce dropper de JRat, nous avons décidé de publier ce blogpost.

Lors de l’analyse, nous avons été confrontés à trois niveau de chiffrement employant des techniques différentes avant de pouvoir accéder au fichier de configuration du dropper qui permet finalement d’obtenir JRat.

L’objectif du premier niveau de chiffrement est de déchiffrer le fichier Loader.class. Dans le code obfusqué, nous avons trouvé un mécanisme de construction de chaînes de caractères qui nous a permis de trouver le chemin du fichier correspondant à la classe Loader ainsi qu’une clé secrète qui permet de le déchiffrer avec AES.

Cette classe Loader comprend elle-même deux étapes de chiffrement. La première, calquée sur la précédente consistait à déchiffrer certains fichiers avec une clé secrète AES écrite en dur dans le code. Une fois déchiffrés, ces fichiers étaient formatés de la manière suivante :

  • Chemin vers le fichier déchiffré
  • Chemin vers le fichier du jar correspondant (chiffré)
  • Clé secrète AES permettant de déchiffrer le fichier

JRat CONIX

Les chemins des fichiers à déchiffrer dans la seconde étape étaient indiqués dans un fichier de propriétés. Pour chacun de ces fichiers, le dropper JRat récupérait le chemin et la clé correspondante dans les fichiers déchiffrés précédemment puis procédait au déchiffrement.

Le dernier niveau de chiffrement consistait à récupérer une clé privée RSA contenue dans un fichier de données sérialisées en Java puis à utiliser cette clé pour déchiffrer un fichier contenant une clé secrète AES. Cette clé permettait de déchiffrer un fichier de configuration :

JRat CONIX

En appliquant le même procédé de déchiffrement que précédemment, nous avons obtenu un nouveau JAR qui était un des composants du payload final, c’est-à-dire JRat.

Dans le fichier de configuration, nous avons trouvé le site commercial de JRat que nous avons investigué. Nous y avons trouvé un compte Twitter, des statistiques de téléchargements, le prix auquel est vendu le malware mais aussi plusieurs moyens de communiquer avec les vendeurs.

Etant donné que nous souhaitions seulement analyser le dropper, nous n’avons pas poursuivi l’analyse du payload. Cependant, les résultats de l’analyse dynamique ainsi que les IOCs figurent dans le document publié avec ce blogpost.

Lors de l’analyse, le CERT Conix a produit des scripts python et du code Java afin de passer les différentes étapes de chiffrement. Ces outils sont disponibles ici : https://github.com/FliegenEinhorn/jrat_scripts

Retrouvez l’article dans son intégralité ici : CERT_CONIX_analyse_dropper_JRat

Merci à toutes les personnes qui ont relu cet article pour leurs conseils et leur aide.

Liens vers d’autres analyses en rapport avec ce malware :

https://blog.malwarebytes.com/cybercrime/2017/01/from-a-fake-wallet-to-a-java-rat/

http://www.alliacom.com/nous-suivre/blog/item/dissection-of-a-java-malware-jrat

https://www.symantec.com/blogs/threat-intelligence/surge-adwind-distribution-emails

Cet article Analyse d’un dropper JRat est apparu en premier sur CONIX Cybersécurité.

source : CONIX Cybersécurité http://ift.tt/2nmIbwN January 25, 2018 at 03:34PM