Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2024-7479_CVE-2024-7481 — Prova de Conceito de Elevação de Privilégio de Usuário para Kernel no TeamViewer. CVE-2024-7479 e CVE-2024-7481. ZDI-24-1289 e ZDI-24-1290. TV-2024-1006. | Kitploit
Ferramentas/GitHubGitHub/petergabaldon/cve-2024-7479_cve-2024-7481
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Binários
GitHubpetergabaldon/cve-2024-7479_cve-2024-7481

CVE-2024-7479_CVE-2024-7481

Prova de Conceito de Elevação de Privilégio de Usuário para Kernel no TeamViewer. CVE-2024-7479 e CVE-2024-7481. ZDI-24-1289 e ZDI-24-1290. TV-2024-1006.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
13721há 1 anoRevisado pelo Kitploit

CVE-2024-7479 & CVE-2024-7481

TeamViewer Elevação de Privilégio de Usuário para Kernel

GitHub Repo stars

Este repositório contém a prova de conceito do exploit de uma vulnerabilidade no TeamViewer que permite que um usuário não privilegiado carregue um Driver de Kernel arbitrário no sistema. Gostaria de agradecer à Zero Day Initiative pela coordenação com eles para relatar e divulgar responsavelmente a vulnerabilidade.

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/

PoC Execution

Detalhes

Os detalhes sobre a pesquisa que resultou nessas vulnerabilidades podem ser encontrados na seguinte série de três partes do blog no meu blog. Eles cobrem essas vulns em mais detalhes e também mostram onde eu falhei durante o processo. A terceira parte é a divertida :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/

Vídeo da Prova de Conceito 📺

Vídeos do exploit podem ser encontrados aqui:

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

Resumo

Depois de ser capaz de falsificar (apenas uma autenticação simples, conforme detalhado no blog) um cliente TeamViewer válido ao se conectar ao serviço IPC do SYSTEM, foi possível acionar uma instalação arbitrária de driver. O TeamViewer não estava verificando a assinatura do driver que estava sendo instalado.

Assim, uma escalação de privilégio de USUÁRIO para KERNEL foi possível graças ao TeamViewer.

Uma das melhores abordagens é usar a técnica bem conhecida BYOD, Bring Your Own Vulnerable Driver para carregar um driver assinado válido no Kernel do Windows e então explorá-lo para realizar ações privilegiadas a partir do nível de usuário, como alterar o token de um processo arbitrário por um privilegiado.

Quando o TeamViewer está instalado no sistema, ele cria um serviço que roda como SYSTEM, TeamViewer_service.exe

Este serviço é um auxiliar para o cliente em algumas tarefas. Assim, o cliente não roda com privilégios elevados e algumas tarefas são delegadas ao serviço.

A comunicação com o serviço (IPC) é implementada através de sockets (usando Overlapped I/O e IoCompletionPort). Por padrão, os serviços SYSTEM do TeamViewer escutam na porta 5939/tcp em localhost.

O TeamViewer não está filtrando o parâmetro enviado pelo cliente para solicitar a instalação do driver nem a verificação de assinatura, etc.

Então a ideia é: vamos falsificar um cliente TV e pedir uma instalação de Driver VPN, mas indicando outro INF. Reutilizei o mesmo INF original do TeamViewer, mas em outro caminho (não privilegiado), renomeando o driver "ruim" para teamviewervpn.sys, já que este é o nome do driver alvo do INF original.

NOTA IMPORTANTE

Isso também contorna a opção do TeamViewer Alterações exigem direitos administrativos neste computador.

Essa verificação é eficaz apenas via GUI, pois as opções do TeamViewer estão desabilitadas ao clicar no botão com um usuário não privilegiado. Mas é possível conectar ao socket e realizar o carregamento arbitrário do driver.

NOTA IMPORTANTE II

O exploit depende da versão por causa da mensagem IPC onde o cliente especifica seu PID e outros dados entre a versão. A versão do cliente deve corresponder à versão do serviço SYSTEM. O exploit deve ser modificado (linhas 140 a 143) no Main.cpp para a versão do TeamViewer_service.exe que está sendo alvo.

Então, basicamente, falsificamos um cliente TeamViewer conectando ao serviço SYSTEM e solicitamos a instalação de um driver arbitrário. O serviço do TeamViewer gentilmente o carrega no Kernel.

Ramo CVE-2024-7481

O TeamViewer tem outra mensagem IPC muito semelhante à primeira que descobri (lançada ao clicar em Instalar Driver VPN). Esta outra mensagem é para instalar o Driver de Impressora.

Então, essencialmente, CVE-2024-7479 e CVE-2024-7481 são iguais, mas o TeamViewer cometeu o mesmo erro duas vezes. As mensagens, embora diferentes, são muito semelhantes. Elas têm diferentes IDs de Método IPC.

O resultado é o mesmo, um driver arbitrário pode ser carregado.

E lembre-se sempre: "Não é quem sou por baixo, mas o que faço que me define"

🦇

Linkedin badge Twitter badge

"Buy Me A Coffee"

Baixar ferramenta