Microsoft corrige deux failles de sécurité dans PowerShell 7

Microsoft a mis à jour PowerShell 7 dans le but de corriger deux failles de sécurité, l'une permet d'exécuter du code arbitraire sur la machine en outrepassant la fonctionnalité de sécurité Windows Defender Application Control (WDAC), tandis que l'autre permet de récupérer des identifiants en clair sur les machines non-Windows.

Actuellement, il y a deux branches maintenues par Microsoft au niveau de PowerShell 7 (anciennement appelé PowerShell Core) : 7.0 et 7.1. Microsoft a publié deux nouvelles versions pour corriger ces vulnérabilités, à savoir PowerShell 7.0.8 et PowerShell 7.1.5. Pour rappel, ces versions de PowerShell sont multiplateformes : Windows, Linux et macOS.

La fonctionnalité WDAC, en français Contrôle d'application Windows Defender, permet de protéger la machine locale contre l'exécution de logiciels malveillants, mais aussi de pilotes malveillants. L'idée étant d'autoriser seulement les exécutables de confiance. Lorsqu'elle est active, PowerShell est exécuté en mode restreint (Constrained Language Mode), ce qui agit comme une bride afin de réduire le champ d'action de la console PowerShell.

En exploitant la vulnérabilité  CVE-2020-0951 pas récente vu le nom de la référence), il devient possible de contourner cette restriction appliquée par WDAC et d'exécuter des commandes malveillantes sur la machine. Toutefois, Microsoft précise qu'il faut disposer d'un accès local en tant qu'administrateur pour exploiter cette faille, ce qui complexifie l'attaque.

La seconde faille référencée CVE-2021-41355, touche directement .NET Core et elle permet à l'attaquant d'obtenir des identifiants en clair. C'est à cause de la fonction System.DirectoryServices.Protocols.LdapConnection qui envoie des identifiants en clair, seulement lorsqu'elle s'exécute sur des machines non-Windows.

En résumé, sachez que la CVE-2020-0951 affecte aussi bien PowerShell 7 que PowerShell 7.1, alors que la CVE-2021-41355 impacte seulement PowerShell 7.1.

Utilisez la commande ci-dessous dans une console PowerShell pour connaître votre version actuelle :

pwsh -v

Source

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 3369 posts and counting.See all posts by florian

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.