Varonis descubriu un virus de criptominería: a nosa investigación

Varonis descubriu un virus de criptominería: a nosa investigación

O noso equipo de investigacións de ciberseguridade investigou recentemente unha rede que estaba case na súa totalidade infectada cun virus de criptominería nunha empresa de tamaño medio. Análise
mostras de malware recollidas mostraron que se atopou unha nova modificación
tales virus, chamados Normando, utilizando diversos métodos para ocultar a súa presenza. Ademais, foi descuberto shell web interactivo, que poden ser relevantes para os operadores mineiros.

Visión xeral do estudo

  • A empresa Varonis identificou unha infección a gran escala con criptomineiros: case todos os servidores e estacións de traballo da empresa estaban infectados con tal software.
  • Desde a infección inicial hai máis dun ano, o número de modificacións e dispositivos infectados aumentou constantemente
  • Descubrimos un novo tipo de criptomineiro Monero (Norman) que usa varios métodos para ocultalo da análise do software de seguridade para evitar a detección.
  • A maioría das variantes de malware usaban DuckDNS (un servizo de DNS dinámico gratuíto) para conectarse ao centro de control (servidores C&C) e para obter parámetros de configuración ou enviar novos datos.
  • Norman é un mineiro de criptomonedas Monero de alto rendemento baseado no mineiro de código aberto - XMRig
  • Aínda non temos probas irrefutables que vinculen criptomineiros cun shell PHP interactivo. Non obstante, hai boas razóns para crer que veñen do mesmo atacante. Os investigadores están a recoller probas adicionais da presenza ou ausencia de tal conexión.
  • Neste artigo podes familiarizarte coas recomendacións de Varonis sobre protección contra shells web remotos e criptominadores

Investigación

A investigación comezou durante o próximo proxecto piloto Plataformas
Ciberseguridade Varonis
(Varonis Data Security Platform), que permitiu identificar rapidamente varios eventos anómalos sospeitosos a nivel de rede durante as solicitudes de Internet (a través dun proxy web), asociados a accións anómalas no sistema de ficheiros.
O cliente sinalou inmediatamente que os dispositivos identificados pola nosa Plataforma
pertencían aos mesmos usuarios que informaron recentemente fallos das aplicacións e ralentizacións da rede.

O noso equipo examinou manualmente a contorna do cliente, pasando dunha estación infectada a outra de acordo coas alertas xeradas pola Plataforma Varonis. O equipo de resposta a incidentes desenvolveu unha norma especial en Módulo DataAlert para detectar ordenadores que estaban activamente minando, o que axudou a eliminar rapidamente a ameaza. As mostras do malware recollido foron enviadas aos equipos forenses e de desenvolvemento, quen aconsellaron que era necesario un exame máis detallado das mostras.
Os nodos infectados foron descubertos debido ás chamadas que fixeron PatoDNS, un servizo de DNS dinámico que permite aos seus usuarios crear os seus propios nomes de dominio e asignalos rapidamente a enderezos IP cambiantes. Como se indicou anteriormente, a maior parte do malware do incidente accedeu a DuckDNS para conectarse ao centro de control (C&C), mentres que outros accederon aos parámetros de configuración ou enviaron novos datos.

Case todos os servidores e ordenadores estaban infectados con malware. Usado principalmente
variantes comúns de criptominadores. Outros programas maliciosos incluían ferramentas de volcado de contrasinais e shells PHP, mentres que varias ferramentas levaban funcionando durante varios anos.

Proporcionamos os resultados ao cliente, eliminamos o software malicioso do seu entorno e detivemos máis infeccións.

Entre todas as mostras descubertas de criptomineiros, destacou unha. Puxémolo nome Normando.

Coñece! Normando. Cryptominer

Norman é un mineiro de criptomonedas Monero de alto rendemento baseado no código XMRig. A diferenza doutras mostras de mineiros atopadas, Norman usa técnicas para ocultalo da análise por software de seguridade para evitar a detección e evitar unha maior propagación.

A primeira vista, este malware é un mineiro habitual que se esconde baixo o nome svchost.exe. Non obstante, o estudo descubriu que utiliza métodos máis interesantes para ocultarse da detección e manter as cousas funcionando.

