The Logging Dead : deux vulnérabilités dans les journaux d’événements qui hantent Windows

Nul besoin d’utiliser Internet Explorer pour que son héritage vous ait rendu vulnérable à LogCrusher et OverLog, deux vulnérabilités Windows découvertes par l’équipe du laboratoire de détection des menaces de Varonis.
Dolev Taler
5 minute de lecture
Dernière mise à jour 18 janvier 2023

Nul besoin d’utiliser Internet Explorer pour que son héritage vous ait rendu vulnérable à LogCrusher et OverLog, deux vulnérabilités Windows découvertes par l’équipe du laboratoire de détection des menaces de Varonis.

Microsoft a cessé de prendre en charge Internet Explorer le 15 juin 2022. Cependant, le fait qu’IE soit profondément ancré dans l’écosystème Windows impacte la sécurité et la stabilité des systèmes d’exploitation Windows actuels.

L’une des fonctionnalités de l’intégration d’IE et de Windows est un journal d’événements spécifique à Internet Explorer présent sur tous les systèmes d’exploitation Windows actuels. Il possède un ensemble distinct d’autorisations qui permettent deux exploits sur les systèmes Windows :

LogCrusher, qui permet à n’importe quel utilisateur du domaine de faire planter à distance l’application Journal d’événements de n’importe quelle machine Windows sur le domaine.

OverLog, qui provoque une attaque par déni de service (DoS) à distance en remplissant l’espace disque de n’importe quelle machine Windows sur le domaine.

Dans cet article, nous expliquerons comment fonctionnent ces deux exploits et nous détaillerons leur déroulement respectif. Dans le cadre de nos recherches, nous avons rapidement révélé ces vulnérabilités à Microsoft, qui a publié un correctif partiel le 11 octobre 2022. Nous exhortons tous les utilisateurs à corriger leurs systèmes.

MS-EVEN entre en scène

Protocole Microsoft Event Log Remoting Protocol

Ces exploits (LogCrusher et OverLog) utilisent tous deux des fonctions du protocole MS-EVEN (Microsoft Event Log Remoting Protocol), qui permet de manipuler à distance les journaux d’événements d’une machine.

Handle sur un journal Internet Explorer

OpenEventLogW est une fonction d’API Windows qui permet à un utilisateur d’ouvrir un Handle pour un journal d’événements spécifique sur une machine locale ou distante.

Cette fonction est utile pour les services qui peuvent l’utiliser pour lire, écrire et effacer les journaux d’événements pour les machines distantes, sans avoir à se connecter manuellement aux machines en question.

La fonction nécessite deux paramètres :

lpUNCServerName : nom de la machine distante ou NULL dans le cas d’une connexion locale.

IpSourceName : le journal d’événements spécifique vers lequel ouvrir le Handle.

Par défaut, les utilisateurs sans privilège d’administration ne peuvent obtenir de Handle pour les journaux d’événements des autres machines. La seule exception à cette règle est l’ancien journal « Internet Explorer », qui existe dans toutes les versions de Windows et possède son propre descripteur de sécurité qui remplace les autorisations par défaut.

Le descripteur de sécurité du journal d’événements Internet Explorer se trouve dans la ruche du registre : HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Internet Explorer

registre

Analysons la chaîne du descripteur de sécurité : CustomSD = O:BAG:SYD:(A;;0x07;;;WD)S:(ML;;0x1;;;LW)

descripteur

Vous avez vu ? Tout est dit dans la ligne DiscretionaryACL !

Cette ACL permet à tout utilisateur d’y lire et d’y écrire des journaux. C’est-à-dire qu’un attaquant peut obtenir un Handle sur le journal, vers chaque machine Windows du domaine, à partir de n’importe quel utilisateur du domaine.

Cela prépare le terrain pour nos deux exploits.

LogCrusher

Un bug logique d’ElfClearELFW

ElfClearELFW est une fonction MS-EVEN qui permet aux administrateurs d’effacer et de sauvegarder à distance les journaux d’événements.

La fonction nécessite deux paramètres :

LogHandle : Handle de journal dans lequel la fonction OpenEventLog est déjà ouverte.

