Une grave vulnérabilité 0day existe dans le système Windows de Microsoft, pouvant menacer la sécurité de Web3.
Récemment, un correctif de sécurité publié par Microsoft a corrigé une vulnérabilité d'élévation de privilèges dans le système Windows, exploitée par des hackers. Cette vulnérabilité existe principalement dans les versions antérieures du système Windows et ne peut pas être déclenchée sur Windows 11.
Ce type de vulnérabilité d'élévation de privilèges win32k existe depuis longtemps. Dans le contexte actuel où diverses mesures de sécurité sont constamment améliorées, il est pertinent de se demander comment les attaquants continuent à exploiter cette vulnérabilité. Nous avons effectué une analyse approfondie de cette vulnérabilité dans un environnement Windows Server 2016.
Une vulnérabilité 0day désigne une faille système qui n'a pas encore été divulguée et corrigée, pouvant être exploitée discrètement par des hackers, avec un potentiel de destruction considérable. Grâce à cette vulnérabilité 0day au niveau du système Windows, les hackers pourraient obtenir un contrôle total sur le système.
Une fois que le système est contrôlé par des hackers, les conséquences incluent, mais ne se limitent pas à, la fuite d'informations personnelles, la perte de données due à un effondrement du système, des pertes financières, l'insertion de logiciels malveillants, etc. Pour les utilisateurs individuels, les clés privées des cryptomonnaies peuvent être volées et les actifs numériques transférés ; à une échelle plus large, cette vulnérabilité pourrait même affecter tout l'écosystème Web3 fonctionnant sur une infrastructure Web2.
En analysant le code du patch, nous avons découvert que le problème provenait d'un comptage de références d'un objet qui avait été traité une fois de trop. En se référant aux commentaires du code source précédent, il est évident que le code antérieur ne verrouillait que l'objet fenêtre, sans verrouiller l'objet menu de l'objet fenêtre, ce qui entraînait un risque de référence incorrecte de l'objet menu.
Nous avons construit une structure de menu imbriqué à plusieurs niveaux pour déclencher cette vulnérabilité. En concevant soigneusement les propriétés du menu et les relations de référence, il est possible de libérer avec succès des objets de menu spécifiques lorsque certaines fonctions retournent le niveau utilisateur, ce qui entraîne des références à des objets invalides dans le code ultérieur.
La clé pour exploiter cette vulnérabilité réside dans la manière de contrôler le paramètre cbwndextra pour qu'il ait une valeur particulièrement élevée. Nous avons finalement choisi de réaliser cet objectif en manipulant la mémoire de mise en page, en contrôlant les données de mémoire des objets adjacents.
Pour construire une exploitation stable des vulnérabilités, nous avons conçu une disposition mémoire spéciale, comprenant plusieurs objets de fenêtre et objets de classe de fenêtre consécutifs. En libérant et en réoccupant des objets spécifiques, il est possible de contrôler des paramètres clés.
En ce qui concerne la lecture et l'écriture des primitives, nous utilisons GetMenuBarInfo() pour réaliser des lectures arbitraires et SetClassLongPtr() pour réaliser des écritures arbitraires. Sauf pour l'opération d'écriture de remplacement de TOKEN, toutes les autres écritures sont effectuées en utilisant l'objet class du premier objet de fenêtre avec des décalages.
Bien que Microsoft essaie de reconstruire le code lié à win32k en utilisant Rust, ces vulnérabilités représentent toujours une menace sérieuse pour les systèmes Windows existants. Le processus d'exploitation des vulnérabilités est relativement simple et repose principalement sur la divulgation de l'adresse du gestionnaire de tas de bureau.
Nous supposons que la découverte de cette vulnérabilité est peut-être due à des techniques de détection de la couverture de code plus avancées. À l'avenir, pour la détection de ce type de vulnérabilités, il faudra non seulement se concentrer sur les points clés des fonctions déclencheuses de la vulnérabilité, mais également accorder de l'importance à la détection des dispositions de mémoire anormales et des lectures/écritures de données.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
20 J'aime
Récompense
20
8
Partager
Commentaire
0/400
ForumLurker
· Il y a 8h
On doit encore mettre à jour le système.
Voir l'originalRépondre0
SurvivorshipBias
· Il y a 11h
Je passe sur Mac, au revoir !
Voir l'originalRépondre0
MEVHunter
· Il y a 15h
Encore une opportunité d'Arbitrage, ne viens pas les mains vides.
Voir l'originalRépondre0
ConsensusDissenter
· Il y a 15h
Débutant, ne fais pas semblant, cela n'a pas d'impact.
Voir l'originalRépondre0
MEVSandwichVictim
· Il y a 15h
Pourquoi encore un trou de Win, je suis inquiet.
Voir l'originalRépondre0
GasFeeTears
· Il y a 15h
Absurde, tu me prends encore du gas ?
Voir l'originalRépondre0
tokenomics_truther
· Il y a 16h
J'ai peur, j'ai peur, je vais vite sauvegarder le portefeuille.
Les vulnérabilités 0day de Windows menacent la sécurité des actifs Web3 : explication des principes d'attaque par des experts.
Une grave vulnérabilité 0day existe dans le système Windows de Microsoft, pouvant menacer la sécurité de Web3.
Récemment, un correctif de sécurité publié par Microsoft a corrigé une vulnérabilité d'élévation de privilèges dans le système Windows, exploitée par des hackers. Cette vulnérabilité existe principalement dans les versions antérieures du système Windows et ne peut pas être déclenchée sur Windows 11.
Ce type de vulnérabilité d'élévation de privilèges win32k existe depuis longtemps. Dans le contexte actuel où diverses mesures de sécurité sont constamment améliorées, il est pertinent de se demander comment les attaquants continuent à exploiter cette vulnérabilité. Nous avons effectué une analyse approfondie de cette vulnérabilité dans un environnement Windows Server 2016.
Une vulnérabilité 0day désigne une faille système qui n'a pas encore été divulguée et corrigée, pouvant être exploitée discrètement par des hackers, avec un potentiel de destruction considérable. Grâce à cette vulnérabilité 0day au niveau du système Windows, les hackers pourraient obtenir un contrôle total sur le système.
Une fois que le système est contrôlé par des hackers, les conséquences incluent, mais ne se limitent pas à, la fuite d'informations personnelles, la perte de données due à un effondrement du système, des pertes financières, l'insertion de logiciels malveillants, etc. Pour les utilisateurs individuels, les clés privées des cryptomonnaies peuvent être volées et les actifs numériques transférés ; à une échelle plus large, cette vulnérabilité pourrait même affecter tout l'écosystème Web3 fonctionnant sur une infrastructure Web2.
En analysant le code du patch, nous avons découvert que le problème provenait d'un comptage de références d'un objet qui avait été traité une fois de trop. En se référant aux commentaires du code source précédent, il est évident que le code antérieur ne verrouillait que l'objet fenêtre, sans verrouiller l'objet menu de l'objet fenêtre, ce qui entraînait un risque de référence incorrecte de l'objet menu.
Nous avons construit une structure de menu imbriqué à plusieurs niveaux pour déclencher cette vulnérabilité. En concevant soigneusement les propriétés du menu et les relations de référence, il est possible de libérer avec succès des objets de menu spécifiques lorsque certaines fonctions retournent le niveau utilisateur, ce qui entraîne des références à des objets invalides dans le code ultérieur.
La clé pour exploiter cette vulnérabilité réside dans la manière de contrôler le paramètre cbwndextra pour qu'il ait une valeur particulièrement élevée. Nous avons finalement choisi de réaliser cet objectif en manipulant la mémoire de mise en page, en contrôlant les données de mémoire des objets adjacents.
Pour construire une exploitation stable des vulnérabilités, nous avons conçu une disposition mémoire spéciale, comprenant plusieurs objets de fenêtre et objets de classe de fenêtre consécutifs. En libérant et en réoccupant des objets spécifiques, il est possible de contrôler des paramètres clés.
En ce qui concerne la lecture et l'écriture des primitives, nous utilisons GetMenuBarInfo() pour réaliser des lectures arbitraires et SetClassLongPtr() pour réaliser des écritures arbitraires. Sauf pour l'opération d'écriture de remplacement de TOKEN, toutes les autres écritures sont effectuées en utilisant l'objet class du premier objet de fenêtre avec des décalages.
Bien que Microsoft essaie de reconstruire le code lié à win32k en utilisant Rust, ces vulnérabilités représentent toujours une menace sérieuse pour les systèmes Windows existants. Le processus d'exploitation des vulnérabilités est relativement simple et repose principalement sur la divulgation de l'adresse du gestionnaire de tas de bureau.
Nous supposons que la découverte de cette vulnérabilité est peut-être due à des techniques de détection de la couverture de code plus avancées. À l'avenir, pour la détection de ce type de vulnérabilités, il faudra non seulement se concentrer sur les points clés des fonctions déclencheuses de la vulnérabilité, mais également accorder de l'importance à la détection des dispositions de mémoire anormales et des lectures/écritures de données.