O proceso de implantación deste malware pódese dividir en tres etapas:

  • rendemento;
  • implementación;
  • minería.

Análise paso a paso

Fase 1. Execución

A primeira etapa comeza co ficheiro executable svchost.exe.

O malware compílase mediante NSIS (Nullsoft Scriptable Install System), o que é inusual. NSIS é un sistema de código aberto usado para crear instaladores de Windows. Do mesmo xeito que SFX, este sistema crea un arquivo de ficheiros e un ficheiro de script que se executa mentres se executa o instalador. O ficheiro de script indica ao programa que ficheiros debe executar e pode interactuar con outros ficheiros do arquivo.

Nota: Para obter un ficheiro de script NSIS a partir dun ficheiro executable, debes usar 7zip versión 9.38, xa que as versións posteriores non implementan esta función.

O malware arquivado do NSIS contén os seguintes ficheiros:

  • CallAnsiPlugin.dll, CLR.dll - Módulos NSIS para chamar funcións .NET DLL;
  • 5zmjbxUIOVQ58qPR.dll - DLL de carga útil principal;
  • 4jy4sobf.acz, es1qdxg2.5pk, OIM1iVhZ.txt - ficheiros de carga útil;
  • Retreat.mp3, Cropped_controller_config_controller_i_lb.png son só ficheiros que de ningún xeito están relacionados con máis actividade maliciosa.

O comando do ficheiro de script NSIS que executa a carga útil indícase a continuación.

Varonis descubriu un virus de criptominería: a nosa investigación

O malware execútase chamando á función 5zmjbxUIOVQ58qPR.dll, que toma outros ficheiros como parámetros.

Fase 2. Implantación

O ficheiro 5zmjbxUIOVQ58qPR.dll é a principal carga útil, como se pode ver no script NSIS anterior. Unha análise rápida dos metadatos revelou que a DLL chamábase orixinalmente Norman.dll, polo que o chamamos así.

O ficheiro DLL desenvólvese en .NET e está protexido contra a enxeñaría inversa mediante triple ofuscación
utilizando o coñecido produto comercial Agile .NET Obfuscator.

Durante a execución, moitas operacións de autoinxección están implicadas no seu propio proceso, así como noutros procesos. Dependendo da profundidade de bits do sistema operativo, o malware
selecciona diferentes camiños aos cartafoles do sistema e inicia procesos diferentes.

Varonis descubriu un virus de criptominería: a nosa investigación

En función da ruta do cartafol do sistema, o malware escollerá diferentes procesos para executar.

Varonis descubriu un virus de criptominería: a nosa investigación

A carga útil inxectada ten dúas funcións principais: executar un criptomineiro e previr a detección.

Se o sistema operativo é de 64 bits

Cando se executa o ficheiro svchosts.exe orixinal (ficheiro NSIS), crea un novo proceso propio e inxecta a carga útil (1) nel. Pouco despois, lanza notepad.exe ou explorer.exe e inxecta nel o cryptominer (2).

Varonis descubriu un virus de criptominería: a nosa investigación

Despois disto, o ficheiro svchost.exe orixinal sae e o novo ficheiro svchost.exe utilízase como programa que supervisa o proceso do mineiro.

Varonis descubriu un virus de criptominería: a nosa investigación

Se o sistema operativo é de 32 bits

Cando se executa o ficheiro svchosts.exe orixinal (o ficheiro NSIS), duplica o seu propio proceso e inxecta a carga útil, igual que a versión de 64 bits.

Neste caso, o malware inxecta unha carga útil no proceso explorer.exe do usuario. A partir de aí, o código malicioso inicia un novo proceso (wuapp.exe ou vchost.exe) e inxecta un mineiro nel.

Varonis descubriu un virus de criptominería: a nosa investigación

O malware oculta o feito de que se inxectou en explorer.exe sobreescribindo o código previamente inxectado co camiño a wuapp.exe e valores baleiros.

Varonis descubriu un virus de criptominería: a nosa investigación

