Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-7479_CVE-2024-7481 — PoC de elevación de privilegios de usuario a kernel en TeamViewer. CVE-2024-7479 y CVE-2024-7481. ZDI-24-1289 y ZDI-24-1290. TV-2024-1006. | Kitploit
Herramientas/GitHubGitHub/petergabaldon/cve-2024-7479_cve-2024-7481
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHubpetergabaldon/cve-2024-7479_cve-2024-7481

CVE-2024-7479_CVE-2024-7481

PoC de elevación de privilegios de usuario a kernel en TeamViewer. CVE-2024-7479 y CVE-2024-7481. ZDI-24-1289 y ZDI-24-1290. TV-2024-1006.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
13721hace 1 añoRevisado por Kitploit

CVE-2024-7479 & CVE-2024-7481

TeamViewer Elevación de Privilegios de Usuario a Kernel

GitHub Repo stars

Este repositorio contiene la prueba de concepto del exploit de una vulnerabilidad en TeamViewer que permite a un usuario sin privilegios cargar un controlador de kernel arbitrario en el sistema. Quiero agradecer a Zero Day Initiative la coordinación para informar y divulgar responsablemente la vulnerabilidad.

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/

Ejecución del PoC

Detalles

Los detalles sobre la investigación que condujo a estas vulnerabilidades se pueden encontrar en la siguiente serie de blogs de tres partes en mi blog. Cubren estas vulnerabilidades con más detalle y también muestran dónde fallé durante el proceso. La tercera parte es la 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 del PoC 📺

Los vídeos del exploit se pueden encontrar aquí:

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

Resumen

Después de poder spoof (solo una autenticación simple como se detalla en el blog) a un cliente válido de TeamViewer al conectarse al IPC del servicio SYSTEM, fue posible desencadenar una instalación arbitraria de un controlador. TeamViewer no verificaba la firma del controlador que se estaba instalando.

Así, era posible una escalada de privilegios de USUARIO a KERNEL gracias a TeamViewer.

Una de las mejores aproximaciones es usar la conocida técnica BYOD, Bring Your Own Vulnerable Driver para cargar un controlador firmado válido en el kernel de Windows y luego explotarlo para realizar acciones privilegiadas desde nivel de usuario, como cambiar el token de un proceso arbitrario por uno privilegiado.

Cuando TeamViewer está instalado en el sistema, crea un servicio que se ejecuta como SYSTEM, TeamViewer_service.exe

Este servicio es un asistente para el cliente en algunas tareas. Por lo tanto, el cliente no se ejecuta con privilegios elevados y algunas tareas se delegan al servicio.

La comunicación con el servicio (IPC) se implementa mediante sockets (usando Overlapped I/O y IoCompletionPort). Por defecto, el servicio SYSTEM de TeamViewer escucha en 5939/tcp en localhost.

TeamViewer no filtra el parámetro enviado por el cliente para solicitar la instalación del controlador ni la comprobación de firma, etc.

Así que la idea es: suplantaremos a un cliente de TV y solicitaremos la instalación de un VPN Driver pero indicando otro INF. Reutilicé el mismo INF original de TeamViewer pero en otra ruta (sin privilegios), renombrando el controlador "malo" a teamviewervpn.sys, ya que ese es el nombre de controlador al que apunta el INF original.

NOTA IMPORTANTE

Esto también evita la opción de TeamViewer Los cambios requieren derechos administrativos en este equipo.

Esta comprobación solo es efectiva a través de la GUI, ya que Opciones de TeamViewer está deshabilitada al hacer clic en el botón con un usuario sin privilegios. Pero es posible conectarse al socket y realizar la carga arbitraria del controlador.

NOTA IMPORTANTE II

El exploit depende de la versión debido al mensaje IPC donde el cliente especifica su PID y otros datos además de la versión. La versión del cliente debe coincidir con la versión del servicio SYSTEM. El exploit debe modificarse (líneas 140 a 143) en Main.cpp para la versión de TeamViewer_service.exe que se está atacando.

Así que, básicamente, suplantamos a un cliente de TeamViewer que se conecta al servicio SYSTEM y solicitamos la instalación de un controlador arbitrario. El servicio de TeamViewer, amablemente, lo carga en el kernel.

Rama CVE-2024-7481

TeamViewer tiene otro mensaje IPC muy similar al primero que descubrí (lanzado al hacer clic en Install VPN Driver). Este otro mensaje sirve para instalar el Printer Driver.

Así que, esencialmente, CVE-2024-7479 y CVE-2024-7481 son lo mismo, pero TeamViewer cometió el mismo error dos veces. Los mensajes, aunque diferentes, son muy similares. Tienen un Method Id de IPC diferente.

El resultado es el mismo: se puede cargar un controlador arbitrario.

Y recuerda siempre: "No es quién soy por debajo, sino lo que hago lo que me define"

🦇

Linkedin badge Twitter badge

"Buy Me A Coffee"

Descargar herramienta