BackupFileName : un pointeur vers une structure de chaîne Unicode qui indique l’emplacement de la sauvegarde du journal d’événements avant qu’il ne soit effacé.

Malheureusement, la fonction ElfClearELFW présente un fâcheux bug lors de la validation de la saisie. Celle-ci s’attend à ce que la structure BackupFileName revienne à zéro, mais lorsque le pointeur vers la structure est NULL, le processus plante.

Blog_WindowsEventLogVulnerabilities_Diagram_LogCrusherInitialization_V1Déroulement de l’attaque

En combinant ces deux fonctions, il est facile de comprendre le déroulé d’une attaque de LogCrusher. On appelle la fonction OpenEventLog pour le journal d’événements d’Internet Explorer sur la machine victime :

Handle = OpenEventLog(<Machine victime>, "internet explorer") 

Ensuite, on appelle la fonction ElfClearELFW avec le Handle renvoyé et NULL comme paramètre de BackupFileName :

ElfClearELFW(Handle, NULL)

Et le tour est joué. Nous venons tout simplement de faire planter le journal d’événements sur la machine de la victime.

Par défaut, le service Journal d’événements essaiera de redémarrer deux fois de plus. La troisième fois, il restera éteint pendant 24 heures.

 

Blog_WindowsEventLogVulnerabilities_Diagram_LogCrusherAttackFlow_V1

 Une démonstration de LogCrusher qui fait planter le service Journal d’événements à plusieurs reprises jusqu’à ce qu’il arrête de redémarrer.

Desktop_logcrusher

D’accord. Mais quel est l’impact ?

En fait, de nombreux contrôles de sécurité reposent sur le fonctionnement normal du service Journal d’événements.

  1. Sans journaux, les contrôles de sécurité ne servent à rien.
  2. Dans certains cas, les produits de contrôle de sécurité sont rattachés au service ! Cela signifie que lorsqu’il plante définitivement, le produit plante également.
  3. Par la suite, cela peut permettre à un attaquant d’utiliser tout type d’exploit généralement détecté en toute impunité, car de nombreuses alertes ne se déclencheront même pas.

DC_Logcrusher

Vérification PowerShell du journal d’événements en défaut.

Une impression de déjà-vu ?

Autre découverte intéressante : il se trouve que le bug de la fonction ElfClearELFW a été découvert il y a deux ans et signalé à Microsoft par un chercheur surnommé « limbenjamin ».

À l’époque, il n’était pas possible d’exploiter le bug à partir d’un compte utilisateur normal non-administrateur (et d’Internet Explorer). L’impact n’était donc pas clair et Microsoft a décidé de ne pas le corriger.

OverLog

Avec cette attaque, nous avons pu utiliser la même méthodologie et le même Handle du journal d’événements d’Internet Explorer, avec une autre vulnérabilité de la fonction BackupEventLogW pour provoquer un déni de service permanent pour chaque machine Windows.

Selon Microsoft, la fonction BackupEventLogW :

 

overlog-1

Le bug ici est encore plus simple, et bien qu’il soit indiqué dans la documentation que l’utilisateur qui effectue la sauvegarde doit disposer du privilège SE_BACKUP_NAME, cela n’est pas validé dans le code. Ainsi, chaque utilisateur peut sauvegarder des fichiers sur une machine distante s’il a un accès en écriture à un dossier sur cette machine.

DC_OverlogDéroulement de l’attaque

  1. Obtenir un Handle vers le journal d’événements d’Internet Explorer sur la machine victime (comme précédemment).
  2. Écrire des journaux arbitraires dans le journal (chaînes aléatoires ; longueurs différentes).
  3. Sauvegarder le journal dans un dossier inscriptible sur la machine (par exemple : « c:\windows\tasks ») sur lequel chaque utilisateur du domaine dispose d’une autorisation d’écriture par défaut.
  4. Répéter le processus de sauvegarde jusqu’à ce que le disque dur soit plein et que l’ordinateur cesse de fonctionner.
  5. La machine victime ne peut plus écrire dans pagefile (mémoire virtuelle), ce qui la rend inutilisable.

Blog_WindowsEventLogVulnerabilities_Diagram_OverLogAttackFlow_V1

Réponse et recommandations de Microsoft