Como ocorre cando se executa nun ambiente de 64 bits, o proceso orixinal svchost.exe sae e o segundo utilízase para volver inxectar código malicioso en explorer.exe se o usuario finaliza o proceso.

Ao final do algoritmo de execución, o malware sempre inxecta un criptomineiro no proceso lexítimo que inicia.

Está deseñado para evitar a detección finalizando o mineiro cando o usuario inicia o Xestor de tarefas.

Teña en conta que despois de iniciar o Xestor de tarefas, o proceso wuapp.exe finaliza.

Varonis descubriu un virus de criptominería: a nosa investigación

Despois de pechar o xestor de tarefas, o malware inicia o proceso wuapp.exe unha e outra vez
o mineiro inxéctao nela.

Etapa 3. Mineiro

Considere o mineiro XMRig mencionado anteriormente.

O malware inxecta unha versión UPX disfrazada do mineiro no bloc de notas, exe, explorer.exe,
svchost.exe ou wuapp.exe, dependendo da profundidade de bits do SO e da fase do algoritmo de execución.

Eliminouse a cabeceira PE no mineiro e na captura de pantalla que aparece a continuación podemos ver que está enmascarada con UPX.

Varonis descubriu un virus de criptominería: a nosa investigación

Despois de crear un volcado e reconstruír o executable, puidemos executalo:

Varonis descubriu un virus de criptominería: a nosa investigación

Nótese que se nega o acceso ao sitio XMR de destino, o que neutraliza de forma efectiva a este mineiro.

Configuración mineira:

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

Mysterious shell PHP pasando datos a C&C

Durante esta investigación, o noso equipo forense descubriu un ficheiro XSL que lles chamou a atención. Despois dunha análise en profundidade da mostra, descubriuse un novo shell PHP que se conecta constantemente ao centro de control (servidor C&C).

Atopouse un ficheiro XSL en varios servidores do contorno do cliente que foi lanzado por un executable de Windows coñecido (mscorsv.exe) desde un cartafol do directorio sysWOW64.

O cartafol de malware chamábase AutoRecover e estaba contido varios ficheiros:

  • Ficheiro XSL: xml.XSL
  • nove ficheiros DLL

Ficheiros executables:

  • Mscorsv.exe
  • Wmiprvse.exe

Varonis descubriu un virus de criptominería: a nosa investigación

Ficheiro XSL

Os ficheiros XSL son follas de estilo, semellantes ás usadas en CSS, que describen como mostrar un documento XML.

Usando o Bloc de notas, determinamos que non se trataba, de feito, dun ficheiro XSL, senón de código PHP ofuscado por Zend Guard. Este feito curioso suxeriu que si
carga útil de malware baseado no seu algoritmo de execución.

Varonis descubriu un virus de criptominería: a nosa investigación

Nove DLL

A análise inicial do ficheiro XSL levou á conclusión de que a presenza dese número
As DLL teñen un certo significado. O cartafol principal contén unha DLL chamada php.dll e outras tres bibliotecas relacionadas con SSL e MySQL. Nos subcartafoles, os expertos atoparon catro bibliotecas PHP e unha biblioteca Zend Guard. Todos eles son lexítimos e obtéñense do paquete de instalación de PHP ou como DLL externos.

Nesta fase, asumiuse que o malware foi creado baseado en PHP e ofuscado por Zend Guard.

Arquivos executables

Tamén neste cartafol había dous ficheiros executables: Mscorsv.exe e Wmiprvse.exe.

Despois de analizar o ficheiro mscorsv.exe, determinamos que non estaba asinado por Microsoft, aínda que o seu parámetro ProductName estaba definido en "Microsoft. Net Framework".
Ao principio só parecía raro, pero analizar Wmiprvse.exe permitiunos comprender mellor a situación.

O ficheiro Wmiprvse.exe tampouco estaba asinado, pero contiña un símbolo de copyright do grupo PHP e unha icona PHP. Unha ollada rápida ás súas liñas revelou comandos da axuda de PHP. Cando se executou co cambio -version, descubriuse que era un ficheiro executable deseñado para executar Zend Guard.

Varonis descubriu un virus de criptominería: a nosa investigación

