Pages

mardi 14 juin 2016

Le crypto-rançonneur Locky mis à nu par les spécialistes


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 :

Le crypto-rançonneur Locky mis à nu par les spécialistes dans Crime 20487

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.

20488 dans Folie

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


– 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.

Locky, un ransomware international
Message tiré des premières diffusions avec le document malveillant en pièce jointe

Locky, un ransomware international
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.

Locky, un ransomware international
Message en anglais avec une archive jointe
Locky, un ransomware international
Message en anglais et en allemand avec une archive jointe

La victime doit exécuter les scripts manuellement.

Locky, un ransomware international
Contenu de l’archive jointe au message

Locky, un ransomware international
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).

map_1_fr
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 :

  1. Il contacte le serveur de commande et signale l’infection.
  2. Il obtient du serveur la clé publique RSA-2048 ainsi que l’identifiant d’infection et il les enregistre dans la base de registre.
  3. 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.
  4. Il chiffre les fichiers portant certaines extensions sur les disques locaux.
  5. Il supprime les clichés instantanés (shadow copies) des fichiers.
  6. Il s’inscrit dans le démarrage automatique (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run).
  7. 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.
  8. Il affiche à la victime les demandes des individus malintentionnés.
  9. Il termine son processus et se supprime lui-même.

Locky, un ransomware international
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.

Locky, un ransomware international
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 :

Locky, un ransomware international
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
};
Description de la structure ajoutée dans la syntaxe du langage C

Demandes des individus malintentionnés


Quand les fichiers ont été chiffrés, le malware présente à la victime les demandes des individus malintentionnés.

Locky, un ransomware international
Demandes des individus malintentionnés en anglais

Locky, un ransomware international
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 :

Locky, un ransomware international
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 :

Locky, un ransomware international
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.

Locky, un ransomware international
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.

Locky, un ransomware international
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.

  1. 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.
  2. 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.
  3. 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