Varonis descubrió un virus crypto mining: nuestra investigación



Nuestra unidad de investigación de seguridad realizó recientemente un caso de una red de virus de cripto minería casi completamente en una de las empresas medianas. Análisis
Las muestras de malware recopiladas mostraron que se encontró una nueva modificación
tales virus, llamados Norman , usan varios métodos para ocultar su presencia. Además, se descubrió un shell web interactivo , que puede estar relacionado con los operadores de minería.

Resumen del estudio


  • Varonis detectó una infección a gran escala con criptomineros: casi todos los servidores y estaciones de trabajo de la compañía estaban infectados con dicho software
  • Desde la infección inicial que ocurrió hace más de un año, el número de modificaciones y dispositivos infectados ha aumentado constantemente
  • El nuevo tipo de cripto minero Monero (Norman) que descubrimos utiliza varios métodos para ocultarlo del análisis por software de seguridad para evitar la detección
  • La mayoría de las variantes de malware utilizan DuckDNS (un servicio DNS dinámico gratuito) para conectarse al centro de control (servidores C&C), así como para obtener parámetros de configuración o enviar nuevos datos.
  • Norman - minero de criptomonedas Monero de código abierto de alto rendimiento basado en mineros - XMRig
  • No tenemos evidencia concluyente de la conexión de los criptomineros con un shell PHP interactivo. Sin embargo, hay buenas razones para creer que su fuente es el mismo atacante. Los investigadores recopilan evidencia adicional de la presencia o ausencia de dicha relación.
  • En este artículo, puede encontrar recomendaciones de Varonis con respecto a la protección contra shells web remotos y cripto mineros.

Investigación


La investigación comenzó durante el próximo proyecto piloto de la Plataforma.
La seguridad cibernética de Varonis (Varonis Data Security Platform), que le permitió identificar rápidamente varios eventos anómalos sospechosos a nivel de red durante las solicitudes de Internet (a través de proxies web) asociadas con acciones anormales en el sistema de archivos.
El Cliente indicó inmediatamente que los dispositivos identificados por nuestra Plataforma,
pertenecía a los mismos usuarios que recientemente informaron bloqueos de aplicaciones y ralentizaciones de la red.

Nuestro equipo examinó manualmente el entorno del cliente, pasando de una estación infectada a otra de acuerdo con las alertas generadas por la Plataforma Varonis. El equipo de respuesta a incidentes también desarrolló una regla especial en el módulo DatAlert para detectar computadoras que explotaban activamente, lo que ayudó a eliminar rápidamente la amenaza. Se enviaron muestras del malware recolectado a los equipos de departamentos forenses y de desarrollo, quienes dijeron que era necesario realizar una investigación adicional sobre las muestras.
Los sitios infectados se descubrieron mediante el uso de llamadas DuckDNS , DNS dinámico, que permite a sus usuarios crear sus propios nombres de dominio y asignarlos rápidamente a direcciones IP cambiantes. Como se mencionó anteriormente, la mayoría del malware en el incidente recurrió a DuckDNS para conectarse al centro de control (C&C), el otro para obtener parámetros de configuración o enviar nuevos datos.

Casi todos los servidores y computadoras estaban infectados con malware. Mayormente aplicado
Opciones comunes de minería criptográfica. Otro malware incluía herramientas de descarga de contraseñas, shells PHP y varias herramientas habían estado funcionando durante varios años.

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

Entre todas las muestras descubiertas de criptomineros, una se destacó. Lo llamamos Norman .

Conoceme Normando Criptominer


Norman es un minero de criptomonedas Monero de alto rendimiento basado en el código XMRig. A diferencia de otras muestras mineras encontradas, Norman utiliza métodos para ocultarlo del análisis con software de seguridad para evitar la detección y evitar una mayor distribución.

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

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

  • cumplimiento
  • implementación;
  • minería

Análisis paso a paso.


Etapa 1. Ejecución


El primer paso comienza con el archivo ejecutable svchost.exe.

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

Nota: Para obtener el archivo de secuencia de comandos NSIS del archivo ejecutable, debe usar 7zip versión 9.38, ya que esta función no se implementa en versiones posteriores.

El malware archivado por NSIS contiene los siguientes archivos:

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

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



El software malicioso 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, que se desprende del script NSIS anterior. Un análisis rápido de los metadatos mostró que la DLL se llamaba originalmente Norman.dll, por eso la llamamos así.

Archivo DLL desarrollado en .NET y protegido contra ingeniería inversa por triple ofuscación
utilizando el conocido producto comercial Agile .NET Obfuscator.

En el curso de la implementación, intervienen muchas operaciones para introducir la autointroducción en su propio proceso, así como en otros procesos. Dependiendo de la profundidad de bits del sistema operativo, el malware
elija diferentes rutas a las carpetas del sistema e inicie diferentes procesos.



Según la ruta a la carpeta del sistema, el malware seleccionará diferentes procesos para comenzar.



La carga útil desplegada tiene dos funciones principales: ejecutar un cripto minero y evitar la detección.

Si el sistema operativo es de 64 bits