Cando se iniciou mscorsv.exe dun xeito similar, mostráronse os mesmos datos na pantalla. Comparamos os datos binarios destes dous ficheiros e vimos que son idénticos, excepto os metadatos
Dereitos de autor e nome da empresa/nome do produto.

Varonis descubriu un virus de criptominería: a nosa investigación

En base a isto, concluíuse que o ficheiro XSL contiña código PHP que se executaba mediante o ficheiro executable Zend Guard, oculto baixo o nome mscorsv.exe.

Analizando o ficheiro XSL

Usando unha busca en Internet, os especialistas obtiveron rapidamente a ferramenta de desofuscación Zend Guard e restauraron a aparencia orixinal do ficheiro xml.XSL:

Varonis descubriu un virus de criptominería: a nosa investigación

Resultou que o propio malware é un shell PHP que está constantemente conectado ao centro de control (servidor C&C).

Os comandos e saídas que envía e recibe están cifrados. Como tiñamos o código fonte, tiñamos tanto a clave de cifrado como os comandos.

Este malware contén a seguinte funcionalidade integrada:

  • Eval: úsase normalmente para modificar variables existentes no código
  • Gravación de ficheiros locais
  • Posibilidades de traballar coa base de datos
  • Posibilidades de traballar con PSEXEC
  • Execución oculta
  • Cartografía de Procesos e Servizos

A seguinte variable suxire que o malware ten varias versións.

Varonis descubriu un virus de criptominería: a nosa investigación

Ao recoller mostras, descubríronse as seguintes versións:

  • 0.5f
  • 0.4p
  • 0.4o

A única función de garantir a presenza constante de malware no sistema é que cando se executa, crea un servizo que se executa por si mesmo e o seu nome
cambios de versión en versión.

Os expertos intentaron atopar mostras similares en Internet e descubriron malware
que, na súa opinión, era unha versión anterior da mostra existente. O contido do cartafol era semellante, pero o ficheiro XSL era diferente e tiña un número de versión diferente.

Malware Parle-Vu?

O malware puido orixinarse en Francia ou noutro país de fala francesa: o ficheiro SFX tiña comentarios en francés, que indicaban que o autor utilizaba unha versión francesa de WinRAR para crealo.

Varonis descubriu un virus de criptominería: a nosa investigación

Ademais, algunhas variables e funcións do código tamén foron nomeadas en francés.

Varonis descubriu un virus de criptominería: a nosa investigación

Varonis descubriu un virus de criptominería: a nosa investigación

Seguimento da execución e espera de novos comandos

Os expertos modificaron o código de malware e lanzaron con seguridade o xa modificado
versión para recoller información sobre os comandos que recibiu.

Varonis descubriu un virus de criptominería: a nosa investigación

Ao final da primeira sesión de comunicación, os expertos viron que o malware recibiu un comando codificado usando Base64 como argumento para a clave de inicio de EVAL64.
Este comando é decodificado e executado. Cambia varias variables internas (tamaños de búfer de lectura e escritura), despois do cal o malware entra nun ciclo de traballo á espera de ordes.

Polo momento, non se recibiron novas ordes.

Shell PHP interactivo e cryptominer: están relacionados?

Os especialistas de Varonis non están seguros de se Norman está asociado cun shell PHP, xa que hai argumentos sólidos tanto a favor como en contra desta suposición:

Por que poden estar relacionados?

  • Ningunha das mostras de software de criptominería malicioso tiña a capacidade de estenderse de forma independente a outros sistemas, aínda que se atoparon en varios dispositivos en varios segmentos de rede. É posible que o atacante infectase cada nodo por separado (quizais empregando o mesmo vector de ataque que ao infectar a Paciente Cero), aínda que sería máis efectivo utilizar un shell PHP para espallarse pola rede que foi o obxectivo do ataque.
  • As campañas automatizadas dirixidas a gran escala e dirixidas a unha organización específica adoitan deixar atrás artefactos técnicos ou rastros recoñecibles de ameazas de ciberseguridade. Neste caso, non se atopou nada parecido.
  • Tanto Norman como o shell PHP utilizaron o servizo DuckDNS.

