martes, 7 de julio de 2015

Analisis del Malware que Oculta Archivos (Parte 2)

Esta es la segunda parte de usa seria de artículos donde explico el funcionamiento de un malware muy difundo , te recomiendo que leas la primera parte 


Analisis del Codigo de Moa

En el articulo anterior escribí una breve explicacion sobre el funcionamiento del malware MOA , pero si se desea eliminar este mostrito de nuestro dispositivo usb , ordenador y de nuestras vidas es necesario conocer como funciona realmente , y escavar en lo mas profundo de su asqueroso codigo.

Comenzare explicando de donde vienen los programas , pues deben de saber que todo malware es un programa y para ser mas especifico es un programa cargado de pura maldad.

Cuando se quiere desarrollar un programa de computadora lo primero que se necesita es un IDE (Interfaz de Desarrollo Integrado) para un determinado lenguaje de programación , en el IDE se escribe el codigo fuente que debe seguir las reglas de sintaxis del lenguaje de programación  después se procede a compilar el programa  o en los casos en que el lenguaje es interpretado se procede a guardar el codigo fuente.

MOA esta programado en VBScript2 (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Scripting Host de Microsoft.(lo que quiere decir que MOA puede funcionar en cualquier sistema operativo de Windows).
También existen variantes con extencion JS , que son Archivos de Secuencias de Comandos JScript
(Aunque en Windows se también se ejecutan en  Windows Scripting Host de Microsof)




Despues de haberlos aburrido un poco con mis explicaciones procedemos a la accion , lo primero obviamente fue conseguir una muestra del pequeño mostrito.
Logre conseguir una variaste escrita en Jscript.




Obviamente necesitaba un IDE , para poder analizar este archivo y a si que me decide a usar el debugger de Google Chrome.

El código que vi no me sorprendió es una estructura típica en el mundo del malware.
Como pueden apreciar se definen 6 variables que forman la palabra ZNOEIM , pero el significado de esta palabra de la cual sospecho no esta formada en forma aleatoria no es el objetivo de esta entrada.

Pero vamos al punto la situación es la siguiente la primera variable parece ser el código encriptado(llego a esta obvia conclusion por que la variable z es de gran tamaño y ademas esta ofuscada) del malware y las variables que le siguen forman parte del algoritmo que se encarga de desencriptarlo y la ultima instruccion osea M(z[0](/mq7mQn/g/, I)) , es la que ejecuta el codigo desencriptado , de forma resumida la estructura de este malware es la siguiente

Codigo  Encriptado > Algoritmo de Desencriptacion > Ejecucion de Codigo Desencriptado

El siguiente paso es obtener el Codigo Desencriptado , para poder analizar las acciones que se ejecutan como  no tengo la menor intención de ejecutarlo en mi ordenador como haría en un análisis dinámico , lo mas fácil es alterar la ultima función para que en vez de que ejecute el  Codigo Desencriptado , simplemente lo muestre.

Pero eso es que les mostrare en el siguiente articulo , los invito a dejar sus comentarios , dudas o sugerencias.