La extraña ventana de Desktop.ini al iniciar sesión en Windows 8, Process Monitor y su solución

Con el caso que pasaré a exponer, quiero mostrar un poco la importancia de tener precaución al momento de realizar pruebas que impliquen algún cambio en el sistema operativo, sin pleno conocimiento de lo que hará. No siempre hay que creer todo lo que se lee, ni siquiera en páginas confiables, dará resultados positivos.

El problema

Al igual que muchos otros casos que he documentado a través de este espacio, este problema surgió de una consulta en los Foros de Microsoft Community destinados a Windows 8, lugar donde pueden encontrar respuestas a distintos inconvenientes relacionados con el sistema operativo.

El problema en cuestión, empezó después de que el usuario con el objetivo de buscar alguna infección de malware oculta, ejecutó el comando: Attrib –s –r –h /d / *.* sobre la raíz del sistema operativo, es decir, sobre C:, quiere decir que mostraría todas las extensiones ocultas y protegidas por el sistema y las cambiaría a visibles –incluyendo las que tenían atributos del sistema.- Después de reiniciar el equipo, y en cada arranque posterior, salía una extraña ventana en el Bloc de Notas con título “desktop” y con un contenido particular:

image

Texto: ”[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21787”

*Nota: A algunas personas, en vez de una ventana pueden salir dos con el mismo cotenido.

No importa de qué forma reiniciara o apagara el equipo, siempre se ejecutaba la misma ventana y no volvía a aparecer después de cerrarla.

La causa

Me atrevería a decir que alrededor del 85% de los casos en que sale algún tipo de mensaje de error o ventana desconocida justo después de iniciar sesión, se debe a algún script o proceso que está arrancando con el usuario, tal cuál se configuran muchas aplicaciones de mensajería por ejemplo. Dicho esto, y teniendo en cuenta que la pestaña de Inicio en MSCONFIG (hasta Windows 7) o en el Administrador de Tareas (a partir de Windows 8) poco o nada sirven para identificar realmente qué es lo que se ejecuta al iniciar sesión, la herrramienta más pertinente suele ser AutoRuns, parte de la suite de Sysinternals.

Como AutoRuns puede identificar muchas más ubicaciones donde un Malware o proceso puede correr, además de aspectos como Tareas Programadas o extensiones en el Explorador de Windows (muy útil cuando hay crash), es poco probable que si un archivo con el nombre de desktop, o por lo menos un proceso que referenciara esa ubicación tenía establecido el inicio pudiera ocultarse; sin embargo, cuando pude tener el Log capturado por parte del usuario, me sorprendí muchísimo al ver que en la pestaña de Log on (o en cualquier otra) no hubiera referencia alguna del archivo:

image

¿Cómo podía identificar qué era, si niquiera sabía desde dónde se estaba ejecutando? Como AutoRuns no me dio la respuesta, tenía que intentar identificar el proceso padre que lanzaba el archivo, así que sin cerrar el mensaje al iniciar sesión, le pedí al usuario ejecutar Process Explorer – también de Sysinternals – y utilizar la característica de Find Window’s Process con el fin de seleccionar la ventana del Bloc de Notas y que mostrara el proceso asociado, y obtuve algo similar a esto:

image

Para mi sorpresa, el proceso que estaba lanzando el Bloc de Notas (notepad.exe) era explorer.exe, correspondiente al Explorador de Windows, lo que hacía el tema un poco más frustrante, pues normalmente desde Process Explorer se podría analizar la firma digital y verificar la validez del proceso, pero en este caso incluso eso lo mostró como Verificado:

image

Esto quería decir que muy probablemente no era Malware, pues era Windows el que estaba lanzando el proceso de notepad.exe para abrir el archivo y mostrar su contenido.

Con AutoRuns y Process Explorer descartados –cosa que suele pasar muy pocas veces-, el camino a tomar sería monitorear el sistema operativo al iniciar sesión para tratar de entender en qué momento se estaba abriendo o generando el archivo, dónde se encontraba y cómo se ejecutaba. Naturalmente, la herramienta por excelencia para responder eso se llama Process Monitor, – sí, de Sysinternals también- utilizando la característica de Enable Boot Loggin ubicada en el menú Options; de esta forma, Process Monitor sitúa su controlador (PROCMON.SYS) justo antes que todos los otros que inician con Windows y captura todo lo que se haga aún en el proceso de Winlogon:

image

Debido a que la traza capturada por Process Monitor es enorme, más aún cuando se utiliza el Boot Logging, es necesario jugar con los Filtros que se pueden establecer yendo al menú Filter > Filter o presionando las teclas CTRL + L. Como ya sabía (gracias a Procexp) que el proceso era notepad.exe (aunque eso podía ser algo lógico), establecí el filtro como Process Name > is > NOTEPAD.EXE, así sólo me mostraría la actividad hecha por el Bloc de Notas:

Pp1

*Nota: La traza se debía capturar hasta después de que saliera la ventana.

Lo siguiente era buscar por un nombre específico, y claro está, sería: desktop. Para mi gran fortuna, el primer resultado arrojó la respuesta que estaba buscando:

image

*Nota: Clic en la imagen para verla en tamaño real.

Según Process Monitor, Windows estaba abriendo un archivo llamado desktop.ini, ubicado en la carpeta de Startup en el directorio:
C:UsersNANDO19AppDataRoamingMicrosoftWindowsStart MenuPrograms

*Nota: El nombre “NANDO19” varía, pues es el nombre de usuario.

Navegando manualmente al directorio, encontraría el archivo referenciado y como esperaba, con el contenido exacto que mostraba al iniciar sesión, es decir, el archivo que se estaba ejecutando al arrancar.

La solución

Como el archivo siempre está en la misma ruta, la solución fue relativamente sencilla, y lo es para el que esté experimentando este mismo problema:

Desde el Explorador de Archivos, navegar hasta la ruta:

C:UsuariosNombreAppDataRoamingMicrosoftWindowsMenú de inicioProgramasInicio

Donde “Nombre” corresponde al usuario de cada uno, por ejemplo: Checho, NANDO19, etc.

Allí hacemos clic derecho sobre el archivo desktop.ini y seleccionamos Eliminar:

image

Reiniciamos el equipo y el problema debería estar solucionado.

Espero sea de utilidad.

*Nota: Espero dedicar un futuro artículo a la carpeta de Startup o Inicio, ya que presenta características únicas y muy interesantes.

PD. No olviden seguirme en Twitter: www.twitter.com/secalderonr

Saludos,

Checho

Deja un comentario

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