Actualités

“Nous pouvons créer un lien symbolique qui pointerait vers n’importe quel chemin souhaité” : quand ProgramData devient une vulnérabilité !

A l’approche d’Halloween, les failles se suivent et sont, pourtant, loin de se ressembler : l’équipe CyberArk vient de publier un PoC démontrant que presque n’importe quel logiciel pouvait être détourné depuis le dossier ProgramData, via une élévation de privilèges pour presque tout faire…

 

 

Le dossier présente un point faillible : en soit, il peut devenir un vecteur du fait qu’il sert, en partie, de réservoir à tout un tas d’applications Windows qui peuvent être lié à un voire plusieurs comptes-profils. Un socle commun qui pourrait permettre à un individu malveillant de profiter de cet accès pour, par exemple, détourner un logiciel anti-virus et rediriger ou paramétrer certains aspects sécuritaires du terminal ainsi ciblé : “le DACL du fichier journal oewindbg.log nous permet de le supprimer, et le DACL de Logfiles nous permet de changer le répertoire en un point de montage qui pointerait sur \ RPC Control. Nous pouvons également créer un lien symbolique qui pointerait vers n’importe quel chemin souhaité. La cause première de ce bogue est qu’ils ont une ressource partagée accessible en écriture à partir de deux contextes de sécurité différents“, est-il précisé. Le PoC en question repose sur un détournement de l’anti-virus Avira depuis les processus oewindbg.log et avira.systray.exe.

 

De nombreuses dérivations du genre sont possible : suppression de fichiers voire création de nouveaux dossiers ou répertoires. Pour ce dernier cas, un bug lors de “l’étape de modification des autorisations sur le directory/file” – appel manquant de SetNamedSecurityInfoA – permet un contournement facilité. D’autres solutions d’éditeurs sécuritaires ont été testées : concernant McAfee, le mal prend sa source dès le fichier de logue au sein de ProgramData. Là aussi, le manque de subtilité facilite le détournement : “le problème dans ce code est qu’il suppose que McAfeeLogDir est un répertoire normal et non un point d’analyse vers \ RPC Control. L’installateur ne se soucie que si le répertoire existe, pas son DACL ou ses indicateurs; par conséquent, il ne comprend pas qu’il s’agit d’un point de montage. Si nous réussissons le simple test d’existence, nous arrivons à l’opération DeleteFile, qui nous permet de supprimer tout fichier souhaité en utilisant un lien symbolique, en raison du niveau de privilège élevé de l’installateur. Par conséquent, nous avons ici une vulnérabilité de suppression arbitraire“.

 

Outre ces vulnérabilités, un contournement depuis les DLL de ces installateurs étaient possible : en effet, alors que le code d’un logiciel est mis à jour, l’équipe remarque assez finement que les éditeurs en oublient de mettre à jour les packages liés à ces installateurs… Des contenus dont les contenants ne sont, ainsi et sur le long terme, pas mis à jour (un peu comme un aménagement intérieur de maison mais sans réparer-rénover le toit de ladite maison) ce qui permet aux assaillants de s’introduire aisément dans le système : “InstallShield, InnoSetup, Installateur Nsis et Installateur Wix” sont ainsi exposés et, de ce fait, des logiciels exploitant ces installateurs.

Au final, plusieurs recommandations sont émises :

  • La modification ou changement du DACL pour chaque création de fichier ou dossier sous ProgramData ;

  • Faire un distinguo entre les chemins de fichiers (accès-double) pour empêcher l’activation d’un point de montage. Il est précisé qu’un fichier dont la suppression serait impossible permettrait, également, d’empêcher toute manipulation dans ce sens ;

  • Veiller à mettre à jour sans attendre l’installateur existant (ou en cours de développement). Les MSIs (Windows) sont préconisés ;

  • Exit LoadLibrary, bonjour LoadLibraryEx : privilégier une version-API plus récente empêcher le chargement de DLLs compromises en permettant de “spécifier l’indicateur” ou “modifier la recherche et l’ordre de changement“.

 

Les failles ont été corrigées et concernent les bulletins suivants (hormis Avast + F-Secure) : CVE-2020-25045, CVE-2020-25044, CVE-2020-25043 (Kaspersky), CVE-2020-7250, CVE-2020-7310 (McAfee), CVE-2019-19548 (Symantec), CVE-2020-9290 (Fortinet), CVE-2019-8452 (Point de contrôle), CVE-2019-19688, CVE-2019-19689 (TrendMicro), CVE-2020-13903 (Avira) et CVE-2019-1161 (Microsoft)… A veiller !

 

 

Source : CyberArk – 5 Octobre 2020 – ProgramData : logiciels vulnérables depuis le dossier et permettant une élévation de privilèges.




  • 50% J'apprécieVS
    50% Je n'apprécie pas
    Pas de commentaire

    Laisser un commentaire

    ;) :zzz: :youpi: :yes: :xmas: :wink: :whistle: :warning: :twisted: :sw: :sleep: :sg1: :schwarzy: :sarko: :sante: :rollol: :roll: :rip: :pt1cable: :popcorn: :pff: :patapai: :paf: :p :ouch: :oops: :o :non: :na: :mrgreen: :mdr: :macron: :love: :lol: :kissou: :kaola: :jesuisdehors: :jap: :ilovesos: :idea: :houra: :hello: :heink: :grumpy: :fume: :frenchy: :fouet: :fouet2: :first: :fessee: :evil: :dispute: :demon: :cryy: :cry: :cpignon: :cool: :cassepc: :capello: :calin: :bug: :boxe: :bounce: :bluesbro: :bisou: :babyyoda: :assassin: :arrow: :annif: :ange: :amen: :D :??: :?: :/ :-| :-x :-o :-P :-D :-? :-1: :+1: :) :( 8-O 8)

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

    Copyright © Association SOSOrdi.net 1998-2020