Boletín de Seguridad UNAM-CERT-2021-001 Vulnerabilidad en productos SolarWinds

Fecha liberación: 
29/01/2021
Fuente: 
https://us-cert.cisa.gov/ncas/analysis-reports/ar21-027a

Descripción

Existen distintas piezas de malware que afectan al producto SolarWinds Orion, identificado como SUPERNOVA. Según un aviso de SolarWinds, SUPERNOVA no está integrado en la plataforma Orion como un ataque directo a la cadena de suministro; más bien, es colocado por un atacante en un sistema que aloja SolarWinds Orion y está diseñado para aparecer como parte de SolarWinds. 

SUPERNOVA es una puerta trasera webshell maliciosa y está integrada en una versión troyanizada del módulo de la aplicación web Solarwinds Orion llamado “App_Web_logoimagehandler.ashx.b6031896.dll.” SUPERNOVA permite a un operador remoto inyectar dinámicamente código fuente C# en un portal web proporcionado a través del paquete de software SolarWinds. El código inyectado se compila y ejecuta directamente en la memoria.

El archivo es una biblioteca DLL .NET de 32 bits que se ha identificado como un complemento SolarWinds modificado. La modificación incluye la función de exportación "DynamicRun" que está diseñada para aceptar y analizar los argumentos proporcionados. Se espera que los argumentos contengan parcialmente código escrito en C#, que la función compilará y ejecutará directamente en la memoria del sistema. El propósito de este malware es que el atacante identifique una vulnerabilidad que permita la capacidad de proporcionar dinámicamente una estructura de datos personalizada "HttpContext" a la función "ProcessRequest" de la aplicación web.

La función "ProcessRequest" toma la estructura de datos "HttpContext" como argumento. Analiza porciones de la subestructura de solicitud de la estructura de datos padre "HttpContext" utilizando las claves "codes", "clazz", "methods" y "args". Los datos analizados se colocan en sus respectivas variables "codes", "clazz", "methods" y "args". Estas cuatro variables se proporcionan como argumentos a la función DynamicRun.

La función "DynamicRun" está diseñada para aceptar código escrito en C# para luego compilarlo y ejecutarlo dinámicamente. La variable "codes" proporcionada a la función el código en C# real. La variable "clazz" proporciona el nombre de la clase que se utiliza al compilar el código fuente. La variable "methods" contendrá el nombre de la función que se llamará para la clase recién compilada. La variable "args" contendrá los argumentos proporcionados a la clase maliciosa ejecutada.

Después de analizar y ejecutar el código proporcionado, la función "ProcessRequest" continuará llamando a una función llamada "WebSettingsDAL.get_NewNOCSiteLogo",  la cual es una función de SolarWinds válida diseñada para representar el logotipo del producto en una aplicación web.

Sistemas afectados

Se ha detectado afectación en las siguientes versiones:

  • Orion Platform 2019.4 HF5, versión 2019.4.5200.9083
  • Orion Platform 2020.2 RC1, versión 2020.2.100.12219
  • Orion Platform 2020.2 RC2, versión 2020.2.5200.12394
  • Orion Platform 2020.2, versión 2020.2.5300.12432
  • Orion Platform 2020.2 HF1, versión 2020.2.5300.12432

Impacto

Esta vulnerabilidad permite a los atacantes comprometer la cadena de suministro incluyendo el movimiento lateral y robo de datos, así como abusar de aplicaciones con acceso privilegiado a entornos de Microsoft Office 365 y Azure.

Recomendaciones

Se recomienda que los usuarios y administradores considerar las siguientes medidas para mejorar la seguridad de los sistemas de su organización. Revisar cualquier cambio de configuración antes de la implementación para evitar impactos no deseados:

  • Mantener las firmas y los motores antivirus actualizados.
  • Mantener actualizados los parches del sistema operativo.
  • Desactivar los servicios para compartir archivos e impresoras. Si se requieren estos servicios, usar contraseñas seguras o autenticación en Active Directory.
  • Restringir la capacidad (permisos) de los usuarios para instalar y ejecutar aplicaciones de software no deseado. No agregar usuarios al grupo de administradores locales, a menos que sea necesario.
  • Aplicar una política de contraseñas fuerte y realizar cambios de contraseña de manera regular.
  • Tener cuidado al abrir archivos adjuntos de correo electrónico, incluso si se espera el archivo adjunto y el remitente parece ser conocido.
  • Habilitar un firewall personal en las estaciones de trabajo, configurado para rechazar solicitudes de conexión no solicitadas.
  • Desactivar los servicios innecesarios en las estaciones de trabajo y los servidores.
  • Escanear y eliminar archivos adjuntos de correo electrónico sospechosos; verificar que en el archivo adjunto escaneado la extensión coincida con el encabezado del archivo.
  • De ser posible, monitorear los hábitos de navegación web de los usuarios; restringir el acceso a sitios con contenido desfavorable.
  • Tener cuidado al utilizar medios extraíbles: unidades de memoria extraibles (USB), unidades externas, CD, etc.
  • Escanear todos los programas descargados de Internet antes de ejecutarlos.
  • Mantenerse al tanto de la situación de las amenazas más recientes e implementar listas de control de acceso (ACL) adecuadas.

La Coordinación de Seguridad de la Información/UNAM-CERT agradece el apoyo en la elaboración o traducción y revisión de este Documento a:

  • Angie Aguilar Domínguez (angie dot aguilar at cert dot unam dot mx)

 

UNAM-CERT

Equipo de Respuesta a Incidentes UNAM
Coordinación de Seguridad de la Información

incidentes at cert.unam.mx
phishing at cert.unam.mx
https://www.cert.org.mx
https://www.cert.unam.mx
Tel: 56 22 81 69