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:
Una variable “NVBSENC” con mucho código ofuscado, pero si llegamos a las últimas líneas del fichero
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:
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.
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
La tercera capa de cifrado, al final del fichero está el código descifrador
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.
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
Bueno en verdad espero mas de ti cada dia. Este a sido un de los mas molestos de los virus que conosco y tu me has dedo la posibilidad de mejorar y quitarmelo.
Me gustaMe gusta
En verdad que es molesto >:(, me alegra que te haya servido el escrito
Me gustaMe gusta
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 gustaMe 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 gustaMe gusta
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 gustaMe 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 gustaMe gusta
Socio si este virus esta basado en el q acabas de explicar 20089DD.vbs, hace lo mismo que dijste excepto por lo de cargar la red
Me gustaMe gusta
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 gustaMe gusta
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 gustaMe 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 gustaMe gusta
Muchas gracias! excelente explicación, esta fue la única solución que encontré de tantas otras que he probado.
Me gustaMe gusta
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 gustaMe gusta
Pues me alegra mucho que te haya servido 😉
Saludos
Me gustaMe gusta
Excelente !!!!
Te felicito por tu profesionalidad en la programación !!!
Esta descifrado perfectamente , funcionó Excelente.
UN abrazo
Me gustaMe gusta
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 gustaMe gusta
Hola Ayi, pues si, sin una muestra no se puede hacer mucho.
Enviame una muestra (carpetas-aplicacion .exe) comprimida y ponle como pass «malware» (sin comillas) y veremos que se le hace 😉
Saludos
Me gustaMe gusta
Muy buen análisis, hice lo mismo además de crear una firma para mi antivirus!!!
Me gustaMe gusta
te quisiera dar un abrazo, llevaba un mes peleandome con ese malware y sin posibilidad de formateo por el enorme volumen de trabaja. Saludos
Me gustaMe gusta
Pues nada….glad to help 😉
Me gustaMe gusta