Analizando el malware MUGEN.VBS


En estos dias se ha infiltrado en mi centro de trabajo un pequeño pero eficaz script malware. Se trata de un script .vbs (visual basic script) que ha estado congestionando las redes y por consiguiente haciendo más lento el uso de los servicios (navegación, correo, etc). El script se protege a si mismo con una triple capa de cifrado para evadir su detección y de esta forma pasar desapercibido por la mayoría de AV’s. Sin embargo, una vez removidas estas protecciones y dejado al descubierto, la tarea se hace más sencilla

Técnica de propagación

El fichero se propaga a través de dispositivos extraíbles, y a diferencia de los malwares que utilizan el tan conocido y trillado fichero “autorun.inf” para esta tarea, nuestro pequeño germen lo hace mediante la técnica de los accesos directos. Su técnica de propagación se basa en copiarse a si mismo como “mugen.vbs” en la raíz de cada dispositivo removible, luego oculta cada carpeta y crea un acceso directo aparentemente hacia cada una, con su mismo nombre, pero en realidad el acceso directo es el siguiente:

C:\WINDOWS\system32\cmd.exe /c start mugen.vbs&start explorer NOMBRE_CARPETA&exit

El acceso directo lo que realmente hace es ejecutar primero la copia del malware que se encuentra en el dispositivo para luego dar la orden al explorador de Windows de abrir la carpeta en cuestión y a la que aparentemente solo apunta. Un método bastante eficaz, dado que de esta forma la mayoría de usuarios ni siquiera se da cuenta que se trata de un “shortcut” al que están haciendo doble clic y no a la verdadera carpeta, lo que por consiguiente contamina el ordenador, de esta forma, al ser ejecutado el script “mugen.vbs”, empieza la infección de la PC.

Mirando el parásito desde adentro

Como había dicho al principio de la entrada, el script se protege a si mismo con 3 capas de cifrado para hacer más difícil su detección, veamos a lo que me refiero. Si miramos el contenido del “mugen.vbs” esto es lo que veremos:

Captura

Una variable “NVBSENC” con mucho código ofuscado, pero si llegamos a las últimas líneas del fichero

Captura2

Son las instrucciones encargadas de quitar esta primera capa de cifrado sobre el fichero. Si las vemos un poco más ordenadas e identadas son algo como esto

: For i = 1 To Len(NVBSENC)  'Descifra el contenido de NVBSENC
    : PRGT = PRGT & Chr(Asc(Mid(NVBSENC, i, 1)) - 99)
: Next
: ExecuteGlobal(PRGT) 'Ejecuta el contenido descifrado

Muy bien, ya sabemos que la variable “NVBSENC” contiene el código malicioso cifrado del script y estas líneas se encargan de descifrarlo y ejecutarlo. Ahora hago una pequeña modificación aquí en “mugen.vbs” para ver si puedo obtener el código descifrado sin que se ejecute el código malicioso.

: For i = 1 To Len(NVBSENC)  'Descifra el contenido de NVBSENC
    : PRGT = PRGT & Chr(Asc(Mid(NVBSENC, i, 1)) - 99)
: Next
: Set fso = CreateObject("scripting.filesystemobject")
'Creamos el fichero deobfuscated.txt donde guardaremos
'el contenido descifrado de la variable NVBSENC
: Set fichero = fso.CreateTextFile("C:\decrypted.txt", True)
: fichero.write(PRGT)
: fichero.close

Al ejecutar “mugen.vbs” tengo en “C:\decrypted.txt” lo siguiente:

Captura3

Más código cifrado y con referencia a un tal “Safa7_22 Crypter” que probablemente sea el cifrador que utilizaron para envolver al bicho. Se declara otra variable “Safa7_22” que tendrá como contenido el resultado de la función “deCrypt” con todo el código cifrado como parámetro. Ahora si veo las últimas líneas del fichero aparecen cosas interesantes.

Captura4_compressed

 Aqui ejecutara el código descifrado del malware contenido en la variable “Safa7_22”. Más abajo se ve la función “deCrypt(data)” y el cifrado usado en esta segunda capa para descifrar es el Base64. Aquí voy a hacer otra modificación como la anterior para obtener otro fichero con el contenido descifrado de la variable “Safa7_22”, elimino la línea:

EXECUTE(Safa7_22)

Añado las siguientes:

Set fso = CreateObject("scripting.filesystemobject")
Set fichero = fso.CreateTextFile("C:\decrypted2.txt", True)
fichero.write(Safa7_22)
fichero.close

Lo ejecuto y tengo el fichero “C:\decrypted2.txt” con el siguiente contenido

Captura5

La tercera capa de cifrado, al final del fichero está el código descifrador

Captura6

Cambio el “EXECUTE(NJ)” por estas 4 lineas:

Set fso = CreateObject("scripting.filesystemobject")
Set fichero = fso.CreateTextFile("C:\decrypted3.txt", True)
fichero.write(NJ)
fichero.close

