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.
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)
Logre conseguir una variaste escrita en Jscript.
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.
No hay comentarios. :
Publicar un comentario