Al analizar los artefactos del ataque a la cadena de suministro de SolarWinds Orion, los investigadores descubrieron otra puerta trasera que probablemente provenga de un segundo actor de amenazas. Nombrado SUPERNOVA, el malware es una webshell plantada en el código de Orion y permite a los adversarios ejecutar código arbitrario en máquinas que ejecutan la versión troyanizada del software.
El componente troyanizado es una una biblioteca .NET legítima (app_web_logoimagehandler.ashx.b6031896.dll) presente en el software Orion de SolarWinds, modificado de una manera que le permitiría evadir los mecanismos de defensa automatizados.
Orion usa la DLL para exponer una API HTTP, lo que permite al host responder a otros subsistemas cuando solicita una imagen GIF específica. En un informe técnico de la semana pasada, Matt Tennis, investigador senior de Palo Alto Networks, dice que “el malware podría saltearse incluso en un análisis manual, ya que el código implementado en la DLL legítima es inocuo y es de calidad relativamente alta”
El análisis muestra que el actor de amenazas agregó en el archivo legítimo de SolarWinds cuatro nuevos parámetros para recibir señales de la infraestructura de comando y control (C2). El código malicioso contiene solo un método, DynamicRun, que compila compila on-the-fly los parámetros en un ensamblado .NET en la memoria, sin dejar artefactos en el disco de un dispositivo comprometido.
De esta forma, el atacante puede enviar código arbitrario al dispositivo infectado y ejecutarlo en el contexto del usuario, que la mayoría de las veces tiene altos privilegios y visibilidad en la red.
Por el momento, la muestra de malware está disponible en VirusTotal. No está claro cuánto tiempo ha estado SUPERNOVA en el software Orion, pero el sistema de análisis de malware deIntezer muestra una marca de tiempo de compilación del 24 de marzo de 2020.
Según los hallazgos de la investigación, SUPERNOVA lleva el sello de un grupo de hacking avanzado que llevó el compromiso a través de una webshell a un nuevo nivel. “Aunque los webshells .NET son bastante comunes, la mayoría de las muestras investigadas públicamente ingieren parámetros de comando y control (C2) y realizan una explotación relativamente a nivel de superficie”, dice Tennis.
El investigador agrega que tomar un programa .NET válido como parámetro y la ejecución de código en memoria hace que SUPERNOVA sea un hallazgo raro, ya que elimina la necesidad de devoluciones de llamada de red adicionales además de la solicitud C2 inicial.
La mayoría de los webshells ejecutan sus payloads en el contexto del entorno de ejecución o llamando a una subshell o proceso como CMD, PowerShell o Bash. Microsoft cree que SUPERNOVA es probablemente el trabajo de un adversario diferente al que violó la empresa de ciberseguridad FireEye y más de media docena de entidades del gobierno de EE.UU.
En un interesante giro de los acontecimientos, la investigación de todo el compromiso de SolarWinds condujo al descubrimiento de un malware adicional que también afecta al producto SolarWinds Orion, pero se ha determinado que probablemente no esté relacionado con este compromiso y que sea utilizado por un actor de amenazas diferente. Un argumento para esta teoría es que SUPERNOVA no tiene una firma digital, a diferencia del malware SunBurst / Solarigate descubierto inicialmente que troyanó la biblioteca SolarWinds.Orion.Core.BusinessLayer.Dll.
Las empresas de seguridad no han hecho ninguna atribución por ninguno de los dos tipos de malware, salvo por decir que ambos son obra de un grupo APT.