Microsoft a choisi de ne pas corriger complètement la vulnérabilité LogCrusher sous Windows 10 (les systèmes d’exploitation les plus récents ne sont pas affectés).

Depuis la mise à jour du Patch Tuesday du 11 octobre 2022 de Microsoft, le paramètre d’autorisation par défaut, qui permettait aux utilisateurs non administrateurs d’accéder au journal d’événements d’Internet Explorer sur les machines distantes a été restreint aux administrateurs locaux, ce qui réduit considérablement le risque de dommages.

Bien que cette mesure réponde à cet ensemble spécifique d’exploits ciblés sur le journal d’événements d’Internet Explorer, le risque demeure que d’autres journaux d’événement d’applications, accessibles par les utilisateurs, soient utilisés dans des attaques.

Nous recommandons à tous les utilisateurs de systèmes potentiellement vulnérables d’appliquer le correctif fourni par Microsoft et de surveiller toute activité suspecte.

Calendrier

Chronologie du signalement des vulnérabilités et correspondance pertinente :

24/05/2022

Les vulnérabilités OverLog et LogCrusher ont été soumises au Microsoft Security Response Center (MSRC).

2/06/2022

Le MSRC a confirmé « OverLog » et a changé son statut pour « en développement ».

25/07/2022

Le MSRC a clôturé « LogCrusher ». Il a déclaré avoir classé cette vulnérabilité comme moyennement grave, car elle nécessite un accès administrateur et une interaction manuelle pour être exploitée.

26/07/2022

Nous avons renvoyé un e-mail au MSRC, mentionnant spécifiquement que le rapport d’origine indiquait que la vulnérabilité pouvait être exploitée par l’utilisateur du domaine dans la configuration Windows par défaut. Nous n’avons pas reçu de réponse de la part du MSRC.

11/10/2022

Patch Tuesday — La vulnérabilité a été nommée CVE-2022-37981 et corrigée.

25/10/2022

Article de blog publié.

What should I do now?

Below are three ways you can continue your journey to reduce data risk at your company:

1

Schedule a demo with us to see Varonis in action. We'll personalize the session to your org's data security needs and answer any questions.

2

See a sample of our Data Risk Assessment and learn the risks that could be lingering in your environment. Varonis' DRA is completely free and offers a clear path to automated remediation.

3

Follow us on LinkedIn, YouTube, and X (Twitter) for bite-sized insights on all things data security, including DSPM, threat detection, AI security, and more.

Essayez Varonis gratuitement.

Obtenez un rapport détaillé sur les risques liés aux données basé sur les données de votre entreprise.
Se déploie en quelques minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

endpoint-detection-and-response-:-tout-ce-qu’il-vous-faut-savoir-sur-l’edr
Endpoint Detection and Response : tout ce qu’il vous faut savoir sur l’EDR
Les terminaux sont une cible privilégiée pour les pirates : ils sont omniprésents, vulnérables et difficiles à défendre. En 2017, par exemple, on rapporte que l’attaque WannaCry a affecté plus de 230 000 terminaux dans le...
la-sécurité-des-données-:-en-2017,-tous-piratés,-…et-en-2018-?
La sécurité des données : en 2017, tous piratés, …et en 2018 ?
Vous rappelez-vous du début de l’année 2017 ? Nous étions alors un peu plus innocents. Avant Petya, WannaCry, les vulnérabilités qui ont fuité de la NSA, Equifax, et Uber, tout n’était...
cours-de-phishing:-voulez-vous-hameçonner-votre-systeme-de-fichiers?
COURS DE PHISHING: VOULEZ-VOUS HAMEÇONNER VOTRE SYSTEME DE FICHIERS?
Comme je l’ai souligné dans de nombreux articles, les pirates utilisent généralement des techniques assez peu sophistiquées pour pénétrer dans les serveurs des entreprises. Les mots de passe faibles vulnérables...
modélisation-des-menaces-:-les-6-erreurs-que-vous-faites-probablement
Modélisation des menaces : les 6 erreurs que vous faites probablement
La modélisation des menaces est devenue la nouvelle norme pour les équipes de cybersécurité actuelles. Prévoir les menaces et tester toutes les permutations possibles de ces menaces et vulnérabilités n’est...