Analyse des vulnérabilités 0day au niveau système Windows : les attaquants peuvent prendre le contrôle total des anciennes versions du système.

robot
Création du résumé en cours

Analyse des vulnérabilités 0day de niveau système de Microsoft Windows : contrôle total du système

Récemment, un correctif de sécurité publié par Microsoft a réparé une vulnérabilité d'élévation de privilèges Win32k qui était exploitée de manière malveillante. Cette vulnérabilité n'existe que dans les versions antérieures des systèmes Windows et ne peut pas être déclenchée sur Windows 11. Cet article analysera comment les attaquants pourraient continuer à exploiter cette vulnérabilité dans le contexte actuel d'une sécurité renforcée.

Contexte de la vulnérabilité

C'est une vulnérabilité 0day au niveau du système Windows, permettant aux hackers d'obtenir un contrôle total sur Windows. Les conséquences après le contrôle incluent le vol d'informations personnelles, la perte de données due à des pannes système, des pertes financières, l'insertion de logiciels malveillants, etc. Cela peut aller du vol de clés privées et du transfert d'actifs numériques à des impacts sur tout l'écosystème Web3 fonctionnant sur une infrastructure basée sur Web2.

Numen Exclusif : La vulnérabilité 0day de Microsoft peut renverser la partie Web3 au niveau système + physique

Analyse de patch

Une analyse du patch révèle qu'il s'agit d'un problème de comptage de références d'objets traité de manière excessive. D'après les commentaires dans le code source antérieur, le code précédent ne verrouillait que l'objet fenêtre, sans verrouiller l'objet menu dans l'objet fenêtre, ce qui pourrait entraîner une référence incorrecte à l'objet menu.

Numen Exclusif : La vulnérabilité 0day de Microsoft peut renverser la table Web3 à la fois au niveau système et physique

Principe de vulnérabilité

Une analyse plus approfondie révèle que le menu transmis à xxxEnableMenuItem() est généralement verrouillé dans la fonction parente. La fonction MenuItemState dans xxxEnableMenuItem peut retourner deux possibilités : le menu principal de la fenêtre ou un sous-menu dans le menu.

Numen Exclusif : La vulnérabilité 0day de Microsoft peut dévoiler les enjeux de Web3 au niveau système + physique

Preuve de concept ( PoC ) réalisation

PoC a construit une structure de menu spéciale à quatre niveaux et a défini certaines conditions spécifiques pour passer les vérifications dans la fonction xxxEnableMenuItem. L'étape clé consiste à supprimer la relation de référence entre le menu C et le menu B lors du retour de l'utilisateur dans xxxRedrawTitle et à libérer le menu C. Ainsi, lorsque le menu C est référencé dans la fonction xxxEnableMenuItem par la suite, cet objet est déjà invalide.

Numen exclusif : la vulnérabilité 0day de Microsoft peut renverser le jeu Web3 au niveau système + physique

Exploitation de la vulnérabilité ( Exp) réalisation

Il existe principalement deux approches : exécuter du code shell ou utiliser des primitives de lecture et d'écriture pour modifier l'adresse du token. En tenant compte de la compatibilité, la seconde a été choisie. L'ensemble se divise en deux étapes : utiliser la vulnérabilité UAF pour contrôler la valeur de cbwndextra, puis établir des primitives de lecture et d'écriture stables.

Les points clés incluent :

  1. Objet de menu libéré par l'objet de nom de classe de fenêtre
  2. Trouvez l'emplacement des données pouvant être écrites dans la fonction xxxRedrawWindow.
  3. Construire une disposition mémoire stable, y compris trois objets HWND consécutifs.
  4. Utiliser GetMenuBarInfo() et SetClassLongPtr() pour réaliser la lecture et l'écriture des primitives.

Numen Exclusif : La faille 0day de Microsoft peut renverser le jeu Web3 sur les plans système et physique

Numen Exclusif : La vulnérabilité 0day de Microsoft peut renverser la situation de Web3 à la fois au niveau système et physique

Numen Exclusif : Le 0day de Microsoft peut bouleverser le jeu Web3 à la fois au niveau système et physique

Résumé

  1. Microsoft est en train de reconstruire le code lié à Win32k avec Rust, à l'avenir, ce type de vulnérabilité pourrait être éliminé.
  2. Le processus d'exploitation de la vulnérabilité n'est pas très difficile, il repose principalement sur la fuite de l'adresse de poignée de pile du bureau.
  3. La découverte de vulnérabilités peut dépendre d'une couverture de code plus complète.
  4. La détection des dispositions de mémoire anormales et des lectures/écritures de données de fenêtres aide à découvrir des vulnérabilités similaires.

Bien que ce type de vulnérabilité soit progressivement corrigé dans les nouveaux systèmes, il reste une menace pour les anciens systèmes. Il est toujours important d'améliorer les mécanismes de détection et de protection contre les vulnérabilités.

Numen exclusif : la vulnérabilité 0day de Microsoft peut faire tomber le jeu Web3 au niveau système + physique

TOKEN-0.12%
Voir l'original
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.
  • Récompense
  • 4
  • Partager
Commentaire
0/400
UncleLiquidationvip
· Il y a 16h
Le vieux système, même les chiens ne l'utilisent plus.
Voir l'originalRépondre0
CommunityLurkervip
· Il y a 16h
Une nouvelle opportunité de gagner de l'argent est arrivée.
Voir l'originalRépondre0
ser_ngmivip
· Il y a 17h
C'est juste que la déficience cognitive de Microsoft a permis de jouer avec ce genre de vulnérabilité.
Voir l'originalRépondre0
AirdropHunter9000vip
· Il y a 17h
Le vieux système n'est toujours pas mis à jour ? Si tu ne fais rien, tu ne mourras pas.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)