Close
    Search Search

    Près de 300 exécutables Windows 10 vulnérables au piratage de DLL

    Dans un nouveau rapport du chercheur en sécurité de PwC UK, Wietze Beukema, nous constatons que près de 300 exécutables sur Windows 10 sont vulnérables au piratage de DLL.

    "Il s'avère que près de 300 exécutables du dossier System32 sont vulnérables au piratage de DLL de chemin relatif. Saviez-vous qu'avec un simple VBScript, certains de ces EXE peuvent être utilisés pour élever ces exécutions, en contournant complètement l'UAC ?" a expliqué Beukema.

    La vulnérabilité mentionnée ici est le détournement de DLL de chemin relatif, c'est-à-dire lorsqu'un attaquant peut amener un exécutable Windows légitime à charger une DLL arbitraire de son choix, probablement avec une intention malveillante.



    Il s'avère que près de 300 exécutables de votre dossier System32 sont vulnérables au détournement de DLL de chemin relatif.

    Saviez-vous qu'avec un simple VBScript, certains de ces EXE peuvent être utilisés pour élever de telles exécutions, en contournant entièrement l'UAC ?

    Article de blog complet ici ???? https://t.co/tBuFRk7ERg pic.twitter.com/ge1RXAqvtY

    – Wietze (@Wietze) 22 juin 2020

    Le problème du piratage de DLL

    Les attaques de piratage de DLL peuvent être utiles à un attaquant qualifié car elles offrent des fonctionnalités telles que l'exécution de code arbitraire, l'élévation des privilèges et la persistance sur le système cible.

    Les différentes techniques de piratage de DLL couvertes par le billet de blog de Beukema incluent le remplacement de DLL, le proxy DLL, le piratage d'ordre de recherche de DLL, le piratage de DLL fantôme, la redirection de DLL, le remplacement de DLL WinSxS et le détournement de DLL de chemin relatif.

    Pour démontrer le détournement de DLL par chemin relatif dans la pratique, Beukema s'est concentré sur les bibliothèques présentes dans le dossier "C:WindowsSystem32" sur une machine Windows 10 (v1909).


    Il a copié le processus winstat.exe légitime dans le dossier des téléchargements de votre système. Il a ensuite exécuté l'outil de surveillance des processus, procmon, pour mieux comprendre les DLL recherchées par l'EXE lors de l'exécution.


    Près de 300 exécutables Windows 10 vulnérables au piratage de DLL

    Les DLL

    Cela nous permet d'identifier toutes les DLL interrogées par chaque application, qui seront toutes les candidates possibles pour une DLL piratable. Mais il ne s'ensuit pas automatiquement que tous ces éléments sont également chargés (et donc exécutés).

    "Le moyen le plus fiable de savoir quelles DLL sont chargées correctement est de compiler notre propre version de la DLL et de la faire écrire dans un fichier unique après un chargement réussi. Si nous répétons l'approche ci-dessus pour tous les exécutables et les DLL cibles, cela se traduira dans une collection de fichiers qui vous indiquent quelles DLL sont confirmées comme étant vulnérables au piratage de DLL."

    Ce qui pose un défi pour l'attaquant, cependant, est de compiler une version personnalisée de la DLL qui peut être lancée par l'exécutable sans aucun problème. Pour acquérir une compréhension fiable d'une structure DLL légitime, Beukema recommande d'utiliser des outils tels que DLL Export Viewer pour l'analyse.

    Cet outil fournit des informations sur la structure de la DLL que nous essayons de recompiler, en énumérant tous les noms de fonctions externes qui seraient dupliqués dans un exploit de piratage de DLL.

    Le chercheur a fourni une liste complète de bibliothèques qui sont de bons candidats pour les attaques de piratage.

    Il a ajouté : "Ce ne sont pas de simples cibles théoriques, ils sont testés et confirmés pour fonctionner. La liste comprend 287 exécutables et 263 DLL uniques."


    Un CSV avec une liste complète de ces bibliothèques a été fourni via GitHub.

    Techniques de détection et de prévention

    Beukema présente certaines méthodes de prévention qui peuvent être utilisées pour arrêter de telles attaques, comme la recherche d'activité dans le dossier Windows simulé au cas où il y en aurait un sur votre machine.

    En outre, le réglage des paramètres UAC sur "Toujours notifier" peut aider à prévenir de telles attaques si l'utilisateur final est suffisamment averti pour comprendre ce qui est sur le point d'être exécuté.


    Une autre stratégie consiste à surveiller la création de DLL et à charger des instances à partir de chemins de fichiers inattendus :

    "Vous pouvez chercher à créer ou à charger l'une des DLL susmentionnées à partir de chemins inattendus, principalement dans des emplacements temporaires tels que %appdata%.

    Après tout, le nom de l'application (légitime) qui charge les DLL peut être modifié, mais les noms de fichiers des DLL sont toujours corrigés."


    Lors de la création d'applications, suggère Beukema, les développeurs doivent appliquer l'utilisation de chemins absolus et non relatifs pour charger les DLL, parmi plusieurs autres techniques.


    Rien de tout cela seul ne peut être suffisamment infaillible. Cependant, lorsqu'elles sont correctement appliquées ensemble, des mesures préventives telles que celles expliquées par le chercheur peuvent empêcher les attaques de détournement de DLL à long terme.

    ajouter un commentaire de Près de 300 exécutables Windows 10 vulnérables au piratage de DLL
    Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.