Varonis descubrió un virus de criptominería: nuestra investigación

Varonis descubrió un virus de criptominería: nuestra investigación

Nuestro equipo de investigaciones de ciberseguridad investigó recientemente una red que estaba casi completamente infectada con un virus de criptominería en una empresa mediana. Análisis
Las muestras de malware recopiladas mostraron que se había encontrado una nueva modificación.
tales virus, llamados Normando, utilizando varios métodos para ocultar su presencia. Además, se descubrió caparazón web interactivo, que puede ser relevante para los operadores mineros.

Descripción general del estudio

  • La empresa Varonis ha identificado una infección a gran escala con criptomineros: casi todos los servidores y estaciones de trabajo de la empresa estaban infectados con dicho software.
  • Desde la infección inicial hace más de un año, el número de modificaciones y dispositivos infectados ha aumentado constantemente.
  • Descubrimos un nuevo tipo de criptominero Monero (Norman) que utiliza varios métodos para ocultarlo del análisis del software de seguridad para evitar su detección.
  • La mayoría de variantes de malware utilizaban DuckDNS (un servicio DNS dinámico gratuito) para conectarse al centro de control (servidores C&C) y obtener parámetros de configuración o enviar nuevos datos.
  • Norman es un minero de criptomonedas Monero de alto rendimiento basado en el minero de código abierto - XMRig
  • Todavía no tenemos pruebas irrefutables que vinculen a los criptomineros con un shell PHP interactivo. Sin embargo, hay buenas razones para creer que provienen del mismo atacante. Los investigadores están recopilando pruebas adicionales de la presencia o ausencia de dicha conexión.
  • En este artículo puede familiarizarse con las recomendaciones de Varonis con respecto a la protección contra web shells remotos y criptomineros.

Investigacion

La investigación comenzó durante el próximo proyecto piloto. Plataformas
ciberseguridad Varonis
(Varonis Data Security Platform), que permitió identificar rápidamente varios eventos anómalos sospechosos a nivel de red durante las solicitudes de Internet (a través de un proxy web), asociados con acciones anómalas en el sistema de archivos.
El cliente inmediatamente señaló que los dispositivos identificados por nuestra Plataforma
pertenecían a los mismos usuarios que recientemente informaron fallas en las aplicaciones y ralentizaciones de la red.

Nuestro equipo examinó manualmente el entorno del cliente, moviéndose de una estación infectada a otra de acuerdo con las alertas generadas por la Plataforma Varonis. El equipo de respuesta a incidentes ha desarrollado una regla especial en Módulo de alerta de datos para detectar computadoras que estaban minando activamente, lo que ayudó a eliminar rápidamente la amenaza. Se enviaron muestras del malware recopilado a los equipos forenses y de desarrollo, quienes advirtieron que era necesario un examen más detenido de las muestras.
Los nodos infectados fueron descubiertos debido a las llamadas que hicieron a patoDNS, un servicio de DNS dinámico que permite a sus usuarios crear sus propios nombres de dominio y asignarlos rápidamente a direcciones IP cambiantes. Como se señaló anteriormente, la mayor parte del malware en el incidente accedió a DuckDNS para conectarse al centro de control (C&C), mientras que otros accedieron a parámetros de configuración o enviaron nuevos datos.

Casi todos los servidores y computadoras fueron infectados con malware. Utilizado principalmente
Variantes comunes de criptomineros. Otro malware incluía herramientas de volcado de contraseñas y shells PHP, mientras que varias herramientas habían estado funcionando durante varios años.

Proporcionamos los resultados al cliente, eliminamos el malware de su entorno y detuvimos nuevas infecciones.

Entre todas las muestras descubiertas de criptomineros, una destacó. le pusimos nombre Normando.

¡Encontrarse! Normando. criptominero

Norman es un minero de criptomonedas Monero de alto rendimiento basado en código XMRig. A diferencia de otras muestras de mineros encontradas, Norman utiliza técnicas para ocultarlo del análisis del software de seguridad para evadir la detección y evitar una mayor propagación.

A primera vista, este malware es un minero normal que se esconde bajo el nombre svchost.exe. Sin embargo, el estudio encontró que utiliza métodos más interesantes para esconderse de la detección y mantener todo funcionando.

