Menu Fermer

Les virus ou trojan Powershell

Powershell est une suite logiciel et langage inclus depuis Windows 7.
Powershell est beaucoup plus poussé que l’invite de commandes de Windows et  se veut être un concurrent de bash dans le monde Linux et permet d’écrire afin d’administrer Windows.
Pour une présentation complète de Powershell, suivre l’article : Powershell sur Windows 10 : qu’est-ce, comment l’ouvrir et quelques commandes

Avec Powershell, il est tout à fait possible d’écrire un petit script qui télécharge un fichier et exécute ce dernier sur l’ordinateur.
Ainsi cela pose des problèmes de sécurité, puisque l’on peut se servir de Powershell comme porte d’entrée pour installer des logiciels malveillants (Trojan Downloader) sur Windows.

Les virus ou trojan Powershell

Introduction

Powershell est un langage de scripts inclus dans Windows.
Les scripts Powershell peuvent être appelé de diverses manières, ainsi l’interface de Powershell est incluse dans les menus depuis Windows 8.

Les virus ou trojan Powershell

La fenêtre Powershell s’ouvre alors, il est alors possible de passer ses commandes.

Les virus ou trojan Powershell

Un script powershell peut aussi se présenter sous la forme d’un fichier .ps1.. en double-cliquant dessus, le script s’exécute.
Enfin, il est possible d’exécuter un script et commandes en appellant directement l’exécutable de PowerShell.exe suivant du script.

C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe <script>

Ainsi, il est possible de placer un script en démarrage d’une session Windows, simplement en ajoutant une clé Run, un raccourci Windows ou une tâche planifiée.

Powershell, tout comme l’invite de commandes de Windows, ou tout autre programme est soumis au contrôle de comptes. Plus d’informations : UAC et contrôle des comptes Windows
Ainsi, un script qui désire modifier les paramètres de Windows, doit être exécuter avec les droits administrateur.
Dans le cas d’un script malicieux, il faudra faire en sorte que l’utilisateur accepte cette exécution.

Trojan Downloader

Powershell est et va être de plus en plus utilisé sous la forme de Trojan Downloader, exactement comme cela est le cas des scripts VBS ou JavaScript.
A lire à ce propos :

Rien n’empêche des campagnes massives d’emails malicieux avec des raccourcis pour faire exécuter Powershell.exe, télécharger un logiciel malveillant et l’exécuter sur la machine.
En clair donc, Powershell peut servir de porte d’entrée pour installer des Trojans sur Windows.

Dans la capture d’écran ci-dessous, un zip contenant un raccourci se faisant passer pour un document Word.
Le raccourci lance un script Powershell qui télécharger et exécute le ransomware Locky.

Les virus ou trojan Powershell

Pour plus de détails, vous pouvez vous reporter à la vidéo donnée plus bas.

La détection VirusTotal de ce Trojan-Downloader PowerShell :

SHA256: 114d9820b9a9a7d499169359da47c414f2685a070e056d01b6b3a7394ed0d6d9
Nom du fichier : Ground-Label-009148562.doc.lnk
Ratio de détection : 9 / 54
Date d’analyse : 2017-01-30 13:09:50 UTC (il y a 0 minute)
Antivirus Résultat Mise à jour
Avira (no cloud) TR/LNK.PSH.Downloader.Gen 20170130
CAT-QuickHeal LNK.Downloader.PWSHL 20170130
Cyren LNK/Powershell.BN!Camelot 20170130
Fortinet LNK/Agent.EQ!tr 20170130
Kaspersky HEUR:Trojan-Downloader.WinLNK.Powedon.a 20170130
McAfee JS/LnkPull.b 20170130
McAfee-GW-Edition JS/LnkPull.b 20170130
Microsoft TrojanDownloader:PowerShell/Ploprolo.BA 20170130
Symantec Ransom.Locky!lnk 20170129

Ces scripts malveillants Powershell sont de plus en plus courants pour faire télécharger la charge virale :

Les virus ou trojan Powershell

Les virus ou trojan Powershell

Malware FileLess

Et puis, il existe des malwares dit FileLess, c’est à dire sans aucun fichier présent sur l’ordinateur.
Généralement, les malwares installent un fichier dans un emplacement puis modifie la configuration de Windows pour le charger au démarrage de Windows (Autoruns).
Ces malwares dit FileLess, ne copie aucun fichier sur l’ordinateur.
Ils se contente de charger un script Powershell au démarrage de l’ordinateur qui va injecter une DLL en mémoire.
Ces techniques étant assez puissantes pour passer inaperçu, le temps que les antivirus les contrent, que des familles comme Kovter ou Gookit, initialement utilisant des fichiers ont migré vers ces techniques.
Si l’antivirus se contente d’analyser les fichiers sur l’ordinateur, il ne verra rien.

Un dossier sur le forum assez complet existe pour ce type d’infection : Malware ‘FileLess’ : PoweLiks, Kovter, Gootkit

Trojan PowerShell dit les Malwares FileLess

Le malware Kovter en vidéo :

Si le script Powershell se connecte à un serveur distant, l’antivirus peut émettre une alerte sur Powershell.exe :

Alerte URL:Mal d'Avast! sur Powershell.exe

D’autres programmes malicieux existent, des variantes de Trojan.DNSChanger existent en Powershell.
Ce dernier se présente sous la forme d’une tâche planifiée qui va changer la configuration DNS et forcer les serveurs DNS malveillants.

Les virus ou trojan Powershell

Comme cela a été dit dans l’introduction, le langage PowerShell permet de faire à peu près tout.
Ainsi, on peut imaginer toute sorte de programmes malveillants.

Protection contre les virus Powershell

Powershell est de plus en plus ancré dans Windows.
Par exemple, sur Windows 10, il est impossible de renommer le binaire et ainsi prévenir son lancement.

Il est cependant possible de bloquer les connexions sortantes Powershell avec le Firewall de Windows.
Cela avait été évoqué sur la page suivante.

Ainsi sur la vidéo suivante, le raccourci malicieux envoyé par email ne fonctionne pas, lorsque l’on bloque les connexions sortantes, tout simplement, parce qu’il ne peut télécharger le trojan depuis le serveur pour l’exécuter ensuite sur Windows.