Al ejecutar el archivo fuente svchosts.exe (archivo NSIS), crea un nuevo proceso propio e inyecta la carga útil en él (1). Poco después, lanza notepad.exe o explorer.exe e inyecta un cryptominer en él (2).



Después de eso, el archivo original svchost.exe se cierra y el nuevo archivo svchost.exe se usa como un programa que monitorea el funcionamiento del proceso minero.



Si el sistema operativo es de 32 bits


Durante la ejecución del archivo original svchosts.exe (archivo NSIS), duplica su propio proceso e inyecta una carga útil, como en la versión de 64 bits.

En este caso, el malware inyecta la carga útil en el proceso de usuario explorer.exe. Desde allí, el código malicioso inicia un nuevo proceso (wuapp.exe o vchost.exe) e inyecta el minero en él.



El software malicioso oculta el hecho de la implementación en explorer.exe, sobrescribiendo el código implementado previamente por medio de wuapp.exe y valores vacíos.



Como en el caso de la ejecución en un entorno de 64 bits, el proceso original svchost.exe se cierra y el segundo se usa para volver a inyectar código malicioso en explorer.exe si el proceso es finalizado por el usuario.

Al final del algoritmo de ejecución, el malware siempre inyecta el cryptominer en su proceso legítimo.

Está diseñado para evitar la detección al cerrar 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.



Después de cerrar el administrador de tareas, el malware inicia el proceso wuapp.exe una y otra vez
introduce un minero en él.

Etapa 3. Minero


Considere el minero XMRig mencionado anteriormente.

El software malicioso inyecta la versión UPX disfrazada del minero en el bloc de notas, 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 ha eliminado, y en la siguiente captura de pantalla podemos ver que está enmascarado con UPX.



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



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

Configuración minera:

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

Misterioso shell PHP que transfiere datos a C&C


En el curso de esta investigación, nuestros expertos forenses descubrieron un archivo XSL que les llamó la atención. Después de un análisis profundo de la muestra, se descubrió un nuevo shell PHP que está constantemente conectado al centro de control (servidor C&C).

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

La carpeta de malware se llamaba Autorrecuperación y contenía varios archivos:

  • Archivo XSL: xml.XSL
  • nueve archivos dll

Archivos ejecutables:
  • Msscorsv.exe
  • Wmiprvse.exe



Archivo XSL


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

Usando el Bloc de notas, descubrimos que en realidad no era un archivo XSL, sino el código PHP Zend Guard ofuscado. Este hecho curioso sugirió que esto
carga de malware basada en su algoritmo de ejecución.



Nueve DLL


Un análisis inicial del archivo XSL nos llevó a concluir que tener tantos
Las DLL tienen sentido. 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 del paquete de instalación de PHP o como dlls externos.

En esta etapa, se asumió que el malware estaba basado en PHP y ofuscado por Zend Guard.

Ejecutables


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

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

El archivo Wmiprvse.exe tampoco estaba firmado, pero contenía el símbolo de copyright del grupo PHP y el ícono PHP. Durante un escaneo superficial, se encontraron comandos de la ayuda de PHP en sus líneas. Al ejecutarlo con el modificador -version, se descubrió que este es un archivo ejecutable diseñado para ejecutar Zend Guard.



Cuando se lanzó mscorsv.exe de la misma manera, se mostraron los mismos datos. Comparamos los datos binarios de estos dos archivos y vimos que son idénticos, con la excepción de los metadatos.
Copyright y nombre de la empresa / nombre del producto.



En base a esto, se concluyó que el archivo XSL contiene código PHP que se ejecuta utilizando el ejecutable Zend Guard, oculto bajo el nombre mscorsv.exe.

Analizando un archivo XSL


Mediante la búsqueda en Internet, los expertos recibieron rápidamente una herramienta para desofuscar Zend Guard y restauraron el archivo xml.XSL original:



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

Los comandos y resultados que envía y recibe están encriptados. Desde que recibimos el código fuente, teníamos una clave de cifrado y comandos.

Este malware contiene la siguiente funcionalidad incorporada:

  • Eval: comúnmente utilizado para modificar las variables existentes en el código
  • Registro de archivo local
  • Características de la base de datos
  • Características de PSEXEC
  • Ejecución oculta
  • Mapeo de procesos y servicios

La siguiente variable sugiere que el malware tiene varias versiones.



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
varía de una versión a otra.

Los especialistas intentaron encontrar muestras similares en Internet y encontraron malware,
que, en su opinión, era la versión anterior de la muestra existente. El contenido de la carpeta era similar, pero el archivo XSL era diferente y se especificaba un número de versión diferente.

Parle Wu Malvare?


Quizás el lugar de nacimiento de este malware es Francia u otro país de habla francesa: el archivo SFX contenía comentarios en francés que indican que el autor utilizó la versión francesa de WinRAR para crearlo.



Además, algunas variables y funciones en el código también se nombraron en francés.





Monitorear la ejecución y esperar nuevos equipos.


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



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

No se han recibido nuevos equipos en este momento.

Shell PHP interactivo y crypto miner: ¿están relacionados?


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