El proceso de implementación de este malware se puede dividir en tres etapas:

  • actuación;
  • implementación;
  • mantenimiento.

Análisis paso a paso

Etapa 1. Ejecución

La primera etapa comienza con el archivo ejecutable svchost.exe.

El malware se compila utilizando NSIS (Nullsoft Scriptable Install System), lo cual es inusual. NSIS es un sistema de código abierto que se utiliza para crear instaladores de Windows. Al igual que SFX, este sistema crea un archivo de archivos y un archivo de script que se ejecuta mientras se ejecuta el instalador. El archivo de secuencia de comandos le dice al programa qué archivos ejecutar y puede interactuar con otros archivos en el archivo.

Nota: Para obtener un archivo de secuencia de comandos NSIS a partir de un archivo ejecutable, debe utilizar 7zip versión 9.38, ya que las versiones posteriores no implementan esta función.

El malware archivado en NSIS contiene los siguientes archivos:

  • CallAnsiPlugin.dll, CLR.dll: módulos NSIS para llamar a funciones .NET DLL;
  • 5zmjbxUIOVQ58qPR.dll - DLL de carga útil principal;
  • 4jy4sobf.acz, es1qdxg2.5pk, OIM1iVhZ.txt: archivos de carga útil;
  • Retreat.mp3, Cropped_controller_config_controller_i_lb.png son sólo archivos que no están relacionados de ninguna manera con otras actividades maliciosas.

El comando del archivo de script NSIS que ejecuta la carga útil se proporciona a continuación.

Varonis descubrió un virus de criptominería: nuestra investigación

El malware se ejecuta llamando a la función 5zmjbxUIOVQ58qPR.dll, que toma otros archivos como parámetros.

Etapa 2. Implementación

El archivo 5zmjbxUIOVQ58qPR.dll es la carga principal, como se puede ver en el script NSIS anterior. Un análisis rápido de los metadatos reveló que la DLL se llamaba originalmente Norman.dll, por lo que la llamamos así.

El archivo DLL está desarrollado en .NET y está protegido de ingeniería inversa mediante triple ofuscación.
utilizando el conocido producto comercial Agile .NET Obfuscator.

Durante la ejecución, muchas operaciones de autoinyección están involucradas en su propio proceso, así como en otros procesos. Dependiendo de la profundidad de bits del sistema operativo, el malware
seleccione diferentes rutas a las carpetas del sistema e inicie diferentes procesos.

Varonis descubrió un virus de criptominería: nuestra investigación

Según la ruta de la carpeta del sistema, el malware elegirá diferentes procesos para ejecutar.

Varonis descubrió un virus de criptominería: nuestra investigación

La carga útil inyectada tiene dos funciones principales: ejecutar un criptominero y evitar la detección.

Si el sistema operativo es de 64 bits

Cuando se ejecuta el archivo svchosts.exe original (archivo NSIS), crea un nuevo proceso propio e inyecta la carga útil (1) en él. Poco después, inicia notepad.exe o explorer.exe y les inyecta el criptominero (2).

Varonis descubrió un virus de criptominería: nuestra investigación

Después de esto, el archivo svchost.exe original sale y el nuevo archivo svchost.exe se utiliza como programa que monitorea el proceso minero.

Varonis descubrió un virus de criptominería: nuestra investigación

Si el sistema operativo es de 32 bits

Cuando se ejecuta el archivo svchosts.exe original (el archivo NSIS), duplica su propio proceso y le inyecta la carga útil, al igual que la versión de 64 bits.

En este caso, el malware inyecta una carga útil en el proceso explorer.exe del usuario. A partir de ahí, el código malicioso inicia un nuevo proceso (wuapp.exe o vchost.exe) y le inyecta un minero.

Varonis descubrió un virus de criptominería: nuestra investigación

El malware oculta el hecho de que se ha inyectado en explorer.exe sobrescribiendo el código previamente inyectado con la ruta a wuapp.exe y valores vacíos.

Varonis descubrió un virus de criptominería: nuestra investigación

Como es el caso cuando se ejecuta en un entorno de 64 bits, el proceso svchost.exe original se cierra y el segundo se utiliza para reinyectar código malicioso en explorer.exe si el usuario finaliza el proceso.

