Los archivos de la USB que se convertían en accesos directos en Windows, Attrib, Process Monitor y su solución

El problema que voy a describir en este post, muy seguramente todos lo han vivido en algún momento, sobre todo si utilizan mucho dispositivos USB en diferentes equipos, indiferente además de si estudian o no algo relacionado con tecnología pues se podría decir que es uno de los comportamientos de malware más comunes. Sin embargo, pasaré a detallarlo aquí como normalmente lo hago con los diferentes problemas para brindarle una solución a los que entren buscándola, aprender un poco más del funcionamiento yo, y por supuesto seguir generando diferentes contenidos sobre lo que me apasiona.

*Nota: Me apoyaré durante todo el artículo en una USB que contenía este malware, así que podría variar un poco con respecto a lo que ustedes puedan ver si se infectan, pero la solución va por el mismo camino.

El problema

Al conectar el dispositivo en un equipo con Windows 8.1, según la descripción y acorde con lo primero que vi, habían ciertos archivos que a pesar de ser de diferentes tipos como PDFs, Documentos de Word y música, se volvieron Accesos Directos y solo presentaban un icono en blanco:

V1

Cuando hice doble clic en uno de ellos para ver si había ejecución normal, apareció una ventana del Símbolo del Sistema con el nombre del archivo como título por algunos segundos, al parecer realizando alguna operación oculta:

image

Después de esto, el archivo iniciaba normalmente con su programa asociado:

image

Si ese archivo se guardaba así fuese con otro nombre en la misma unidad, después de unos segundos también se volvía acceso directo, con los mismos comportamientos que el orginal. Por otro lado, si el aparente acceso directo se copiaba a un directorio externo y se intentaba ejecutar, ya no abría el documento original, y en vez de eso, había un par de errores:

image

image

A pesar de que en general era el mismo mensaje genérico, el primero estaba buscando al parecer un script llamado “qecddxldm.vbs” y el segundo al mismo archivo que intentaba abrir, en este caso: “inteligencia.docx”.

Si el archivo se abría y luego se le indicaba Guardar como para ubicarlo en otro directorio que no fuese el de la propia unidad, el formato se mantenía bien y continuaba funcionando. Esto me indicaba en primera instancia que el problema se reproducía solo en el dispositivo USB.

La causa

Claramente algo estaba pasando al ejecutarse los archivos y mientras mostraba la consola, así que para averiguarlo, era necesario indagar un poco más a profundidad lo que estaba ocurriendo por debajo. Para esto, nada mejor que Process Monitor de Sysinternals.

El procedimiento como ya lo he ejemplificado en otros artículos similares, consiste en ejecutar Process Monitor, limpiar la primera traza utilizando CTRL + X y posteriormente reproducir el problema o comportamiento, que en este caso sería volver a ejecutar alguno de los archivos hasta que se abra con el programa con el que debe estar asociado.

Utilicé el mismo documento de “inteligencia.docx” para poder seguir con el ejemplo que ya había mostrado en las primeras capturas.

Como no sabía por dónde empezar, lo que hice fue simplemente parar el monitoreo de Process Monitor después de reproducir para no tener más información innecesaria, y desde el cuadro de búsqueda (CTRL + F) le iniqué “ingeligencia.docx” hacia abajo para mirar las primeras referencias que se hicieran sobre el documento desde el momento en que Process Monitor se ejecutó:

image

Afortunadamente, el primer resultado tenía mucho que decir al respecto, pues no era nada común:

image

Por alguna razón, el Explorador de Windows estaba abriendo el proceso de “cmd.exe”, tenía un resultado satisfactorio y además referenciaba en alguna parte el nombre completo de “inteligencia.docx”. Después de esto, se iniciaba el proceso y se creaba el hilo. Para ver dónde estaba utilizando esta operación el nombre del archivo, abrí la ventana de Propiedades de Process Monitor haciendo doble clic sobre la primera línea, y en la pestaña de Event pude obtener el primer gran resultado:

VV1

El evento esta reportando la siguiente línea de comandos:

“C:Windowssystem32cmd.exe” /c start qecddxsldm.vbs&start inteligencia.docx&exit

Eso era lo que estaba ejecutando el proceso de “cmd.exe”, indicado como PID (Process ID), que en este caso tenía como número 3232, operación que era la siguiente según el log de Process Monitor mostrado en la captura anterior.

Ahora, lo que estaba haciendo toda la línea era utilizar la bandera de /c para ejecutar el comando que se le especifique en una cadena y luego terminarlo, START para abrir una nueva ventana que permita ejecutar el comando o programa, y finalmente el archivo qecddxsldm.vbs estaba haciendo toda la tarea. A continuación, se iniciaba con el START nuevamente ya el documento real (inteligencia.docx) y terminaba todo. Básicamente, esto se traduce en la ejeución del Símbolo del Sistema y la apertura normal del documento que estaba viendo.

