Analyse des vulnérabilités 0day clés de Microsoft : pourrait compromettre la sécurité de Web3
Le mois dernier, un correctif de sécurité publié par Microsoft a corrigé une vulnérabilité d'élévation de privilèges du noyau Windows exploitée par des hackers. Cette vulnérabilité n'affecte que les anciennes versions de Windows, et Windows 11 semble ne pas être affecté. Cet article analysera comment, dans le contexte actuel de renforcement des mesures de sécurité, les attaquants pourraient continuer à exploiter cette vulnérabilité.
Cette vulnérabilité 0day, une fois découverte, pourrait être exploitée de manière malveillante sans être détectée, présentant une grande destructivité. Grâce à cette vulnérabilité, les hackers peuvent obtenir un contrôle total sur le système Windows. Une fois contrôlé, cela peut entraîner des fuites d'informations personnelles, des pannes de système, des pertes financières et d'autres conséquences graves. Du point de vue de Web3, les clés privées des utilisateurs pourraient être volées, des actifs numériques transférés, et cela pourrait même affecter l'ensemble de l'écosystème Web3 basé sur l'infrastructure Web2.
L'analyse du patch a révélé que le problème réside dans le comptage des références d'un objet qui a été traité plusieurs fois. win32k est un code ancien, et les commentaires des premières versions indiquent que le code précédent ne verrouillait que l'objet fenêtre, sans verrouiller l'objet menu à l'intérieur de la fenêtre, ce qui pourrait entraîner des références incorrectes à l'objet menu.
Pour déclencher la vulnérabilité, nous avons construit une structure de menu multi-niveaux spéciale et supprimé certaines relations de référence à des endroits clés. De cette façon, lorsque la fonction noyau retourne au niveau utilisateur, il est possible de libérer avec succès l'objet menu cible, le rendant invalide lors des références ultérieures.
L'idée générale d'exploiter cette vulnérabilité est de modifier l'adresse du token en lisant et en écrivant des primitives. La clé est de savoir comment utiliser la vulnérabilité UAF pour contrôler la valeur de cbwndextra, et ensuite comment réaliser de manière stable des lectures et écritures arbitraires.
Nous avons réalisé des primitives de lecture et d'écriture stables en concevant soigneusement la disposition de la mémoire, en utilisant des objets de fenêtre et des objets HWNDClass. GetMenuBarInfo() est utilisé pour la lecture arbitraire, SetClassLongPtr() est utilisé pour l'écriture arbitraire. À part l'écriture de token, toutes les autres écritures sont réalisées via l'objet class du premier objet de fenêtre par décalage.
Dans l'ensemble, la vulnérabilité win32k a une longue histoire, mais Microsoft est en train de restructurer le code concerné avec Rust. L'exploitation de ce type de vulnérabilité dépend principalement de la fuite d'adresses des poignées de tas de bureau. Si ce problème n'est pas complètement résolu, les anciens systèmes resteront vulnérables. À l'avenir, des détections ciblées sur la disposition anormale de la mémoire et la lecture/écriture des données de fenêtre pourraient être l'une des voies efficaces pour découvrir ce type de vulnérabilité.
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.
16 J'aime
Récompense
16
4
Reposter
Partager
Commentaire
0/400
ChainPoet
· Il y a 9h
Mettre à jour le système pour rester en sécurité
Voir l'originalRépondre0
AllInAlice
· Il y a 9h
Mettez à niveau vers la onzième pour la sécurité
Voir l'originalRépondre0
AirdropHustler
· Il y a 9h
N'oubliez pas de sauvegarder votre clé privée, sinon vous risquez de perdre tout.
La vulnérabilité du noyau de Microsoft menace la sécurité des actifs Web3. Les hackers peuvent obtenir le contrôle du système.
Analyse des vulnérabilités 0day clés de Microsoft : pourrait compromettre la sécurité de Web3
Le mois dernier, un correctif de sécurité publié par Microsoft a corrigé une vulnérabilité d'élévation de privilèges du noyau Windows exploitée par des hackers. Cette vulnérabilité n'affecte que les anciennes versions de Windows, et Windows 11 semble ne pas être affecté. Cet article analysera comment, dans le contexte actuel de renforcement des mesures de sécurité, les attaquants pourraient continuer à exploiter cette vulnérabilité.
Cette vulnérabilité 0day, une fois découverte, pourrait être exploitée de manière malveillante sans être détectée, présentant une grande destructivité. Grâce à cette vulnérabilité, les hackers peuvent obtenir un contrôle total sur le système Windows. Une fois contrôlé, cela peut entraîner des fuites d'informations personnelles, des pannes de système, des pertes financières et d'autres conséquences graves. Du point de vue de Web3, les clés privées des utilisateurs pourraient être volées, des actifs numériques transférés, et cela pourrait même affecter l'ensemble de l'écosystème Web3 basé sur l'infrastructure Web2.
L'analyse du patch a révélé que le problème réside dans le comptage des références d'un objet qui a été traité plusieurs fois. win32k est un code ancien, et les commentaires des premières versions indiquent que le code précédent ne verrouillait que l'objet fenêtre, sans verrouiller l'objet menu à l'intérieur de la fenêtre, ce qui pourrait entraîner des références incorrectes à l'objet menu.
Pour déclencher la vulnérabilité, nous avons construit une structure de menu multi-niveaux spéciale et supprimé certaines relations de référence à des endroits clés. De cette façon, lorsque la fonction noyau retourne au niveau utilisateur, il est possible de libérer avec succès l'objet menu cible, le rendant invalide lors des références ultérieures.
L'idée générale d'exploiter cette vulnérabilité est de modifier l'adresse du token en lisant et en écrivant des primitives. La clé est de savoir comment utiliser la vulnérabilité UAF pour contrôler la valeur de cbwndextra, et ensuite comment réaliser de manière stable des lectures et écritures arbitraires.
Nous avons réalisé des primitives de lecture et d'écriture stables en concevant soigneusement la disposition de la mémoire, en utilisant des objets de fenêtre et des objets HWNDClass. GetMenuBarInfo() est utilisé pour la lecture arbitraire, SetClassLongPtr() est utilisé pour l'écriture arbitraire. À part l'écriture de token, toutes les autres écritures sont réalisées via l'objet class du premier objet de fenêtre par décalage.
Dans l'ensemble, la vulnérabilité win32k a une longue histoire, mais Microsoft est en train de restructurer le code concerné avec Rust. L'exploitation de ce type de vulnérabilité dépend principalement de la fuite d'adresses des poignées de tas de bureau. Si ce problème n'est pas complètement résolu, les anciens systèmes resteront vulnérables. À l'avenir, des détections ciblées sur la disposition anormale de la mémoire et la lecture/écriture des données de fenêtre pourraient être l'une des voies efficaces pour découvrir ce type de vulnérabilité.