Comme je l’avais moi-même observé, les chercheurs ont relevé que l’Inde et le Vietnam sont de loin les principaux pays hébergeant des adresses IP à l’origine des campagnes de spams malveillantes organisées pour distribuer la pièce jointe vicieuse.
Par ailleurs, ces deux pays, surtout le premier, font eux-mêmes partie des premières victimes d’attaques de Locky, la France et l’Allemagne se trouvant en tête.
http://www.journaldunet.com/solutions/expert/64498/attention—les-campagnes-d-e-mails-malveillants-avec-des-pieces-jointes-javascript-explosent.shtml
Attention : les campagnes d’e-mails malveillants avec des pièces jointes JavaScript explosent
Alors que les menaces consistaient depuis des années en des documents Office contenant des macros malveillantes, l’utilisation directement dans les e-mail de codes .js plus discret s’accroît.
Ces derniers mois, les chercheurs de Proofpoint ont repéré une nouvelle tendance dans les campagnes d’e-mails malveillants : la présence de fichiers JavaScript en pièces jointes. Alors que les menaces consistaient depuis des années en des documents Microsoft Office contenant des macros malveillantes et que les utilisateurs comme la plupart des antivirus sont généralement conscients des dangers des fichiers .exe (exécutables) joints aux e-mails, l’utilisation directement dans les e-mail de code .js plus discret s’accroît.
Alors pourquoi .js ? Selon Bryan Burns, vice-président en charge des recherches sur les menaces chez Proofpoint :
« Les utilisateurs ont été sensibilisés à ne pas cliquer sur les pièces jointes .exe mais bon nombre d’entre eux risquent de ne pas savoir ce qu’est un fichier js ni même qu’il peut être tout aussi dangereux. Son icône ressemble à celle d’un document, d’où une certaine confusion. Dans d’autres cas, les pièces jointes voient l’extension de leur nom de fichier modifiée pour avoir l’air inoffensif, ce qui n’empêche pas Windows d’exécuter normalement le code JavaScript si l’utilisateur clique deux fois sur le fichier dans un e-mail. »
Le simple volume des messages est également un trait distinctif de ces campagnes. Le graphique ci-dessous illustre les volumes relatifs de pièces jointes .js par rapport à d’autres documents malveillants dans les campagnes récentes, montrant que celles-ci dépassent tous les autres types cumulés de pièces jointes d’un facteur 4 à 8 à leurs pics :
Il s’agit en fait des campagnes de plus grande ampleur observées ces dernières années par les chercheurs de Proofpoint, faisant appel à des botnets massifs pour diffuser des volumes considérables d’e-mails malveillants. Si ces botnets sont de dimension mondiale, l’Inde et le Vietnam sont de loin les principaux pays hébergeant des adresses IP à l’origine de ces campagnes. La carte ci-dessous indique la répartition des messages par pays source.
L’ampleur des campagnes donne à penser que leurs auteurs parient sur la naïveté des utilisateurs face à cette méthode rarement employée. Tandis que de nombreux e-mails malveillants comportent des fichiers joints .js sans modification, d’autres utilisent du code JavaScript masqué avec des extensions différentes ou sous forme de fichiers compressés pour en dissimuler davantage encore la nature aux destinataires.
Même si cette technique a été employée précédemment avec des variantes de ransomware telles que Teslacrypt et CryptoWall, ces campagnes implantent quasi exclusivement Locky et Dridex. Nous n’avons guère observé de ciblage sectoriel ou vertical mais, du fait que Dridex utilise des implants spécifiques à certains pays et établissements bancaires, nous avons noté un certain ciblage géographique aux Etats-Unis, au Royaume-Uni et en Europe de l’Ouest. Locky, pour sa part, lance beaucoup plus des attaques volumétriques peu ciblées.
En outre, les e-mails trompeurs propagés par ces campagnes ne diffèrent pas fondamentalement des autres campagnes reposant sur des pièces jointes standard Microsoft Office. L’objectif de leurs auteurs reste d’inciter les destinataires à cliquer sur les fichiers, même si le destinataire n’a pas à effectuer une action supplémentaire en activant les macros. Les fichiers JavaScript s’exécutent dès qu’ils sont ouverts, tentant d’installer directement un malware.
Ces campagnes sont inquiétantes pour deux raisons :1/ Leurs volumes massifs augmentent considérablement le risque que les messages aboutissent à des destinataires qui ne disposent pas d’une protection suffisante ou qui n’ont pas conscience du danger potentiel de ces pièces jointes.
2/ Les fichiers ne sont pas immédiatement identifiables comme malveillants (à la différence des fichiers .exe) et n’affichent pas de messages d’alerte liés aux macros.
Pour les entreprises comme pour les particuliers, cela signifie qu’il est plus important que jamais d’utiliser des solutions antimalware capables de détecter les menaces avancées. Dans le même temps, nous devons veiller à ce que les utilisateurs demeurent vigilants en observant les meilleures pratiques en matière d’e-mail et en étant conscients de la diversité croissante des pièces jointes susceptibles d’être malveillantes.
https://securelist.fr/blog/recherche/64863/locky-the-encryptor-taking-the-world-by-storm/
Locky, un ransomware international
Fedor Sinitsyn – avril 6, 2016. 10:12
En février 2016, Internet a été secoué par une épidémie provoquée par le nouveau trojan ransomware Locky (Trojan-Ransom.Win32.Locky dans les verdicts de Kaspersky Lab). La propagation du malware est toujours active à ce jour. Les solutions de Kaspersky Lab ont détecté des tentatives d’infection chez des utilisateurs répartis dans 114 pays.
L’analyse de l’échantillon a démontré qu’il s’agissait d’un tout nouveau représentant d’une classe de ransomware créé à partir de zéro. Que représente Locky et comment s’en protéger ?
Propagation
Pour diffuser le trojan, les individus malintentionnés organisent des envois massifs de spams avec des downloaders malveillants en pièce jointe.
Au début, les spams malveillants contenaient un fichier doc en pièce jointe. Ce fichier renfermait une macro qui téléchargeait le trojan Locky depuis un serveur distant, puis qui l’exécutait.
Message tiré des premières diffusions avec le document malveillant en pièce jointe
Extrait du code de la macro
Les solutions de Kaspersky Lab détectent les fichiers avec les macros malveillantes sous les verdicts Trojan-Downloader.MSWord.Agent et HEUR:Trojan-Downloader.Script.Generic.
Signalons que pour des raisons de sécurité, l’exécution automatique des macros est désactivée dans les versions récentes de la suite MS Office. Toutefois, la pratique nous montre que bien souvent, les utilisateurs activent les macros manuellement, même dans des documents d’origine inconnue, ce qui provoque de fâcheuses conséquences.
La diffusion du spam malveillant se maintient. En revanche, la pièce jointe n’est plus un fichier doc, mais bien une archive zip qui contient un ou plusieurs scripts obfusqués en langage JavaScript. Les messages sont rédigés principalement en anglais, mais il existe des versions bilingues.
Message en anglais avec une archive jointe
Message en anglais et en allemand avec une archive jointe
La victime doit exécuter les scripts manuellement.
Contenu de l’archive jointe au message
Extrait d’un script de l’archive
Une fois exécuté, le script télécharge le trojan Locky depuis un serveur distant, puis l’exécute.
Kaspersky Lab classe ces téléchargeurs par script sous les verdicts Trojan-Downloader.JS.Agent et HEUR:Trojan-Downloader.Script.Generic.
Répartition géographique des attaques
D’après les données de KSN, des attaques de Locky ont été enregistrées dans 114 pays.
Top 10 des pays
Pays | Nombre d’utilisateurs attaqués |
France | 469 |
Allemagne | 340 |
Inde | 267 |
Etats-Unis | 224 |
République Sud-Africaine | 182 |
Italie | 171 |
Mexique | 159 |
Brésil | 156 |
Chine | 126 |
Vietnam | 107 |
Signalons que ces statistiques ne portent que sur les détections du trojan en lui-même. Elles ne tiennent pas compte des détections aux différentes étapes de l’attaque (spam malveillant et downloader).
Répartition géographique Trojan-Ransom.Win32.Locky (nombre d’utilisateurs attaqués)
Cette carte illustre bien que pratiquement aucune région n’est épargnée par le trojan. Nous pouvons déduire la liste des pays pris pour cible en premier lieu par les individus malintentionnés en consultant la liste des langues sur la page du paiement de la rançon (voir ci-après).
Fonctionnement du trojan
Le trojan Locky est un fichier exécutable d’environ 100 Ko. Le malware a été programmé en C++ avec STL et il a été compilé dans MS Visual Studio. Une fois exécuté, il se copie dans %TEMP%\svchost.exe et supprime de sa copie le flux NTFS Zone.Identifier (pour éviter que Windows n’affiche, lors du lancement du fichier, un avertissement sur le fait que le fichier a été téléchargé depuis Internet et qu’il pourrait être dangereux). Ensuite, le trojan s’exécute depuis %TEMP%.
Une fois lancé, le trojan vérifie si les clés de la base de registre ci-dessous sont présentes et contrôle leur contenu.
Chemin | Type | Valeur |
HKEY_CURRENT_USER\Software\Locky\id | REG_SZ | Identifiant de l’infection |
HKEY_CURRENT_USER\Software\Locky\pubkey | REG_BINARY | Clé publique RSA au format MSBLOB |
HKEY_CURRENT_USER\Software\Locky\paytext | REG_BINARY | Texte affiché pour la victime |
HKEY_CURRENT_USER\Software\Locky\completed | REG_DWORD | Etat (chiffrement terminé ou non) |
Si les clés de la base de registre contiennent déjà des données (ce qui sera le cas si le malware avait déjà été exécuté mais que son fonctionnement avait été interrompu), Locky les lit et poursuit l’infection.
S’il s’agit de la première exécution, le trojan réalise les opérations suivantes :
- Il contacte le serveur de commande et signale l’infection.
- Il obtient du serveur la clé publique RSA-2048 ainsi que l’identifiant d’infection et il les enregistre dans la base de registre.
- Il envoie au serveur les informations relatives à la langue du système d’exploitation infecté, obtient le texte avec les demandes des individus malintentionnés qui sera présenté à la victime et l’enregistre dans la base de registre.
- Il chiffre les fichiers portant certaines extensions sur les disques locaux.
- Il supprime les clichés instantanés (shadow copies) des fichiers.
- Il s’inscrit dans le démarrage automatique (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run).
- Il recherche les fichiers portant certaines extensions sur les disques réseau (y compris les ressources fichier réseau auxquelles aucune lettre de disque n’est associée) et les chiffre.
- Il affiche à la victime les demandes des individus malintentionnés.
- Il termine son processus et se supprime lui-même.
Extrait du code pour l’obtention d’informations sur la langue du système
Chiffrement des fichiers
Le malware recherche les fichiers à chiffrer selon une liste définie d’extensions.
Liste des extensions de fichiers à chiffrer
Pour chaque fichier qu’il trouve, Locky génère une nouvelle clé de 128 bits et chiffre le contenu du fichier à l’aide d’un algorithme AES-128 en mode CTR. Le fichier chiffré reçoit un nom au format <ID de 16 caractères hexadécimaux><16 caractères hexadécimaux aléatoires>.locky. La structure suivante se retrouve à la fin du fichier :
Structure que Locky place à la fin du fichier chiffré
Dans la syntaxe du langage C, cette structure peut être décrite de la manière suivante :
1
2
3
4
5
6
7
8
9
|
struct file_data
{
uint32_t start_marker; //Signature du début de la structure = 0x8956FE93
char id[16]; //ID de l’infection
uint8_t aes_key[256]; //Clé AES, chiffrée selon RSA-2048
uint32_t name_marker; //Signature AES chiffrée du début du nom (= 0xD41BA12A après déchiffrement)
uint8_t orig_name[520]; //Nom original du fichier chiffré selon AES
WIN32_FILE_ATTRIBUTE_DATA attr; //Attributs d’origine du fichiers chiffrés selon AES
};
|
Demandes des individus malintentionnés
Quand les fichiers ont été chiffrés, le malware présente à la victime les demandes des individus malintentionnés.
Demandes des individus malintentionnés en anglais
Demandes des individus malintentionnés en allemand
Le message contient l’adresse du « serveur secret » des individus malintentionnés où ils ont stocké les informations relatives à la rançon à payer pour obtenir le programme de déchiffrement. Les quatre liens du message mènent vers le même site dans le réseau Tor.
Lors de la première vague de diffusion de Locky, le design de la page de paiement ressemblait à ceci :
Page de Locky reprenant les conditions de paiement pour le programme de déchiffrement (ancienne version)
Les individus malintentionnés proposaient sur cette page de payer le programme de déchiffrement des fichiers de la victime en bitcoins. Ils expliquaient où et comment obtenir cette cryptodevise.
Par la suite, le design et le contenu de la page ont changé. A l’heure actuelle, elle prend en charge plus de 200 langues (liste déroulante) et ressemble à ceci :
Page de paiement de la rançon de Locky (version actuelle)
L’analyse du code source de cette page permet de voir la liste complète des langues prises en charge. Il est évident que les individus malintentionnés dirigent les attaques du trojan ransomware contre ces pays. Il est intéressant de constater que le russe et les langues des pays de la CEI ne figurent pas dans la liste. Pour une raison quelconque, les individus malintentionnés ne tentent pas d’attaquer les utilisateurs des pays correspondants, ce qui est confirmé par les statistiques de KSN.
Liste des langues prises en charge par la page de paiement de la rançon de Locky
Communication avec le serveur de commande
Le code du trojan compte entre une et trois adresses IP du serveur de commande. Qui plus est, le malware intègre un algorithme de création d’adresses de serveur de commande (DGA, domaine generation algorithm) en fonction du jour, du mois et de l’année. Cet algorithme génère 6 adresses de serveur de commande par jour. La capture d’écran ci-dessous reprend le pseudocode qui illustre l’algorithme DGA de Locky.
Pseudocode de l’algorithme de génération d’adresses du serveur de commande Locky
L’interaction avec le serveur de commande s’opère selon le protocole HTTP. Le trojan envoie une requête POST à une adresse du genre http://<cnc_url>/main.php, les données transmises sont chiffrées selon un algorithme symétrique simple.
Penchons-nous un instant sur les types de paramètres qui peuvent être transmis.
- Notification de l’infection et demande de la clé.
id=<id de l’infection>
&act=getkey&affid=<id du partenaire, contenue dans le corps du trojan>
&lang=<langue du système>
&corp=<version entreprise ou non du système d’exploitation>
&serv=<version serveur ou non du système d’exploitation>
&os=<version du système d’exploitation>
&sp=<version du service pack du système d’exploitation>
&x64=<version du système> A en croire le paramètre affid, Locky est diffusé dans le cadre d’un partenariat. - Envoi de la liste des chemins chiffrés.
id=<id de l’infection>
&act=report&data=<liste des chemins> Pour chaque disque traité, le trojan envoie au serveur une liste de tous les chemins d’accès à tous les fichiers chiffrés. - Envoi des statistiques sur chaque disque traité
id=<id de l’infection>
&act=stats&path=<chemin d’accès>
&encrypted=<nombre de fichiers cryptés>
&failed=<nombre d’erreurs>
&length=<longueur totale des fichiers chiffrés>
Signalons que le malware collecte des statistiques très précises sur chaque infection. Les familles de ransomwares que nous avons analysées par le passé n’étaient pas aussi méticuleuses.
Résistance
Les solutions de Kaspersky Lab offrent une protection contre le trojan ransomware Locky à toutes les étapes de l’attaque :
- Le module antispam détecte les fichiers envoyés par les propagateurs du trojan.
- Les scripts de téléchargement sont détectés par les signatures statiques et heuristiques des antivirus courrier et fichiers sous les verdicts Trojan-Downloader.MSWord.Agent, Trojan-Downloader.JS.Agent, HEUR:Trojan-Downloader.Script.Generic.
- Le fichier exécutable du trojan est détecté par les signatures de l’antivirus fichiers sous le verdict Trojan-Ransom.Win32.Locky.
- Les versions inconnues de Locky sont détectées de façon proactive par le module » System Watcher » sous le verdict PDM:Trojan.Win32.Generic.
Prévention des infections
Locky est un trojan ransomware traditionnel. Son organisation interne et son principe de fonctionnement n’affichent aucune différence majeure par rapport aux autres familles de ransomware. Ce qui attire l’attention des chercheurs, c’est la diffusion active et géographiquement étendue de ce malware. D’après les données de KSN, les solutions de Kaspersky Lab ont déjoué des attaques de Locky dans plus de 100 pays. Aucun autre trojan ransomware n’avait jamais attaqué autant de pays simultanément.
Afin de ne pas devenir la prochaine victime de Locky, vous devez prendre les mesures de prévention suivantes :
- Ne pas ouvrir les pièces jointes de messages électroniques provenant d’expéditeurs inconnus.
- Créer régulièrement des copies de sauvegarde des fichiers et les conserver sur des disques durs amovibles ou dans le cloud.
- Maintenir les bases antivirus, le système d’exploitation et les applications installées à jour.
- Dans le cadre de la gestion des dossiers partagés, créer un dossier réseau distinct pour chaque utilisateur.
Vous trouverez ici de plus amples informations sur les mesures de protection contre les trojans ransomwares.
Aucun commentaire:
Enregistrer un commentaire