Al final del algoritmo de ejecución, el malware siempre inyecta un criptominero en el proceso legítimo que inicia.

Está diseñado para evitar la detección al finalizar el minero cuando el usuario inicia el Administrador de tareas.

Tenga en cuenta que después de iniciar el Administrador de tareas, el proceso wuapp.exe finaliza.

Varonis descubrió un virus de criptominería: nuestra investigación

Después de cerrar el administrador de tareas, el malware inicia el proceso wuapp.exe una y otra vez
el minero lo inyecta.

Etapa 3. Minero

Considere el minero XMRig mencionado anteriormente.

El malware inyecta una versión UPX disfrazada del minero en notepad, exe, explorer.exe,
svchost.exe o wuapp.exe, según la profundidad de bits del sistema operativo y la etapa del algoritmo de ejecución.

El encabezado PE en el minero se eliminó y en la captura de pantalla siguiente podemos ver que está enmascarado con UPX.

Varonis descubrió un virus de criptominería: nuestra investigación

Después de crear un volcado y reconstruir el ejecutable, pudimos ejecutarlo:

Varonis descubrió un virus de criptominería: nuestra investigación

Cabe señalar que se deniega el acceso al sitio XMR objetivo, lo que efectivamente neutraliza a este minero.

Configuración del minero:

"url": "pool.minexmr.com:5555","user":
"49WvfokdnuK6ojQePe6x2M3UCD59v3BQiBszkuTGE7wmNJuyAvHM9ojedgxMwNx9tZA33P84EeMLte7t6qZhxNHqHyfq9xA","pass":"x"

Misterioso shell PHP que pasa datos a C&C

Durante esta investigación, nuestro equipo forense descubrió un archivo XSL que llamó su atención. Después de un análisis en profundidad de la muestra, se descubrió un nuevo shell PHP que se conecta constantemente al centro de control (servidor C&C).

Se encontró un archivo XSL en varios servidores en el entorno del cliente que fue iniciado por un ejecutable conocido de Windows (mscorsv.exe) desde una carpeta en el directorio sysWOW64.

La carpeta de malware se llamaba AutoRecover y contenía varios archivos:

  • Archivo XSL: xml.XSL
  • nueve archivos DLL

Archivos ejecutables:

  • mscorsv.exe
  • Wmiprvse.exe

Varonis descubrió un virus de criptominería: nuestra investigación

archivo XSL

Los archivos XSL son hojas de estilo, similares a las utilizadas en CSS, que describen cómo mostrar un documento XML.

Usando el Bloc de notas, determinamos que, de hecho, no se trataba de un archivo XSL, sino de un código PHP ofuscado por Zend Guard. Este curioso hecho sugería que era
carga útil de malware basada en su algoritmo de ejecución.

Varonis descubrió un virus de criptominería: nuestra investigación

Nueve DLL

El análisis inicial del archivo XSL llevó a la conclusión de que la presencia de tal número
Las DLL tienen un cierto significado. La carpeta principal contiene una DLL llamada php.dll y otras tres bibliotecas relacionadas con SSL y MySQL. En las subcarpetas, los expertos encontraron cuatro bibliotecas PHP y una biblioteca Zend Guard. Todos ellos son legítimos y se obtienen desde el paquete de instalación de PHP o como archivos DLL externos.

En esta etapa, se asumió que el malware fue creado en base a PHP y Zend Guard lo ofuscó.

Archivos ejecutables

También en esta carpeta había dos archivos ejecutables: Mscorsv.exe y Wmiprvse.exe.

Después de analizar el archivo mscorsv.exe, determinamos que no estaba firmado por Microsoft, aunque su parámetro ProductName estaba configurado en “Microsoft. NET Framework".
Al principio parecía extraño, pero el análisis de Wmiprvse.exe nos permitió comprender mejor la situación.

El archivo Wmiprvse.exe tampoco estaba firmado, pero contenía un símbolo de copyright de grupo PHP y un icono de PHP. Un vistazo rápido a sus líneas reveló comandos de la ayuda de PHP. Cuando se ejecutó con el modificador -version, se descubrió que era un archivo ejecutable diseñado para ejecutar Zend Guard.

