Un grupo de investigadores israelíes exploró la seguridad del mercado de Visual Studio Code y logró "infectar" a más de 100 organizaciones al troyanizar una copia del popular tema 'Dracula Official' para incluir código riesgoso. Más investigaciones en el Marketplace de VSCode encontraron miles de extensiones con millones de instalaciones.
Visual Studio Code (VSCode) es un editor de código fuente publicado por Microsoft y utilizado por muchos desarrolladores de software profesionales en todo el mundo.
Microsoft también opera un mercado de extensiones para el IDE, llamado Visual Studio Code Marketplace, que ofrece complementos que amplían la funcionalidad de la aplicación y brindan más opciones de personalización.
Informes anteriores han destacado brechas en la seguridad de VSCode, permitiendo la suplantación de extensiones y editores, así como extensiones que roban tokens de autenticación de desarrolladores. También se han encontrado extensiones maliciosas confirmadas en la naturaleza.
Para su reciente experimento, los investigadores Amit Assaraf, Itay Kruk e Idan Dardikman, crearon una extensión que imita el tema 'Dracula Official', un esquema de colores popular para varias aplicaciones que tiene más de 7 millones de instalaciones en el Marketplace de VSCode.
Dracula es utilizado por una gran cantidad de desarrolladores debido a su modo oscuro visualmente atractivo con una paleta de colores de alto contraste, que es agradable a la vista y ayuda a reducir la fatiga ocular durante largas sesiones de codificación.
La extensión falsa utilizada en la investigación se llamó 'Darcula', y los investigadores incluso registraron un dominio coincidente en 'darculatheme.com'. Este dominio se utilizó para convertirse en un editor verificado en el Marketplace de VSCode, agregando credibilidad a la extensión falsa.
Su extensión utiliza el código real del tema legítimo de Dracula, pero también incluye un script agregado que recopila información del sistema, incluido el nombre del host, la cantidad de extensiones instaladas, el nombre de dominio del dispositivo y la plataforma del sistema operativo, y lo envía a un servidor remoto a través de una solicitud HTTPS POST.
Los investigadores señalan que el código malicioso no es detectado por las herramientas de detección y respuesta de endpoints (EDR), ya que VSCode se trata con indulgencia debido a su naturaleza como sistema de desarrollo y prueba.
“Desafortunadamente, las herramientas tradicionales de seguridad de endpoints (EDR) no detectan esta actividad (como hemos demostrado ejemplos de RCE para organizaciones selectas durante el proceso de divulgación responsable), VSCode está construido para leer muchos archivos y ejecutar muchos comandos y crear procesos secundarios, por lo que las EDR no pueden entender si la actividad de VSCode es una actividad legítima de desarrollador o una extensión maliciosa.” - Amit Assaraf
La extensión rápidamente ganó tracción, siendo instalada por error por múltiples objetivos de alto valor, incluyendo una empresa que cotiza en bolsa con una capitalización de mercado de $483 mil millones, grandes compañías de seguridad y una red nacional de tribunales de justicia.
Los investigadores han optado por no revelar los nombres de las empresas afectadas.
Ya que el experimento no tenía una intención maliciosa, los analistas solo recolectaron información identificativa e incluyeron una divulgación en el Read Me, licencia y el código de la extensión.
Después del experimento exitoso, los investigadores decidieron profundizar en el panorama de amenazas del Marketplace de VSCode, utilizando una herramienta personalizada que desarrollaron llamada 'ExtensionTotal' para encontrar extensiones de alto riesgo, desempaquetarlas y examinar fragmentos de código sospechosos.
A través de este proceso, encontraron lo siguiente:
A continuación se muestra un ejemplo de código encontrado en una extensión maliciosa del Marketplace de Visual Studio Code que abre una shell inversa al servidor del ciberdelincuente.
La falta de controles estrictos y mecanismos de revisión de código en el Marketplace de VSCode por parte de Microsoft permite a los actores de amenazas abusar del plataforma de manera desenfrenada, empeorando a medida que la plataforma se usa cada vez más.
“Como puede ver por los números, hay una plétora de extensiones que representan riesgos para las organizaciones en el Marketplace de Visual Studio Code”, advirtieron los investigadores.
“Las extensiones de VSCode son un vertical de ataque abusado y expuesto, con cero visibilidad, alto impacto y alto riesgo. Este problema representa una amenaza directa para las organizaciones y merece la atención de la comunidad de seguridad.”
Todas las extensiones maliciosas detectadas por los investigadores fueron reportadas responsablemente a Microsoft para su eliminación. Sin embargo, al momento de escribir esto, la gran mayoría sigue estando disponible para su descarga a través del Marketplace de VSCode.
Los investigadores planean publicar su herramienta 'ExtensionTotal' junto con detalles sobre sus capacidades operativas la próxima semana, liberándola como una herramienta gratuita para ayudar a los desarrolladores a escanear sus entornos en busca de posibles amenazas.
BleepingComputer ha contactado a Microsoft para preguntar si planean revisar la seguridad del Marketplace de Visual Studio y presentar medidas adicionales que dificulten la suplantación de identidad y la imitación, pero no hemos recibido una respuesta al momento de la publicación.