Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Un clic en un proyecto malicioso de VS Code puede dar acceso persistente a tu PC


Se ha detectado una grave vulnerabilidad de seguridad en Visual Studio Code que permitiría a los atacantes obtener acceso persistente a la estación de trabajo de un desarrollador con un solo clic. El ataque aprovecha los enlaces clicables en el editor de código para evadir la protección de Workspace Trust, la cual está diseñada para proteger a los usuarios al abrir proyectos desconocidos.



Un problema de seguridad grave en Visual Studio Code podría permitir que los atacantes obtengan acceso persistente a la estación de trabajo de un desarrollador con un solo clic dentro de la carpeta de un proyecto malicioso.

El ataque abusa de los enlaces en los que se puede hacer clic en el editor de código de VS Code para evadir la protección esperada de Workspace Trust (Confianza del Espacio de Trabajo). Workspace Trust está diseñado para protegerte cuando abres código de una fuente desconocida. Cuando una carpeta no es confiable, VS Code entra en el Modo Restringido.

Esto debería evitar acciones riesgosas, como ejecutar tareas, depuradores o comandos de terminal. La idea principal es simple: el mero hecho de abrir un repositorio desconocido no debería ejecutar código controlado por un atacante.

Sin embargo, investigadores de Remedio encontraron una vía que podría permitir que un proyecto malicioso active comandos internos de VS Code a través de un enlace de comando manipulado.

VS Code detecta automáticamente las URLs en archivos como los README, comentarios y documentos Markdown. A menudo, puedes abrir esos enlaces con Ctrl+clic. Normalmente, esperas que tales enlaces abran sitios web o páginas de documentación.

Pero VS Code también admite URLs de comandos especiales. En lugar de abrir un navegador, estos enlaces pueden invocar un comando interno del editor y pasarle argumentos. VS Code tiene cientos de comandos integrados, mientras que las extensiones instaladas pueden añadir más.

Proyecto malicioso de VS Code permite acceso persistente con un solo clic

Un comando preocupante es workbench.extensions.installExtension. Según la referencia de comandos de VS Code, este comando puede instalar una extensión utilizando un identificador de extensión o una URI de paquete de extensión VSIX.

The Workspace Trust prompt , the one question the whole feature rests on (source : remedio )
El aviso de Workspace Trust, la única pregunta en la que se basa toda la funcionalidad (fuente: Remedio)

Un atacante podría ocultar un enlace de comando detrás de un texto inofensivo como "Instalar dependencias del proyecto" o "Configurar este proyecto". Si haces Ctrl+clic en el enlace en un archivo de código, el editor podría recibir la instrucción de instalar un paquete VSIX malicioso ubicado dentro de la carpeta del proyecto.

Una extensión de VS Code es más que un archivo de configuración. Puede ejecutar código JavaScript o TypeScript con los permisos del usuario conectado. Eso significa que una extensión maliciosa podría acceder a tus archivos locales, código fuente, claves SSH, credenciales de la nube, tokens accesibles desde el navegador o herramientas de desarrollo.

El peligro también se extiende más allá del clic inicial. Una vez instalada, una extensión puede permanecer en el sistema y activarse durante futuras sesiones de VS Code.

Podrías cerrar el proyecto malicioso, reiniciar el ordenador y más tarde abrir un repositorio confiable. Mientras tanto, la extensión del atacante seguirá cargándose en segundo plano.

Result: calc.exe launched and a marker file written, while the workspace is still Restricted  (source : remedio )

Resultado: calc.exe ejecutado y un archivo marcador escrito, mientras el espacio de trabajo sigue restringido (fuente: Remedio)

Esto hace que el problema sea especialmente serio para las estaciones de trabajo de los desarrolladores. A menudo tienes acceso a repositorios privados, sistemas CI/CD, infraestructura de firma, cuentas de la nube y secretos de producción. Comprometer el dispositivo de un solo desarrollador puede convertirse en el punto de partida para un incidente mayor en la cadena de suministro de software.

La documentación de Workspace Trust de Microsoft establece que es posible que se te pida confiar en el espacio de trabajo o instalar la extensión al instalar extensiones en Modo Restringido. Las extensiones que no admiten Workspace Trust podrían instalarse con funcionalidad limitada o quedar desactivadas.

Según la investigación de Remedio, la preocupación es que una extensión VSIX local manipulada puede declarar que admite espacios de trabajo no confiables. Si VS Code acepta esta declaración sin mostrar una advertencia de seguridad significativa, un atacante podría instalar la extensión mientras el espacio de trabajo sigue sin ser confiable.

La lección general es aplicar un límite de seguridad de manera coherente. Bloquear enlaces de comandos peligrosos en una vista previa de Markdown renderizada no es suficiente si el mismo enlace puede ejecutarse a través del editor de código fuente original.

The attacker's extension now sits in the Installed list, looking ordinary (source : remedio )
La extensión del atacante ahora aparece en la lista de Instaladas, pareciendo ordinaria (fuente: Remedio)

Deberías evitar hacer clic en enlaces dentro de repositorios desconocidos, especialmente aquellos que afirmen instalar dependencias, configurar entornos o lanzar acciones de configuración del proyecto. También debes mantener activado Workspace Trust y revisar regularmente las extensiones instaladas.

Una mitigación práctica es desactivar los enlaces en los que se puede hacer clic en el editor a través del siguiente ajuste de usuario: json "editor.links": false.

Este ajuste evita que VS Code detecte y abra enlaces automáticamente desde el editor de código, eliminando la ruta de clic utilizada por la técnica reportada. El ajuste está documentado en la configuración predeterminada de VS Code como el control de si el editor detecta los enlaces y los hace clicables.

Las organizaciones también deberían restringir la instalación de extensiones mediante una política centralizada y permitir solo editores o extensiones aprobadas. Hasta que Microsoft solucione completamente el manejo de enlaces de comandos en todas las superficies del editor, debes tratar los enlaces en repositorios de código no confiables como potencialmente hostiles.


Fuentes:
https://cybersecuritynews.com/one-click-in-a-malicious-vs-code-project-give-persistent-access/

0 comments :

Post a Comment

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.