Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
qq-tim-elevation — CVE-2023-34312 | Kitploit
Outils/GitHubGitHub/vi3t1/qq-tim-elevation
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionDéveloppement de Charges UtilesExploitation de Binaires
GitHubvi3t1/qq-tim-elevation

qq-tim-elevation

CVE-2023-34312

Voir le dépôt
419732il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Élévation de privilège locale Tencent QQ/TIM

Produits concernés :

  • QQ 9.7.1.28940 ~ 9.7.8.29039
  • TIM 3.4.5.22071 ~ 3.4.7.22084

Composants concernés :

  • QQProtect.exe 4.5.0.9424 (dans TIM 3.4.5.22071)
  • QQProtect.exe 4.5.0.9426 (dans QQ 9.7.1.28940)
  • QQProtectEngine.dll 4.5.0.9424 (dans TIM 3.4.5.22071)
  • QQProtectEngine.dll 4.5.0.9426 (dans QQ 9.7.1.28940)

1. Résumé

Tencent QQ et TIM sont deux logiciels de messagerie instantanée développés par Shenzhen Tencent Computer System Co., Ltd. Ils possèdent tous deux un composant QQProtect.exe situé dans %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin. QQProtect.exe est installé en tant que service Windows nommé QPCore et s'exécute en tant que NT Authority\SYSTEM automatiquement au démarrage du système. Le composant QQProtect.exe et sa DLL dépendante QQProtectEngine.dll présentent tous deux une vulnérabilité d'écriture d'adresse arbitraire. Un attaquant disposant de faibles privilèges peut charger une DLL malveillante dans le processus QQProtect.exe en combinant les deux vulnérabilités et obtenir un shell NT Authority\SYSTEM.

2. Vulnérabilité

La première vulnérabilité se trouve dans le code à QQProtect.exe+0x40c9f8:

où a2 est un pointeur contrôlable par un attaquant et dword_41a740 est une variable globale dont la valeur est 0x00000001. Ainsi, un attaquant peut écrire la valeur DWORD(1) à n'importe quelle adresse.

La deuxième vulnérabilité se trouve dans le code à QQProtectEngine.dll+0x3B4F6:

où v3 est un pointeur contrôlable par un attaquant. Ainsi, un attaquant peut écrire la valeur std::bit_cast<DWORD>(ptr) + 4 à n'importe quelle adresse ptr.

Un attaquant peut modifier un pointeur de fonction présent dans QQProtect.exe et utiliser des chaînes ROP pour exécuter facilement du code arbitraire en raison du fait que QQProtect.exe ne dispose pas de protection ASLR.

3. Preuve de concept

Le code de la preuve de concept est écrit en langage Rust. Vous devez utiliser la chaîne d'outils i686-pc-windows-msvc pour le compiler.

root@kitploit:~
$ cd poc
$ cargo +stable-i686-pc-windows-msvc build --release --config "build.rustflags = [\"-C\", \"target-feature=+crt-static\"]"

Vous obtiendrez deux DLL :

root@kitploit:~
target\release\tinyxml.dll
target\release\evil.dll

Placez ensuite les deux DLL ci-dessus et %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin\QQProtect.exe ensemble dans un dossier.

Enfin, obtenez un shell NT Authority\SYSTEM avec une seule commande :

root@kitploit:~
$ QQProtect.exe <CHEMIN VERS evil.dll>

4. Démonstration

demonstration.gif

Télécharger l’outil