Dans la dernière livraison de son rapport sur les menaces cyber au Q2 2020, McAfee a observé une augmentation inquiétante des attaques utilisant PowerShell de Windows comme vecteur d’infection. Un vecteur prisé par les attaquants, car il est indétectable et terriblement efficace.
Le paysage de la cybermenace a vu une augmentation de 117 % de la présence de maliciels utilisant PowerShell, en raison de la prolifération de fichiers malveillants Donoff. Par conséquent, les nouveaux logiciels malveillants utilisant Microsoft Office ont augmenté de 103 % par rapport aux chiffres du premier trimestre, y compris une croissance notable due aux documents qui activent PowerShell, à savoir Donoff. Les fichiers Donoff Microsoft Office agissent comme des téléchargeurs de chevaux de Troie en utilisant le système de commande Windows pour lancer PowerShell et procéder au téléchargement et à l’exécution de fichiers malveillants. Donoff a joué un rôle essentiel dans l’augmentation de 689 % de codes PowerShell malveillants au premier trimestre 2020, selon McAfee.
Windows PowerShell est un langage de script et un shell en ligne de commande basé sur des classes .NET qui aide les administrateurs système à automatiser les tâches de gestion des systèmes d’exploitation. C’est un outil puissant utilisé par de nombreux administrateurs et utilisateurs pour automatiser et contrôler de nombreuses fonctions du système d’exploitation. Un tel pouvoir d’activation ou de désactivation des fonctions du système d’exploitation ne peut que susciter l’intérêt des acteurs de la menace.
Des attaques furtives…
La furtivité est une autre caractéristique très prisée des attaques via le PowerShell. Les attaques traditionnelles reposent sur des maliciels développés comme des applications. Ce sont des codes exécutables qui doivent être stockés quelque part et exécutés, donc susceptibles de déclencher les outils de détection basés sur les signatures ou le comportement. En revanche, les attaques sans fichiers exécutables résident en mémoire vive pour échapper aux scanneurs et aux méthodes de détection traditionnelles. PowerShell, un outil légitime, fournit alors une couverture idéale pour passer inaperçu. Les attaquants n’ont plus qu’à télécharger les charges utiles et lancer le processus d’infection.
Les attaquants peuvent aussi utiliser des techniques de brouillage pour échapper à la détection. Le téléchargement et l’exécution de code à distance est une technique puissante employée par les logiciels malveillants pour échapper à la détection. Des commandes peuvent être utilisées pour exécuter un script à distance sans jamais solliciter la machine de l’utilisateur.
… qui ouvrent un vaste choix de possibilités
Une fois l’accès au système actif, les attaquants disposent d’un vaste choix de possibilités, car PowerShell leur donne accès à une multitude de fonctions système et que voici :
- un environnement de script puissant,
- un accès direct aux sockets réseau,
- la capacité d’activer ou de désactiver des protocoles,
- la capacité d’assembler dynamiquement des binaires malveillants en mémoire,
- l’accès direct à l’interface de programmation d’applications (API) Win32,
- un interfaçage direct avec Windows Management Instrumentation (WMI),
- la possibilité d’invoquer des appels dynamiques et des runtimes,
- un accès facile aux bibliothèques de chiffrement, par exemple IPSec ou des algorithmes de hachage,
- la possibilité de hooker le code géré,
- des liaisons directes au modèle COM.
Les techniques de propagation et de brouillage à l’œuvre
Une fois dans le cœur du système d’exploitation les attaquants disposent d’un vaste choix de possibilités d’infection via l’utilisation de scripts malveillants. L’escalade de privilèges est une méthode courante d’exécution des logiciels malveillants à l’aide de la ligne de commande PowerShell. Bien que PowerShell ne puisse pas exécuter de scripts par défaut, il existe plusieurs façons de contourner cette restriction en utilisant l’argument « -command ».
Les techniques de propagation reposent sur l’exécution de scripts, ainsi que l’accès aux protocoles et sockets réseau. Encapsulés dans des pièces jointes de courrier électronique avec diverses extensions telles que .wsf, .html, .pdf, .js ou toute autre extension de bureau telle que .pptx, xlsx, les scripts sont utilisés pour lancer les charges utiles. Une autre méthode de propagation courante consiste à utiliser des macros Office. Il s’agit d’une technique très spécialisée, car la macro elle-même ne contient pas le code malveillant. Les macros sont intégrées dans les documents, dans des métadonnées telles que des cellules d’un tableau Excel par exemple. Les macro-commandes sont exécutées directement et le balayage de celles-ci par un outil de protection ne détecterait rien d’anormal.
Le problème principal pour lutter contre les attaques via le PowerShell est que celui-ci est généralement considéré comme une application de confiance par les logiciels de sécurité, puisqu’il fait partie de Windows. Il est donc crucial que ces techniques soient empêchées à la source. Des réglages et des processus sécurisés d’exécution de PowerShell, ainsi que les mises à jour vers les versions les plus récentes de Windows et de ses outils constituent une première approche.