¿Por qué pueden estar relacionados?


  • Ninguna de las muestras de software de minería criptográfica maliciosa tenía la capacidad de distribuirse de forma independiente a otros sistemas, aunque se encontraron en varios dispositivos en diferentes segmentos de red. Es posible que el atacante haya infectado cada nodo por separado (posiblemente usando el mismo vector de ataque que al infectar al "paciente cero"), aunque sería más eficiente usar un shell PHP para extenderse por la red que fue el objetivo del ataque.
  • Las campañas automatizadas dirigidas a gran escala dirigidas contra una organización específica a menudo dejan artefactos técnicos o rastros reconocibles de amenazas de ciberseguridad en su implementación. En este caso, no se encontró nada por el estilo.
  • Tanto Norman como el shell PHP utilizaron el servicio DuckDNS.

Por qué pueden no estar relacionados


  • No hay similitudes técnicas entre las opciones de malware de cripto minería y el shell PHP. El cryptominer malicioso se creó en C ++ y el shell en PHP. Además, no hay similitudes en la estructura del código, y las funciones de red se implementan de manera diferente.
  • No hay interacción directa entre las opciones de malware y el shell PHP para el intercambio de datos.
  • No tienen comentarios generales del desarrollador, archivos, metadatos o huellas digitales.

Tres recomendaciones para la protección contra conchas removidas


El software malicioso, que requiere comandos del centro de control (servidores C&C), no se parece a los virus comunes. Sus acciones no son tan predecibles y más bien se parecerán a las acciones de un hacker o un pentester realizado sin herramientas o scripts automatizados. Por lo tanto, detectar estos ataques sin firmas de malware es una tarea más compleja que los análisis antivirus convencionales.

A continuación se presentan tres recomendaciones para proteger a las empresas de los depósitos remotos:
  1. Mantenga todo el software actualizado
    Los atacantes a menudo explotan vulnerabilidades en software y sistemas operativos para propagarse por la red de la organización y buscar datos de interés para
    robo La instalación oportuna de parches reduce significativamente el riesgo de tales amenazas.
  2. Seguimiento de eventos anormales de acceso a datos
    Lo más probable es que los atacantes intenten mostrar los datos confidenciales de la organización en todo el perímetro. El monitoreo de eventos anormales de acceso a estos datos permitirá
    detectar usuarios comprometidos y todo el conjunto de carpetas y archivos que realmente podrían caer en manos de los atacantes, y no solo considerar todos los datos disponibles para estos usuarios como tales.
  3. Rastrea el tráfico de red
    Gracias al uso de un servidor de seguridad y / o servidor proxy, es posible detectar y bloquear conexiones maliciosas a los centros de control de malware (servidores C&C), lo que evitará que los atacantes ejecuten comandos y complicará la tarea de salida
    datos perimetrales.

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

  1. Mantenga todos los sistemas operativos actualizados.
    La administración de parches es muy importante para evitar el mal uso de los recursos y la infección de malware.
  2. Monitoree el tráfico de red y los proxies web
    Haga esto para detectar algunos ataques y para evitar parte de ellos, puede bloquear el tráfico en función de la información sobre dominios maliciosos o limitar los canales de transmisión de datos innecesarios.
  3. Use y mantenga soluciones antivirus y sistemas de seguridad de punto final (pero en ningún caso limítese a usar solo esta capa de protección).
    Los productos en los dispositivos finales permiten la detección de criptomineros conocidos y la prevención de infecciones antes de que el rendimiento de los sistemas y el uso de electricidad se vean comprometidos. Debe tenerse en cuenta que las nuevas modificaciones o los nuevos métodos para evitar la detección pueden hacer que las funciones de seguridad en los dispositivos finales no detecten nuevas versiones del mismo malware.
  4. Monitorear la actividad de la CPU de la computadora
    Como regla, los mineros criptográficos usan el procesador central de la computadora para la minería. Es necesario analizar cualquier mensaje sobre la degradación del rendimiento ("Mi computadora comenzó a ralentizarse").
  5. Supervise el DNS para el uso inusual de los servicios de DNS dinámico (como DuckDNS) \

    A pesar de que DuckDNS y otros servicios de DNS dinámico en sí mismos no son dañinos para el sistema, el uso de malware DuckDNS simplificó la detección de nodos infectados para los equipos de especialistas involucrados en la investigación.
  6. Desarrollar un plan de respuesta a incidentes.
    Asegúrese de tener los procedimientos necesarios descritos para tales incidentes que detectan, limitan y eliminan automáticamente la amenaza de la minería de criptografía gris.

Nota para los clientes de Varonis.
Varonis DatAlert incluye modelos de amenazas que detectan malware para la minería de cifrado. Los clientes también pueden crear sus propias reglas para el descubrimiento dirigido de software basado en dominios que son candidatos para la lista negra. Para asegurarse de que está utilizando la última versión de DatAlert y está aplicando los modelos de amenaza apropiados, comuníquese con su representante de ventas o con el Soporte de Varonis.

Source: https://habr.com/ru/post/466817/


All Articles