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
Outils/GitHubGitHub/petergabaldon/cve-2024-7479_cve-2024-7481
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation de Binaires
GitHubpetergabaldon/cve-2024-7479_cve-2024-7481

CVE-2024-7479_CVE-2024-7481

PoC d'élévation de privilèges de l'utilisateur au noyau de TeamViewer. CVE-2024-7479 et CVE-2024-7481. ZDI-24-1289 et ZDI-24-1290. TV-2024-1006.

Voir le dépôt

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
137214il y a 1 anVérifié par Kitploit

CVE-2024-7479 et CVE-2024-7481

Élévation de privilèges de l'utilisateur au noyau dans TeamViewer

GitHub Repo stars

Ce dépôt contient la preuve de concept de l'exploit d'une vulnérabilité dans TeamViewer qui permet à un utilisateur non privilégié de charger un pilote noyau arbitraire dans le système. Je remercie Zero Day Initiative pour la coordination avec eux afin de signaler et divulguer la vulnérabilité de manière responsable.

Logo

  • https://www.cve.org/CVERecord?id=CVE-2024-7479
  • https://www.cve.org/CVERecord?id=CVE-2024-7481
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1289/
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1290/
  • https://www.teamviewer.com/en/resources/trust-center/security-bulletins/tv-2024-1006/

Exécution du PoC

Détails

Les détails de la recherche qui a abouti à ces vulnérabilités se trouvent dans la série de trois articles de blog suivante sur mon blog. Ils couvrent ces vulnérabilités plus en détail et montrent également où j'ai échoué au cours du processus. La troisième partie est la plus amusante :P.

  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-1/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-2/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-3/

Vidéo du PoC 📺

Les vidéos de l'exploit se trouvent ici :

  • https://youtu.be/lUkAMAK-TPI
  • https://youtu.be/3R0aBYd0Qn4
  • https://youtu.be/kOjjFgkJQoc

Résumé

Après avoir pu usurper (juste une simple authentification comme détaillé dans le blog) un client TeamViewer valide lors de la connexion au service IPC SYSTEM, il était possible de déclencher une installation de pilote arbitraire. TeamViewer ne vérifiait pas la signature du pilote installé.

Ainsi, une escalade de privilèges UTILISATEUR vers NOYAU était possible grâce à TeamViewer.

L'une des meilleures approches consiste à utiliser la technique bien connue BYOD, Bring Your Own Vulnerable Driver pour charger un pilote valide signé dans le noyau Windows, puis l'exploiter afin d'effectuer des actions privilégiées depuis le niveau utilisateur, comme changer le jeton d'un processus arbitraire pour un jeton privilégié.

Lorsque TeamViewer est installé sur le système, il crée un service qui s'exécute en tant que SYSTEM, TeamViewer_service.exe

Ce service est une aide pour le client pour certaines tâches. Ainsi, le client ne s'exécute pas avec des privilèges élevés et certaines tâches sont déléguées au service.

La communication avec le service (IPC) est implémentée via des sockets (utilisant Overlapped I/O et IoCompletionPort). Par défaut, les services SYSTEM de TeamViewer écoutent sur 5939/tcp sur localhost.

TeamViewer ne filtre pas le paramètre envoyé par le client pour demander l'installation du pilote ni la vérification de signature, etc.

Donc, l'idée est la suivante : nous allons usurper un client TV et demander une installation de pilote VPN mais en indiquant un autre INF. J'ai réutilisé le même INF original de TeamViewer mais dans un autre chemin (non privilégié) en renommant le "mauvais" pilote en teamviewervpn.sys, car c'est le nom de pilote ciblé par l'INF original.

NOTE IMPORTANTE

Cela contourne également l'option de TeamViewer Les modifications nécessitent des droits d'administration sur cet ordinateur.

Cette vérification n'est efficace que via l'interface graphique, car Options de TeamViewer est désactivé lorsque l'on clique sur le bouton avec un utilisateur non privilégié. Mais il est possible de se connecter au socket et d'effectuer le chargement arbitraire du pilote.

NOTE IMPORTANTE II

L'exploit dépend de la version en raison du message IPC où le client spécifie son PID et d'autres données parmi la version. La version du client doit correspondre à la version du service SYSTEM. L'exploit doit être modifié (lignes 140 à 143) dans Main.cpp selon la version de TeamViewer_service.exe ciblée.

Donc, en gros, nous usurpons un client TeamViewer connecté au service SYSTEM et demandons l'installation d'un pilote arbitraire. Le service TeamViewer le charge gentiment dans le noyau.

Branche CVE-2024-7481

TeamViewer a un autre message IPC très similaire au premier que j'ai découvert en premier (déclenché en cliquant sur Installer le pilote VPN). Cet autre message sert à installer le pilote d'impression.

Donc, essentiellement, CVE-2024-7479 et CVE-2024-7481 sont identiques, mais TeamViewer a commis la même erreur deux fois. Les messages sont, bien que différents, très similaires. Ils ont des identifiants de méthode IPC différents.

Le résultat est le même, un pilote arbitraire peut être chargé.

Et souvenez-vous toujours : "Ce n'est pas qui je suis en dessous, mais ce que je fais qui me définit"

🦇

Linkedin badge Twitter badge

"Buy Me A Coffee"

Télécharger l’outil