Ejecuto y finalmente obtengo el código completo del malware en “C:\decrypted3.txt” sin más cifrado, listo para analizar.

Captura7

 

Acciones maliciosas

Una vez ejecutado el script malicioso crea la clave de registro:

HKEY_LOCAL_MACHINE\software\installname

Donde “installname” es el nombre del script, allí creará un nuevo valor para controlar la infección a los dispositivos móviles y su propia ejecución. Luego se instala para el auto inicio con el sistema operativo en las claves:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run

Allí crea nuevos valores “installname” – «REG_SZ» con la ruta de instalación del malware. Se copia además en las carpetas %appdata% ó %temp%, en caso de no encontrar la primera, y en el menú inicio como segunda vía para su auto ejecución. Luego de haber garantizado su instalación en el sistema y su inicio automático, comenzara su técnica de propagación, la cual comentábamos al principio para de esta forma concluir el ciclo de infección del malware.

Una vez que ha concluido lo anteriormente expuesto y se encuentra residente en memoria (proceso activo), entra en una serie de acciones características de un troyano. A partir de ahora el malware se comunica con la web “hxxp://basss.no-ip.info:82/”, enviándole peticiones y recibiendo instrucciones de las acciones que debe realizar posteriormente, por lo que cada consulta a dicha web ira afectando en tiempo real sus acciones futuras. Esta es la razón principal de la congestión en la red causada por este malware, pues todas las PC infestadas estarán haciendo peticiones sin parar a esta URL logrando la saturación en los servicios.

Lo primero que hace es interactuar con “hxxp://basss.no-ip.info:82/is-ready” y enviarle en el encabezado del “user-agent” la siguiente información:

– Número de serie del disco duro
– Nombre de la PC
– Nombre de usuario actual
– Sistema operativo instalado
– Software antivirus instalado

Ahora según las respuestas que vaya obteniendo de la web realizará una de varias posibles acciones. Aquí está el listado de las tareas potenciales que puede realizar:

– «excecute«: Ejecuta un fichero pasado por parámetro

– «update«: Añade en un fichero de texto la cadena pasada por parámetro y ejecuta el script del malware desde su carpeta de instalación

– «uninstall«: Una función interesante, desactiva y elimina el virus por completo del sistema, restaura además las carpetas de los extraíbles a su estado inicial

– «send«: Descarga una nueva copia del malware desde hxxp://basss.no-ip.info:82/is-sending y lo ejecuta

– «site-send«: Descarga una nueva copia del malware desde una URL pasada por parámetro a la carpeta de instalación y lo ejecuta

– «recv«: Sube un fichero pasado por parámetro a hxxp://basss.no-ip.info:82/is-recving

– «enum-driver«: Envía a la web hxxp://basss.no-ip.info:82/is-enum-driver un listado de cada disco duro y el tipo de dispositivo que es

– «enum-faf«: Envía a la web hxxp://basss.no-ip.info:82/is-enum-faf un listado de cada una de las subcarpetas con sus atributos, de una ruta especificada

– «enum-process«: Envía a la web hxxp://basss.no-ip.info:82/is-enum-process un listado de todos los procesos activos con sus identificadores y rutas

– «cmd-shell«: Ejecuta en consola un comando pasado por parámetro y envía la salida a la web hxxp://basss.no-ip.info:82/is-cmd-shell

– «delete«: Elimina el fichero o carpeta pasado por parámetro

– «exit-process«: Cierra un proceso y los subprocesos asociados a él según el identificador pasado por parámetro

– «sleep«: Pausa el script la cantidad de milisegundos pasados por parámetro

Limpiando el Sistema

Como ya sabemos dónde se oculta el script y las acciones que lleva a cabo, podemos deshacernos de él completamente realizando las siguientes acciones.

– Cerrar el proceso “wscript.exe” desde el administrador de tareas

– Activar la vista de ficheros ocultos y ficheros protegidos del sistema

– Borrar los ficheros:

%appdata%mugen.vbs ó %temp%mugen.vbs

%homedrive%\Users\TU_USUARIO\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\mugen.vbs – Para Vista/7/8

%homedrive%\Documents and Settings\TU_USUARIO\Menú Inicio\Programas\Inicio\mugen.vbs – Para XP

– Eliminar las claves del registro:

HKEY_LOCAL_MACHINE\SOFTWARE\mugen
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Run\mugen
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run\mugen

– Eliminar de la raiz de cada unidad extraible el fichero “mugen.vbs”

– Eliminar cada acceso directo creado por el malware de las unidades extraíbles

– Restablecer los atributos de las carpetas de las unidades extraibles

Aquí les dejo un pequeño script basado en el código del malware para limpiarlo completamente del sistema y de los dispositivos extraíbles de forma automática. Solo hay que extraer los ficheros a una carpeta y ejecutar el que dice «ejecutar.bat»

Descarga: vacuna_mugen