Para referenciar tanto al .DOCX como al .VBS sin indicar directorio, tenía que estar en la misma ubicación, y eso resolvía el enigma del por qué copiar el acceso directo a otra parte no daba resultado en la ejecución. Procedí entonces a habilitar los Archivos Ocultos y Protegidos por el Sistema desde las Opciones de Carpeta, y ahora la visión de la unidad era un poco diferente:

image

Los accesos directos sólo estaba ahí para hacer una redirección al Script malicioso y para no levantar mayores sospechaz, lanzaba el archivo original, que estaba oculto como un archivo protegido por el sistema.

El segundo problema y su causal

En un principio creí que remover el atributo de Oculto al archivo solucionaría el problema en principio de la visualización, pero al momento de ir a las respectivas propiedades, me encontré con que esto no lo podía hacer de forma gráfica:

image

La única razón por la que un archivo muestre este tipo de características, es decir, que esté como oculto y no se pueda manipular ese atributo desde el Explorador, es porque se le indicó estar oculto como un atributo de archivo de sistema. La forma más fácil en la que podemos cambiar esto, es utilizar la herramienta de Attrib.exe, embebida en Windows.

Para mirar si esto era suficiente entonces, y antes de eliminar el Script que había traido el Malware, procedí entonces a ejecutar: Attrib –S –H /S /D /L <USB>*.* donde <USB> correspondía a la letra asignada al dispositivo. Para mi caso, que era la “E:” sería:

Attrib –S –H /S /D /L E:*.*

image

*Nota: El argumento ““ indica que se va a quitar el atributo especificado, “S” es para Archivos de Archivos del Sistema, “H” para especificar el de “Oculto”, /S para que se aplique a todos los archivos que correspondan a lo que se está indicando y todas las subcarpetas, /D para que se procesen carpetas y finalmente /L para que se trabaje en atributos del Vínculo Simbólico en caso de que exista en la unidad. Para ver la descripción de cada uno, pueden ejecutar desde el Símbolo del Sistema: Attrib /?

La buena noticia, es que como era de esperarse, los archivos pasaron a mostrarse nuevamente como debía ser después de la ejecución del comando:

image

La mala noticia, es que bastaba un par de minutos para que los archivos se volvieran a ocultar solos:

image

La solución

Para saber por qué los archivos se volvían a ocultar nuevamente, corrí otra vez Process Monitor, esta vez dejando como tiempo solo el espacio en que se volvían a poner con atributos escondidos y buscando otra vez por nombre de alguno de los archivos. Por supuesto, utilicé “Inteligencia.docx”.

El primer resultado fue del Explorer.exe enumerando los archivos de la unidad, así que no me servía, pero el segundo resultado era del proceso Wscript.exe, que nada tenía que estar haciendo si no era ejecutar un Script de Windows. Como el Query no me decía nada, utilicé otra característica de Process Monitor llamada Process Tree, que cataloga como Process Explorer todos los procesos en ejecución, y me indica qué cosas pudo estar haciendo cada uno durante el tiempo activo. Busqué Wscript.exe y encontré esto:

2V

El Script que en principio estaba solo en la Unidad USB, qecddxsldm.vbs, se estaba corriendo desde el directorio Roaming correspondiente a mi perfil de usuario, de esta forma los archivos volvían a estar ocultos.

Navegué entonces hasta el directorio de Roaming e intenté eliminar manualmente el Script, pero no pude hacer, pues según Windows, estaba siendo utilizado por Wscript.exe:

image

Ejecuté entonces Process Explorer y efectivamente Wscript.exe se encontraba en ejecución, siempre referenciando además el Script:

image

Es importante notar que aunque el directoiro donde se lanzó es la unidad USB, el Script lo consumía desde la carpeta Roaming.

Terminé el proceso entonces con Process Explorer haciendo clic en el botón inferior de Kill Process y pude eliminar el primer Script de la carpeta Roaming.

Seguido a esto, es necesario eliminar el Script de la unidad USB para que no lo esté copiando constamente. Vale aclarar que hasta el final intentará engañar:

image

Basta con hacer clic en el botón y se quitará completamente.

Por último, desde el Símbolo del Sistema con privilegios elevados, es necesario volver a ejecutar Attrib con sus argumentos para que los archivos se les quite lo oculto, es decir:

Attrib –S –H /S /D /L E:*.*

image

Además de esto, quitar todos los falsos accesos directos generados, sea manualmente, o bien a través de línea de comandos utilizando: DEL <USB>*.lnk. Donde <USB> corresponde otra vez al dispositivo. Para este caso:

DEL E:*.lnk

image

*Nota: Puede que no todos los que tengan este problema deban eliminar el Script (.vbs), pues en algunas ocasiones algún Antivirus ya lo ha hecho, pero no devuelve el estado de los archivos, así que habría que hacerlo manual como lo acabé de indicar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *