Protection contre les logiciels ransomwares à l’aide de FSRM et PowerShell

Alors que le FBI continue d’enquêter sur les attaques MedStar et une série d’autres attaques récentes de logiciels ransomwares, j’ai décidé de décrire un cas à partir de ma propre expérience lorsque j’ai reçu un fichier crypté et que je l’ai ouvert. Quelles mesures aurais-je dû prendre pour protéger mon système contre les logiciels malveillants de cryptage de fichiers ?

Contexte

Eh bien, j’ai reçu un courriel avec l’habituel « Veuillez voir le document ci-joint, ou il vous en coûtera beaucoup d’argent ». En pièce jointe se trouvait un fichier zip contenant 2 fichiers – un document Word et un fichier JavaScript :

J’ai été surpris que les spammeurs utilisent maintenant la dernière version d’Office comme excuse pour expliquer pourquoi vous ne pouvez pas lire leur document (macro activées).

À propos, si vous pensez que l’image semble authentique, c’est parce qu’elle l’est ! C’est la boîte de dialogue « Optimisez avec Windows 10 » qui s’ouvre, avec quelques modifications mineures du texte.

Rien que pour m’amuser, j’ai activé les macros dans un environnement réseau isolé, et j’ai surveillé ce qui s’est passé ensuite en utilisant Process Monitor de Sysinternals.

Le document Word a téléchargé un document texte codé en base64, l’a écrit dans le dossier %temp% de l’utilisateur, l’a renommé en .exe et l’a exécuté. (Le fichier JavaScript qui se trouvait dans le fichier zip d’origine offre une expérience similaire.)

Il semble s’agir d’une variante de la famille de logiciels malveillants « Teslacrypt », et procède au chiffrement de tous les documents de l’utilisateur, du bureau et de pratiquement tout ce qu’il peut toucher.

Dans un environnement réel cependant ; espérons que la plupart, sinon la totalité, des fichiers de l’utilisateur sont stockés sur un serveur de fichiers d’une manière ou d’une autre – qu’il s’agisse de dossiers de travail, de redirection de dossiers, etc.

Nous supposons également que le logiciel malveillant a contourné toutes les politiques de restriction logicielle, les restrictions sur l’exécution des macros dans les politiques Office que vous auriez pu avoir en place. Il s’agit d’une dernière tentative pour empêcher le ransomware de tout encrypter….

Utilisation de File Server Resource Manager

Nous pouvons utiliser le File Server Resource Manager (FSRM) comme système pour empêcher les logiciels malveillants déjà en cours d’exécution d’infecter l’ensemble du serveur de fichiers.

Nous allons configurer FSRM pour surveiller les partages afin de détecter toute activité suspecte associée à un Ransomware, les adresses e-mail d’administrateurs désignées et bloquer l’accès de l’utilisateur infecté aux partages sur ce serveur.

Si vous n’avez pas déjà installé File Server Resource Manager sur votre serveur de fichiers, installez-le maintenant à partir de Server Manager -> Add Roles and Features :

Une fois installé, lancez-le à partir du menu Server Manager’s Tool.

La première chose que nous devons faire est de configurer le système d’alerte e-mail avec votre serveur de messagerie. Pour ce faire, choisissez « Configure Options » dans le panneau d’actions à droite. Une fenêtre apparaît dans l’onglet ‘‘e-mail Notifications ».

La première chose que nous devons faire est de configurer le système d’alerte e-mail avec votre serveur de messagerie. Pour ce faire, choisissez « Configure Options » dans le panneau d’actions à droite. Une fenêtre apparaît dans l’onglet ‘‘e-mail Notifications ».

Entrez le nom de domaine entièrement qualifié (FQDN) ou l’adresse IP de votre serveur de messagerie dans la première case, une liste d’e-mails séparés par un point-virgule pour recevoir les alertes dans la 2ème, et une adresse e-mail valide sur votre serveur de messagerie dans la 3ème.

Appuyez sur Envoyer l’e-mail de test, et attendez qu’il soit envoyé. Si vous ne recevez rien, il se peut que vous ayez besoin d’activer le relais non authentifié pour ce serveur de fichiers sur votre système de messagerie. Appuyez sur OK pour terminer.

Configuration de l’écran fichier

FSRM a une excellente fonction appelée File Screening, qui vous permet de définir les actions à effectuer lorsque les utilisateurs tentent d’enregistrer certains types de fichiers sur le réseau. Dans notre environnement, nous l’utilisons pour empêcher les utilisateurs d’enregistrer des fichiers exécutables dans leurs dossiers personnels.

Dans ce cas, nous allons mettre en place un filtrage régulier sur le partage de fichiers et sur un nouveau partage de fichiers, qui agira comme un pot de miel pour les logiciels ransomware.

  • Dans le volet de navigation, cliquez ‘File Screens’ et ‘Create File Screen’ sur le volet d’action. Cliquez sur Parcourir et naviguer jusqu’au niveau supérieur de vos partages de fichiers. Par exemple, j’ai configuré quelques actions dans D:\Shares\Shares\…. donc c’est le chemin à choisir ici.
  • Cliquez ‘Define custom file screen properties’ -> Custom Properties.
  • Laissez ‘screening type’ en tant que ‘active’, ce qui empêchera votre serveur de fichiers d’être rempli de fichiers cryptés.
  • Cliquez ‘Create’ sous ‘Maintain file groups’
  • Donnez au groupe un nom comme « Fichiers Ransomware connus » et ajoutez « testfile.txt » dans la première case : (Nous mettrons à jour cette liste via un script plus tard)

  • Cliquez OK, puis cochez le groupe dans la liste :

  • Sur le deuxième onglet, cochez la case ‘‘Send e-mail’’ et personnalisez le message si vous le souhaitez.
  • Dans l’onglet « Command », cochez la case et entrez le chemin d’accès à PowerShell.exe dans la première case. Dans mon système, c’est comme ci-dessous :
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • Dans la deuxième case, « command arguments », entrez le script PowerShell ci-dessous :
-ExecutionPolicy Unrestricted -NoLogo -Command "& { Get-SmbShare -Special $false | ForEach-Object { Block-SmbShareAccess -Name $_.Name -AccountName '[Source Io Owner]' -Force } }"

Ce script bloquera l’accès de l’utilisateur à tous les partages, sur ce serveur, chaque fois qu’il est détecté, qu’il a écrit un fichier qui correspond au modèle d’écran du fichier ransomware, empêchant efficacement le malware de faire plus de dommages, mais sans causer de temps d’arrêt pour les autres utilisateurs du serveur. (Hourrah, enfin une véritable utilisation des permissions d’actions!)

Si vous utilisez toujours Server 2008, la commande Get-SmbShare n’est pas disponible. À la place, vous pouvez utiliser le pare-feu Windows pour bloquer l’accès de tous les utilisateurs au serveur. Dans la première case, entrez :

c:\windows\system32\netsh.exe

Puis dans la seconde :

advfirewall firewall add rule name="*TEMPORARY BLOCK RANSOMWARE DETECTED*" dir=in protocol=tcp interface=any action=block localport=139,443,445

Mais soyez prévenu, ça empêche tout le monde d’accéder au serveur

Finalement, cliquez ‘Local System’ dans la section ‘run as’ et pressez OK.

Cliquez sur Créer et enregistrez les propriétés sous « Ransomware Screen Template ». Cela vous permettra de l’appliquer facilement à toutes les autres actions que vous pourriez avoir.

Le pot de miel

Pour aller plus loin, nous pouvons créer un nouveau partage qui servira de « pot de miel », et incitera le logiciel ransomware à y écrire sans endommager les fichiers de l’utilisateur.

En utilisant le Gestionnaire de Serveur -> File and Storage Services -> Shares, create a new Share called ‘$Honeypot’. Assurez-vous de donner aux utilisateurs authentifiés, un contrôle total sur les autorisations de fichiers et les autorisations de partage.

Nous utilisons le signe du dollar au début afin de placer le pot de miel en premier dans la liste des actions lors de la navigation sur le serveur de fichiers, dans l’espoir que le ransomware tentera de l’encrypter en premier.

Créez un fichier « read-me » dans le dossier honeypot :

Ce fichier est là pour aider les utilisateurs s’ils arrivent sur le dossier, mais aussi comme piège pour ransomware, car il tentera de crypter le fichier lorsqu’il le découvrira.

Continuez et créez un nouvel écran de fichiers sur ce nouveau partage, en sélectionnant « Derive Properties from template » et en choisissant notre « Modèle Ransomware » que nous avons sauvegardé plus tôt.

Modifiez l’écran du fichier pour qu’il comprenne un groupe « All Files » : *.* – ceci aidera à protéger contre les nouveaux noms de fichiers inconnus car personne ne doit écrire dans le dossier honeypot.

Essai

A distance, essayez de créer un fichier appelé « testfile.txt » sur le serveur ; soit dans l’un des partages protégés, soit dans le partage du honeypot. Dans les secondes qui suivent, vous devriez recevoir un e-mail avec les lignes suivantes :

L’accès de cet utilisateur aux partages sur ce serveur doit être refusé.

 Mise à jour de l’écran fichier

Exécutez le script ci-dessous dans PowerShell pour télécharger les dernières extensions de fichiers connues et les appliquer à votre groupe de fichiers. Ceci mettra à jour tous les écrans de fichiers qui utilisent ce groupe particulier.

 Vous devrez changer le nom dans la dernière ligne si vous lui avez donné un autre nom plus tôt.

$decryptreadme = (Invoke-WebRequest "https://raw.githubusercontent.com/thephoton/ransomware/master/filescreendecryptreadme.txt").Content

$fileexts = (Invoke-WebRequest "https://raw.githubusercontent.com/thephoton/ransomware/master/filescreenextensions.txt").Content

$filescreengroup = @()

foreach($line in $decryptreadme.Split("`r`n")){ if ($line -ne "") {$filescreengroup += $line} }
  foreach($line in $fileexts.Split("`r`n")){ if ($line -ne "") {$filescreengroup += $line} }

Get-FsrmFileGroup "Known Ransomware Files" | Set-FsrmFileGroup -IncludePattern $filescreengroup

Suppression du bloc de partage d’un utilisateur après une infection

Si vous avez une infection et que l’accès de l’utilisateur au serveur est bloqué, exécutez le script ci-dessous pour annuler cet accès (après vous être assuré que tout est clair bien sûr !).

 Get-SmbShare -Special $false | ForEach-Object { Unblock-SmbShareAccess -Name $_.Name -AccountName ‘ACCOUNT NAME TO UNBLOCK’ -Force }

Bonne chance dans votre quête pour bloquer les Ransomwares !

Plus en savoir plus, découvrez nos livres numériques :