Nuevo malware capaz de infectar dispositivos Windows y Linux; 70 antivirus diferentes en VirusTotal no pudieron detectarlo

El Subsistema de Windows para Linux (WSL) es una función complementaria lanzada por Microsoft en 2016 para ejecutar una imagen de Linux en un entorno casi nativo en Windows, permitiendo a los administradores usar herramientas de línea de comandos de Linux sin usar una máquina virtual. Esta fue una implementación novedosa, aunque de inmediato comenzaron a surgir las dudas sobre la seguridad en este desarrollo.

Si bien la comunidad de la ciberseguridad solamente había teorizado algunos posibles problemas, no fue sino hasta que los expertos de Black Lotus Labs publicaron su más reciente investigación que se confirmó la existencia real de severos riesgos de seguridad en WSL. En su reporte, los expertos mencionan haber encontrado una serie de archivos ELF inusuales, compilados para Debian Linux y escritos en Python 3 que se convierten en un ejecutable ELF con PyInstaller.

Según el reporte, el código Python actúa como un cargador al utilizar varias API de Windows, permitiendo la recuperación de un archivo remoto y luego la inyección en un proceso en ejecución. Esta técnica permitiría a los actores de amenazas entrometerse en el sistema afectado evadiendo la detección. Por si no fuera suficiente, el análisis en VirusTotal confirma la dificultad de detección, ya que los agentes de endpoint para sistemas Windows no pueden detectar archivos ELF.

Los investigadores detectaron dos escenarios posibles para el uso de cargadores de archivos ELF maliciosos: la primera fue escrita solo en Python, mientras que la segunda variante usa Python principalmente para llamar a varias API de Windows usando ctypes e invocar un script de PowerShell. Los expertos creen que la variante de PowerShell aún está en desarrollo, aunque este es un enfoque viable pues permite la creación de una prueba de concepto (PoC) que llamó a la API de Windows desde el subsistema WSL.

Variante escrita en Python

Esta parece ser la primera iteración del archivo cargador ELF. Una característica notable es que este cargador utiliza bibliotecas estándar de Python, por lo que es compatible para ejecutarse tanto en máquinas Linux como Windows. Los expertos ejecutaron una muestra de prueba en la que el script muestra los caracteres rusos “Пивет Саня“. Todos los archivos asociados contenían direcciones IP privadas o no enrutables, excepto por una.

Esa muestra contenía una dirección IP pública (185.63.90.137) y un archivo cargador escrito en Python y convertido en un ejecutable a través de PyInstaller. Este archivo intenta asignar memoria desde las máquinas para posteriormente crear un nuevo proceso e inyectar un recurso que estaba almacenado en un servidor remoto en hxxp://185.63.90.137:1338/stagers/l5l.py. El archivo ya estaba desconectado, lo que indica que los actores de amenazas dejaron esta dirección en una prueba o ataque anterior.

Variante de WSL con PowerShell

Según los expertos, en algunas muestras se usaba PowerShell para inyectar y ejecutar el código de shell, mientras que en otros se utilizó Python ctypes para resolver las API de Windows. En una muestra de PowerShell, Python compilado llamó a tres funciones: kill_av(), reverseshell() y windowspersistance().

La función kill_av() elimina los productos antivirus sospechosos y otras herramientas de análisis utilizando os.popen(). La función reverseshell() inicia un subproceso para ejecutar un script de PowerShell codificado en Base64 cada 20 segundos dentro de un bucle infinito while verdadero, bloqueando la ejecución de cualquier otra función; finalmente, windowspersistence() copia el archivo ELF original en la carpeta appdata con el nombre payload.exe y utiliza un subproceso para agregar una clave de ejecución del registro para la persistencia.

Como puede ver, los actores de amenazas siempre están tratando de aprovechar las nuevas superficies de ataque, por lo que los investigadores de Black Lotus recomiendan a los usuarios con WSL habilitado que se aseguren de registrar correctamente sus recursos para detectar este tipo de amenazas.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).