Tambien les dejo una muestra del malware para el que desee mirarlo de cerca (password: malware)

Descarga: mugenvbs

19 Respuestas a “Analizando el malware MUGEN.VBS

  1. Hola, vi el post desde elhacker.net y me parece genial que pudieras poner el codigo completo para poderlo analizar a cabalidad, si no lo kieres publicar en la web por razones obvias, pues te agradeceria que me lo mandaras al correo danny920825@gmail.com para analizarlo y aprender como desencriptarlo y algunas funciones de encriptacion para futuros script. Gracias de antemano

    Me gusta

    • Hola, el codigo fuente del malware se encuentra publicado en el mismo hilo del foro elhacker.net, esta es la url:
      hxxp://foro.elhacker.net/analisis_y_diseno_de_malware/resuelto_infeccion_de_usb_y_equipo_por_fyzbnaksvuvbs-t400762.0.html

      Me gusta

  2. Hola, mira, yo tengo ese virus en un archivo que se llama v5.vbs y me sale NVBSENC con el signo = y el codigo enorme que parece cualquiera. Al final encuentro la frase que me decis, con lo de exejuteglobal pero por mas que le haga modificaciones me vuelve a salir aunque guarde los cambios lo mismo, se vuelve a hacer solo el icono y con lo mismo. Revise los permisos de usuario pero parece que hay uno que no puedo cambiar (capaz que no tiene mucho que ver) pero el tema es que el archivo sigue ahi …. 😦 tengo miedo de estar haciendo mal los pasos, te dejo mi mail a ver si me podes ayudar…. te lo agradecería… es nueva la compu y tiene muchas cosas instaladas importantes por lo que no quiero tener que formatearla. TE LO AGRADECERIA. galetti_00@hotmail.com SALUDOOOS 🙂

    Me gusta

    • Hola, revisa bien los pasos que doy para limpiar el sistema «a mano», teniendo en cuenta que el nombre del fichero es diferente, pero al final es el mismo malware. Ten en cuenta tambien que debes finalizar el proceso «wscript.exe» antes de ponerte a realizarle modificaciones al .vbs, pues el malware se va sobreescribiendo a si mismo cada cierto tiempo, por lo que los cambios que le hagas al fichero en pocos milisegundos seran sobreescritos por una nueva copia del malware. Igual ya intentastes usar la vacuna?
      saludos

      Me gusta

  3. Te doy las gracias por este post, para agregar a lo que acabas de hacer en busca de ayudar a los internautas como yo. Te comento que use tu vacuna, lo desactiva, pero para eliminarlo para siempre lo borre de esta ruta en windows XP =C:Documents and SettingsNUsuarioDatos de programa
    lo encontre con este nombre v5.vbs lo seleccione y lo elimino con supr.

    En windows Windows 7 =C:UsersNUsuarioAppDataRoaming
    lo encontre con este nombre v5.vbs lo seleccione y lo elimino con supr.
    Ojo el NUsuario puede ser el nombre de usuario que ustedes tienen como activo, es decir puede ser Juan,Carlos, Roman, ect.
    Gracias pero muchísimas gracias, espero haber aportado a todos los que sientan interesados en eliminar este loquísimo V5.VBS.

    Me gusta

  4. Hola, tambien fui uno de los infestados con este virus, y lo logré quitar hacie dias ya conel Hiren Boot. Por suerte ya salí de él, pero ahora tengo otro más que se llama «conhost» que tambien te oculta las carpetas y te las crea como .exe en las memorias USB, la única manera que tengo de desinfestarlo es con HirenBoot. si existiera algun código para desisfestar, por favor publicarlo tambien.

    Me gusta

    • Hola
      Intentastes eliminarlo con algun antivirus actualizado?. Para poder hacer alguna vacuna se necesita analizar primero el malware para ver las acciones maliciosas que realiza y de esta forma pòder contraarrestarlas, por lo que sin una muestra no se puede hacer mucho. Si quieres enviame una copia del malware y vemos que sale.

      Me gusta

  5. Hola amigo
    ¡Muchísimas gracias por el aporte! Ya me veía formateando la máquina porque de verdad que el el virus esw usmamente odioso y cada intento que hacía, nada, permanecía ahí. Ahora, gracias a tu post, pude eliminarlo ¡EHORABUENA! 😀

    Me gusta

  6. Thunder!! ese q te oculta las carpetas reales, ademas de ponertela como archivo del sistema, y te crea unas con igual nombre pero .exe esta haciendo estragos en toda mi facultad en la UH.. Solo se pueden ver las carpetas reales desde winrar, ademas de crear una carpeta-aplicacion en los archivos de programa del Winrar y un proceso (rar.exe) porfa q puedes hacer??? Lo unico q podria enviarte es alguna de esas carpetas-aplicacion .exe o una carpeta Recycler, q no estoy segura si la crea el virus, pq no se ve mas ningun archivo…..

    Me gusta

Deja un comentario