Por que non poden estar relacionados?

  • Non hai semellanzas técnicas entre as variantes de malware criptográfico e o shell de PHP. O criptomineiro malicioso créase en C++ e o shell está en PHP. Ademais, non hai semellanzas na estrutura do código e as funcións de rede impléntanse de forma diferente.
  • Non hai comunicación directa entre as variantes de malware e o shell de PHP para intercambiar datos.
  • Non comparten comentarios, ficheiros, metadatos nin pegadas dixitais dos desenvolvedores.

Tres recomendacións para protexerse contra shells remotos

O malware, que require comandos do centro de control (servidores C&C) para funcionar, non é como os virus habituais. As súas accións non son tan previsibles e serán máis similares ás accións dun hacker ou pentester realizadas sen ferramentas ou scripts automatizados. Polo tanto, detectar estes ataques sen sinaturas de malware é máis difícil que a dixitalización de antivirus normal.

A continuación móstranse tres recomendacións para protexer as empresas de shells remotos:

  1. Mantén todo o software actualizado
    Os atacantes adoitan utilizar vulnerabilidades do software e dos sistemas operativos para espallarse pola rede dunha organización e buscar datos de interese co fin de
    roubo. O parche oportuno reduce significativamente o risco de tales ameazas.
  2. Supervisar eventos anómalos de acceso a datos
    O máis probable é que os atacantes intenten levar os datos confidenciais da organización máis aló do perímetro. Permitirá supervisar eventos de acceso anómalos a estes datos
    detectar usuarios comprometidos e todo o conxunto de cartafoles e ficheiros que realmente poderían caer en mans dos atacantes, e non só considerar como tal todos os datos dispoñibles para estes usuarios.
  3. Supervisar o tráfico da rede
    Usar un firewall e/ou un servidor proxy pode detectar e bloquear conexións maliciosas a centros de control de malware (servidores C&C), evitando que os atacantes executen comandos e dificultando
    datos perimetrais.

Preocupado polo tema da minería gris? Seis recomendacións de protección:

  1. Mantén todos os sistemas operativos actualizados
    A xestión de parches é moi importante para evitar o mal uso dos recursos e as infeccións de malware.
  2. Controla o tráfico de rede e os proxies web
    Fai isto para detectar algúns ataques e, para evitar algúns deles, podes bloquear o tráfico en función da información sobre dominios maliciosos ou limitar as canles de transmisión de datos innecesarias.
  3. Utilizar e manter solucións antivirus e sistemas de seguridade de puntos finais (Pero de ningún modo te limites a usar só esta capa de protección).
    Os produtos endpoint poden detectar criptomineiros coñecidos e previr infeccións antes de que causen danos no rendemento do sistema e no uso de enerxía. Ten en conta que as novas modificacións ou os novos métodos para evitar a detección poden provocar que a seguridade do punto final non detecte novas versións do mesmo malware.
  4. Supervisar a actividade da CPU do ordenador
    Normalmente, os criptomineiros usan o procesador central dunha computadora para a minería. É necesario analizar calquera mensaxe sobre unha diminución do rendemento ("O meu ordenador comezou a ralentizarse").
  5. Supervisa o DNS para o uso inusual dos servizos de DNS dinámico (como DuckDNS)

    Aínda que DuckDNS e outros servizos de DNS dinámico non son inherentemente prexudiciais para o sistema, o uso de DuckDNS por malware facilitou aos nosos equipos de investigación a detección de hosts infectados.

  6. Desenvolver un Plan de Resposta a Incidentes
    Asegúrate de ter establecidos os procedementos necesarios para que estes incidentes detecten, conteñan e mitiguen automaticamente a ameaza da minería criptográfica gris.

Nota para os clientes de Varonis.
Alerta de datos de Varonis inclúe modelos de ameazas que permiten detectar malware de minería criptográfica. Os clientes tamén poden crear regras personalizadas para dirixir a detección de software en función dos dominios que son candidatos á lista negra. Para asegurarse de que está a executar a versión máis recente de DatAlert e de utilizar os modelos de ameaza correctos, póñase en contacto co seu representante de vendas ou co servizo de asistencia técnica de Varonis.

Fonte: www.habr.com

Engadir un comentario