Une vulnérabilité Windows vieille de 10 ans est toujours exploitée dans des attaques pour faire croire que les exécutables sont légitimement signés, le correctif de Microsoft étant toujours « opt-in » après toutes ces années. Pire encore, le correctif est supprimé après la mise à niveau vers Windows 11.

Mercredi soir, la nouvelle a annoncé que la société de communications VoIP 3CX avait été compromise pour distribuer des versions trojanisées de son application de bureau Windows lors d’une attaque à grande échelle de la chaîne d’approvisionnement.

Dans le cadre de cette attaque de la chaîne d’approvisionnement, deux DLL utilisées par l’application de bureau Windows ont été remplacées par des versions malveillantes qui téléchargent des logiciels malveillants supplémentaires sur les ordinateurs, comme un cheval de Troie voleur d’informations.

L’une des DLL malveillantes utilisées dans l’attaque est généralement une DLL légitime signée par Microsoft nommée d3dcompiler_47.dll. Cependant, les acteurs de la menace ont modifié la DLL pour inclure une charge utile malveillante chiffrée à la fin du fichier.

Comme indiqué pour la première fois hier, même si le fichier a été modifié, Windows l’a toujours montré comme correctement signé par Microsoft.

La signature de code d’un exécutable, tel qu’un fichier DLL ou EXE, vise à garantir aux utilisateurs Windows que le fichier est authentique et n’a pas été modifié pour inclure du code malveillant.

Lorsqu’un exécutable signé est modifié, Windows affiche un message indiquant que « la signature numérique de l’objet n’a pas été vérifiée ». Cependant, même si nous savons que la DLL d3dcompiler_47.dll a été modifiée, elle s’affiche toujours comme signée dans Windows.

Après avoir contacté Will Dormann, analyste principal des vulnérabilités chez ANALYGENCE, à propos de ce comportement et du partage de la DLL, on nous a dit que la DLL exploitait la faille CVE-2013-3900, une « vulnérabilité de validation de signature WinVerifyTrust ».

Microsoft a divulgué cette vulnérabilité pour la première fois le 10 décembre 2013 et a expliqué que l’ajout de contenu à la section de signature d’authenticode d’un EXE (structure WIN_CERTIFICATE) dans un exécutable signé est possible sans invalider la signature.

Par exemple, Dormann a expliqué dans des tweets que le programme d’installation de Google Chrome ajoute des données à la structure Authenticode pour déterminer si vous avez choisi « d’envoyer des statistiques d’utilisation et des rapports d’erreur à Google ». Lorsque Google Chrome est installé, il vérifie la signature d’Authenticode pour ces données afin de déterminer si les rapports de diagnostic doivent être activés.

Microsoft a finalement décidé de rendre le correctif facultatif, probablement parce qu’il invaliderait les exécutables légitimes et signés qui stockaient des données dans le bloc de signature d’un exécutable.

« Le 10 décembre 2013, Microsoft a publié une mise à jour pour toutes les versions prises en charge de Microsoft Windows qui modifie la façon dont les signatures sont vérifiées pour les fichiers binaires signés avec le format de signature Windows Authenticode », explique la divulgation de Microsoft pour le CVE-2013-3900.

« Ce changement peut être activé sur une base opt-in. »

« Lorsqu’il est activé, le nouveau comportement de vérification de la signature Windows Authenticode n’autorisera plus les informations superflues dans la structure WIN_CERTIFICATE, et Windows ne reconnaîtra plus les binaires non conformes comme signés. »

Il est maintenant près de dix ans plus tard, avec la vulnérabilité connue pour être exploitée par de nombreux acteurs de la menace. Pourtant, il reste un correctif opt-in qui ne peut être activé qu’en modifiant manuellement le registre Windows.

Pour activer le correctif, les utilisateurs Windows sur les systèmes 64 bits peuvent apporter les modifications de registre suivantes :

Une fois ces clés de registre activées, vous pouvez voir comment Microsoft valide différemment la signature dans la DLL malveillante d3dcompiler_47.dll utilisée dans l’attaque de la chaîne d’approvisionnement 3CX.

Pour aggraver les choses, même si vous ajoutez les clés de registre pour appliquer le correctif, elles seront supprimées une fois que vous aurez effectué la mise à niveau vers Windows 11, rendant à nouveau votre appareil vulnérable.

Comme la vulnérabilité a été utilisée dans des attaques récentes, telles que la chaîne d’approvisionnement 3CX et une campagne de distribution de logiciels malveillants Zloader en janvier, il est devenu clair qu’elle devrait être corrigée, même si cela gêne les développeurs.

Malheureusement, la plupart ne connaissent pas cette faille et examineront un fichier malveillant et supposeront qu’il est digne de confiance car Windows le signale comme tel.

« Mais lorsqu’un correctif est facultatif, les masses ne seront pas protégées », a averti Dormann.

J’ai activé le correctif facultatif, utilisé l’ordinateur comme d’habitude tout au long de la journée et je n’ai rencontré aucun problème qui m’ait fait regretter ma décision.

Bien que cela puisse causer un problème avec certains programmes d’installation, comme Google Chrome, qui ne s’affichent pas comme signés, la protection supplémentaire en vaut la peine.

Breachtrace a contacté Microsoft au sujet de l’abus continu de cette faille et il ne s’agit que d’un correctif opt-in mais n’a pas reçu de réponse.

Laisser un commentaire

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