Des ransomwares 100% JavaScript, pas de téléchargement nécessaire !
SophosLabs et nos collègues de SurfRight viennent de nous alerter concernant un nouveau ransomware intriguant appelé RAA.
Ce dernier est bloqué par Sophos sous le nom JS/Ransom-DDL, et malgré le fait qu’il ne soit pas très répandu il est un spécimen intéressant dans l’univers des ransomwares.
Voici notre analyse sur ce ransomware.
Les ransomwares, comme tous les malwares, s’infiltrent au sein de votre organisation de plusieurs manières différentes : cachés à l’intérieur d’une pièce jointe, via des sites web piégés, par le biais d’exploits kits, grâce à une clé USB infectée et plus rarement via un worm réseau qui se répand par lui-même.
Cependant les pièces jointes semblent beaucoup plus efficaces pour les cybercriminels, en utilisant notamment de fausses factures et des documents officiels créés de toute pièce, afin de vous pousser à ouvrir la pièce jointe en question… au cas où !
En 2015, la plupart des ransomwares étaient acheminés par des documents Word contenant des macros : à savoir des programmes script qui peuvent être intégrés au sein de documents afin d’adapter leur contenu en temps réel, et qui en général se mêlent au workflow de votre entreprise.
Néanmoins, le problème avec les macros est qu’elles ne sont pas limitées à l’adaptation et la modification du seul document dans lequel elles sont intégrées.
Les Macros peuvent se transformer en de véritables programmes à part entière et redoutables, telle une application indépendante. Elles peuvent non seulement lire et écrire des fichiers sur votre disque C: ainsi que sur votre réseau local, mais également télécharger et lancer d’autre fichiers depuis internet.
En d’autres termes, une fois que vous avez lancé une macro, vous avez indirectement autorisé cette dernière à installer et à lancer n’importe quel logiciel de son choix, tels que des malwares, et ce sans avertissement ou autres boites de dialogue pour vous prévenir.
Vous pouvez facilement comprendre pourquoi le cybercriminels adorent les macros !
Par chance, les macros sont désactivées par défaut, ainsi les cybercriminels doivent vous convaincre de les activer de nouveau après l’ouverture de leurs documents piégés.
Les différentes excuses qu’ils invoquent pour cela sont l’activation pour “des raisons de sécurité” (ou plus exactement d’insécurité !), ou encore l’activation pour rendre un document lisible par une transformation de caractères, comme l’exemple ci-dessous qui émane du ransomware Locky :
Le passage en JavaScript
Début 2016, beaucoup de cybercriminels ont de plus en plus fait évoluer leurs stratégies d’infection du fait de la prise de conscience générale que l’activation des macros était devenue vraiment une mauvais idée.
De nos jours, beaucoup de ransomwares arrivent intégrés au sein de pièces jointes en JavaSript.
Dans le cas où vous vous demanderiez pourquoi quelqu’un ouvrirait un fichier .JS
qui prétendrait être un document, rappelez-vous juste la chose suivante :
Habituellement, le JavaScript malveillant se connecte à un serveur de téléchargement, recherche le véritable ransomware sous la forme d’un programme exécutable Windows (un fichier .EXE
), et le lance pour finaliser le processus d’infection.
JavaScript à 100%
Cependant, JS/Ransom-DDL utilise encore une autre technique.
Le JavaScript ne télécharge pas le ransomware, il est lui-même un ransomware
Ceci est rendu possible car :
Aucun logiciel additionnel n’est téléchargé, ainsi une fois que le malware JS/Ransom-DDL est entré au sein de votre réseau, il est prêt à chiffrer toutes vos données et à afficher un message pour vous faire payer, et tout ceci de manière autonome.
Lorsqu’il est en action, il ouvre un fichier dans WordPad pour détourner votre attention :
Ce document a été créé dans une version récente de MS Word et ne peut être ouverte avec votre version actuelle de WordPad.
Contactez le créateur du fichier, ou ouvrez le fichier avec MS Word 2013.
Certaines parties du contenu en question peut ne pas s’afficher correctement.
Ce fichier leurre, en quelque sorte, contient un message d’erreur qui est supposé vous convaincre que le fichier que vous venez d’ouvrir est vraiment un document, et détourne par la même occasion votre attention pendant que le ransomware travaille.
Le payload
A proprement parler, ce ransomware n’est pas entièrement autonome : comme beaucoup d’autres familles de ransomwares, il effectue tout d’abord un “call home” auprès d’un serveur exploité par les cybercriminels eux-mêmes afin d’obtenir les clés de chiffrement.
Le serveur répond avec une identifiant unique et fourni une clé de chiffrement aléatoire AES, afin d’empêcher que les victimes ne partagent cette dernière entre eux.
Si vos données se retrouvent chiffrées, vous avez besoin de mentionner votre identifiant personnel et d’acheter la clé AES correspondante pour récupérer vos données.
La clé AES téléchargée par le JavaScript malveillant n’est pas conservée en mémoire, ainsi une fois que le chiffrement est terminé, et que le programme JavaScript existe, les cybercriminels ont en leur possession la seule copie de la clé.
Une fois cette phase de chiffrement achevée, vous allez découvrir une page README vous indiquant la marche à suivre pour acheter la clé qui vous permettra de récupérer vos données :
Cette “pay page” se base sur la recette classique utilisée par les ransomwares :
***ATTENTION!***
Vos fichiers ont été chiffrés par le malware RAA.
L’algorithme AES-256 a été utilisé pour le chiffrement, la même technique de chiffrement utilisée pour protéger les secrets d’Etat.
Cela signifie que la récupération de vos données est possible seulement en achetant la clé auprès de nous.
Acheter la clé est la solution la plus simple !
Vous n’avez pas besoin de comprendre le russe pour comprendre que le prix à payer est de 0.39 Bitcoins, soit à peu près 250$.
Les cybercriminels vous suggèrent également (point N°2) de déchiffrer quelques fichiers avant de payer afin de vous prouver qu’ils sont vraiment en possession de la clé en question, même s’ils ne vous expliquent pas clairement comment vous êtes supposés leur envoyer les fichiers à tester.
Et ce n’est pas tout ….
La plupart des attaques par ransomwares que nous avons pu observer ces dernières années commencent en général par le chiffrement de vos données, et finissent par le déchiffrement de ces dernières, une fois le paiement effectué.
En d’autres termes, l’élément central de ce cybercrime était de vous pousser à payer cette rançon, avec comme acteur principal le ransomware au début et à la fin du processus.
Après le déchiffrement de vos fichiers et après vous êtes assurés que le ransomware n’était plus présent sur votre ordinateur de façon à éviter d’être de nouveau victime accidentellement de celui-ci, en théorie vous êtes de retour au point où vous vous trouviez avant l’attaque.
Cependant, JS/Ransom-DDL est assez diffèrent car il installe de façon délibérée une deuxième infection par malware : un voleur de mots de passe bloqué par Sophos sous le nom de code Troj/Fareit-AWR.
Cette infection par le malware Fareit n’a pas été téléchargé. En effet, il a été programmé en base 64 au sein d’une séquence JavaScript qui est elle-même stockée à l’intérieur d’un fichier ransomware, et installée par le ransomware comme un élément additionnel.
Le code du programme qui envoie le fichier Fareit sur votre disque dur et le lance est dissimulé par le processus de chiffrement AES, via l’utilisation d’une clé de déchiffrement stockée au sein du malware :
Le malware Fareit ainsi envoyé est stocké dans le répertoire MesDocuments en utilisant la dénomination suivante : st.exe.
Quoi Faire ?
A propos, si vous payez la somme exigée par le ransomware, ne partez pas du principe que l’outil de récupération mis à disposition par les cybercriminels nettoiera votre ordinateur en plus du déchiffrement de vos données.
A ma connaissance, le ransomware dans le cas abordé plus haut risque d’être lui-même une sorte de leurre avec pour objectif de vous distraire pendant le processus d’infection par le composant visant à l’installer le voleur de mots de passe, et ce même si vous aurez récupéré vos données d’une autre part.
COMMENT PARAMETRER EXPLORER POUR OUVRIR LES FICHIERS .JS DANS NOTEPAD
Faites un clic droit sur le fichier .JS, et ensuite cliquez sur Ouvrir avec|Choisir un programme par défaut|Autres Programmes :
Sélectionnez Notepad et activer la case “toujours utiliser ce programme pour ouvrir ce type de fichier” :
COMMENT PARAMETRER EXPLORER POUR VISUALISER LES EXTENSIONS DES FICHIERS
Cliquer sur Affichage dans le menu, cliquez sur Options, dans la boite de dialogue qui s’affiche, ouvrez l’onglet Affichage et dans la liste Paramètres avancés, décochez la case Masquer les extensions des fichiers dont le type est connue, et validez par OK. Désormais, les extensions des fichiers seront toujours affichées :
Follow @SophosFrance
//
Partagez Des ransomwares 100% JavaScript, pas de téléchargement nécessaire ! avec : http://wp.me/p2YJS1-2Ls
Billet inspiré de Ransomware that’s 100% pure JavaScript, no download required par Paul Ducklin, Sophos nakedsecurity.