Varonis descubrió un virus de criptominería: nuestra investigación

Cuando se inició mscorsv.exe de manera similar, se mostraron los mismos datos en la pantalla. Comparamos los datos binarios de estos dos archivos y vimos que son idénticos, excepto por los metadatos.
Copyright y nombre de la empresa/nombre del producto.

Varonis descubrió un virus de criptominería: nuestra investigación

Con base en esto, se concluyó que el archivo XSL contenía código PHP que se ejecutaba utilizando el archivo ejecutable Zend Guard, oculto bajo el nombre mscorsv.exe.

Analizando el archivo XSL

Mediante una búsqueda en Internet, los especialistas obtuvieron rápidamente la herramienta de desofuscación Zend Guard y restauraron la apariencia original del archivo xml.XSL:

Varonis descubrió un virus de criptominería: nuestra investigación

Resultó que el malware en sí es un shell PHP que está constantemente conectado al centro de control (servidor C&C).

Los comandos y los resultados que envía y recibe están cifrados. Como teníamos el código fuente, teníamos tanto la clave de cifrado como los comandos.

Este malware contiene la siguiente funcionalidad integrada:

  • Eval: normalmente se utiliza para modificar variables existentes en el código.
  • Grabación de archivos locales
  • Posibilidades de trabajar con la base de datos.
  • Posibilidades de trabajar con PSEXEC
  • Ejecución oculta
  • Mapeo de procesos y servicios

La siguiente variable sugiere que el malware tiene varias versiones.

Varonis descubrió un virus de criptominería: nuestra investigación

Al recolectar muestras, se descubrieron las siguientes versiones:

  • 0.5f
  • 0.4p
  • 0.4o

La única función de garantizar la presencia constante de malware en el sistema es que, cuando se ejecuta, crea un servicio que se ejecuta solo y su nombre.
cambia de una versión a otra.

Los expertos intentaron encontrar muestras similares en Internet y descubrieron malware
que, en su opinión, era una versión anterior de la muestra existente. El contenido de la carpeta era similar, pero el archivo XSL era diferente y tenía un número de versión diferente.

¿Malware Parle-Vu?

Es posible que el malware se haya originado en Francia o en otro país de habla francesa: el archivo SFX tenía comentarios en francés, lo que indica que el autor utilizó una versión francesa de WinRAR para crearlo.

Varonis descubrió un virus de criptominería: nuestra investigación

Además, algunas variables y funciones del código también fueron nombradas en francés.

Varonis descubrió un virus de criptominería: nuestra investigación

Varonis descubrió un virus de criptominería: nuestra investigación

Supervisión de la ejecución y espera de nuevos comandos.

Los expertos modificaron el código del malware y lanzaron de forma segura el ya modificado
versión para recopilar información sobre los comandos que recibió.

Varonis descubrió un virus de criptominería: nuestra investigación

Al final de la primera sesión de comunicación, los expertos vieron que el malware recibió un comando codificado en Base64 como argumento para la clave de inicio EVAL64.
Este comando se decodifica y ejecuta. Cambia varias variables internas (tamaños de búfer de lectura y escritura), después de lo cual el malware entra en un ciclo de trabajo en espera de comandos.

De momento no se han recibido nuevos comandos.

Shell PHP interactivo y criptominero: ¿están relacionados?

Los especialistas de Varonis no están seguros de si Norman está asociado con un shell PHP, ya que existen fuertes argumentos a favor y en contra de esta suposición:

¿Por qué podrían estar relacionados?

  • Ninguna de las muestras de software malicioso de criptominería tenía la capacidad de propagarse de forma independiente a otros sistemas, aunque se encontraron en varios dispositivos en varios segmentos de la red. Es posible que el atacante haya infectado cada nodo por separado (quizás usando el mismo vector de ataque que cuando infectó al Paciente Cero), aunque sería más efectivo usar un shell PHP para propagarse por la red que fue el objetivo del ataque.
  • Las campañas automatizadas a gran escala dirigidas contra una organización específica a menudo dejan artefactos técnicos o rastros reconocibles de amenazas a la ciberseguridad. En este caso no se encontró nada parecido.
  • Tanto Norman como el shell PHP utilizaron el servicio DuckDNS.

¿Por qué podrían no estar relacionados?

  • No existen similitudes técnicas entre las variantes del malware de criptominería y el shell PHP. El criptominero malicioso se crea en C++ y el shell está en PHP. Además, no hay similitudes en la estructura del código y las funciones de red se implementan de manera diferente.
  • No existe comunicación directa entre las variantes de malware y el shell PHP para intercambiar datos.
  • No comparten comentarios, archivos, metadatos ni huellas digitales de los desarrolladores.

Tres recomendaciones para protegerse contra proyectiles remotos

El malware, que requiere comandos del centro de control (servidores C&C) para funcionar, no es como los virus normales. Sus acciones no son tan predecibles y serán más similares a las acciones de un hacker o pentester realizadas sin herramientas o scripts automatizados. Por lo tanto, detectar estos ataques sin firmas de malware es más difícil que el análisis antivirus habitual.

A continuación se presentan tres recomendaciones para proteger a las empresas de shells remotos:

  1. Mantenga todo el software actualizado
    Los atacantes suelen utilizar vulnerabilidades en el software y los sistemas operativos para propagarse por la red de una organización y buscar datos de interés para
    robo. La aplicación oportuna de parches reduce significativamente el riesgo de este tipo de amenazas.
  2. Monitorear eventos anómalos de acceso a datos
    Lo más probable es que los atacantes intenten llevar los datos confidenciales de la organización más allá del perímetro. Monitorear eventos de acceso anómalo a estos datos permitirá
    detectar a los usuarios comprometidos y todo el conjunto de carpetas y archivos que realmente podrían caer en manos de atacantes, y no solo considerar como tales todos los datos de los que disponen estos usuarios.
  3. Monitorear el tráfico de la red
    El uso de un firewall y/o un servidor proxy puede detectar y bloquear conexiones maliciosas a centros de control de malware (servidores C&C), evitando que los atacantes ejecuten comandos y dificultando su ejecución.
    datos perimetrales.

¿Preocupado por el tema de la minería gris? Seis recomendaciones de protección:

  1. Mantenga todos los sistemas operativos actualizados
    La gestión de parches es muy importante para evitar el mal uso de los recursos y las infecciones de malware.
  2. Controle el tráfico de red y los servidores proxy web
    Haga esto para detectar algunos ataques y, para prevenir algunos de ellos, puede bloquear el tráfico basándose en información sobre dominios maliciosos o limitar los canales de transmisión de datos innecesarios.
  3. Usar y mantener soluciones antivirus y sistemas de seguridad de terminales. (Pero de ninguna manera te limites a usar solo esta capa de protección).
    Los productos para terminales pueden detectar criptomineros conocidos y prevenir infecciones antes de que causen daños al rendimiento del sistema y al uso de energía. Tenga en cuenta que las nuevas modificaciones o los nuevos métodos para evitar la detección pueden provocar que la seguridad de los endpoints no detecte nuevas versiones del mismo malware.
  4. Monitorear la actividad de la CPU de la computadora
    Normalmente, los criptomineros utilizan el procesador central de una computadora para minar. Es necesario analizar cualquier mensaje sobre una disminución en el rendimiento (“Mi computadora ha comenzado a ralentizarse”).
  5. Monitorear DNS para detectar uso inusual de servicios de DNS dinámico (como DuckDNS)

    Aunque DuckDNS y otros servicios de DNS dinámico no son inherentemente dañinos para el sistema, el uso de DuckDNS por parte del malware facilitó a nuestros equipos de investigación la detección de hosts infectados.

  6. Desarrollar un plan de respuesta a incidentes
    Asegúrese de contar con los procedimientos necesarios para que dichos incidentes detecten, contengan y mitiguen automáticamente la amenaza de la minería criptográfica gris.

Nota para los clientes de Varonis.
Alerta de datos de Varonis incluye modelos de amenazas que permiten la detección de malware de criptominería. Los clientes también pueden crear reglas personalizadas para apuntar a la detección de software en función de dominios que sean candidatos para incluirse en la lista negra. Para asegurarse de que está ejecutando la última versión de DatAlert y utilizando los modelos de amenazas correctos, comuníquese con su representante de ventas o con el soporte de Varonis.

Fuente: habr.com

Añadir un comentario