sábado, febrero 04, 2012

La “Cuenta fantasma” que quería iniciar sesión, Process Monitor y su solución.

La “Cuenta fantasma” que quería iniciar sesión, Process Monitor y su solución.:

El problema

Normalmente, suelo tener algunas máquinas virtuales en las que me apoyo para los diferentes artículos que escribo aquí, o bien para las pruebas que requiera hacer, sea reproduciendo problemas, o tratando de entender comportamientos de Windows.

Las máquinas virtuales las administro desde VMware, y una de las características de éste gran Gestor, es que si se instala Windows utilizando el asistente, sea con los pasos básicos o avanzados, al darle el usuario que sea quiere crear, además de que no lo pregunta en la instalación (Lo hace de forma desatendida), es que Windows siempre hará autologon con el usuario.

*Nota: Pueden ver más a fondo los procesos de Autologon en Este artículo.

Lamentablemente, en una de las máquinas, tuve que eliminar una de las cuentas porque la dañé completamente; no tuve problema con este proceso, el problema empezó al empezar a reiniciar normalmente el equipo, ya que cada que entraba, obtenía un mensaje de error con respecto a una contraseña:

E1

Al darle al botón Ok, mi sorpresa fue que Windows todavía estaba intentando ingresar con el usuario que yo había borrado (WinBoy):

E2

Por supuesto, no podía iniciar de ninguna forma sesión con el usuario, por lo que siempre tenía que darle al botón de Cambiar de usuario, escribir manualmente alguno de los otros usuarios e iniciar sesión.

Lo primero que hice fue ir hasta la ventana de Administración de usuarios, pero la cuenta (Tal como debía ser), no aparecía por ningún lado:

E3

Los archivos de usuario, a pesar de que yo pensé haberlos borrado también, seguían existiendo en el directorio de C:\Users, pero esta no debería ser razón para que iniciara, puesto que la cuenta no estaba creada.

¿Cuál era el problema entonces?

La causa

El problema estaba sucediendo antes de que se iniciara Windows, por lo menos el escritorio; sólo existe una herramienta capaz de darme un diagnóstico de lo que sucede antes, por supuesto, me refiero a Process Monitor de Sysinternals.

Process Monitor tiene una característica llamada “Enable Boot Logging” que, permite ubicar el controlador de Process Monitor (PROCMON20.SYS) para que inicie antes que todo, por lo que generará un log que irá incrementandose hasta que se abra nuevamente dentro de Windows y se guarde.

Gracias a esto, podemos ver las Operaciones que suceden incluso desde el Winlogon, cosa que no es posible ni con el mismo sistema operativo.

Para habilitar la característica, basta con Abrir Process Monitor, e ir al menú Options y seleccionar “Enable Boot Logging”:

image

Lo habilité, abrí Process Monitor para empezar a analizar el log, y empecé a buscar por la palabra clave que pudiera darme más ayuda, en este caso, por supuesto, el nombre de usuario: “WinBoy”.

Después de algunos resultados que me decían que las claves del usuario en ProfileList todavía existían, encontré esto:

image

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

Windows estaba abriendo la clave Winlogon que contiene todas las claves y subclaves que hacen referencia a alguna operación en el proceso de inicio de sesión; a continuación estaba haciendo unas consultas a unos valores llamados DefaultUserName, DefaultDomainName y DefaultPassword. En el artículo acerca del Autologon, vimos un poco de lo que trataban estos valores, pero básicamente, junto con AutoAdminLogon, habilitan el Inicio automático (Autologon) y además establecen el nombre de usuario, dominio y contraseña que debe utilizarse.

DefaultUserName, en este caso estaba todavía haciendo referencia a la cuenta que estaba eliminada:
image

*Nota:Data” es el contenido que tendrá, en este caso “WinBoy”.

Esta era la primera respuesta del por qué intentaba iniciar con una cuenta que ya no existía, al estarla referenciando, y todavía existir sus claves correspondientes, Windows aún la referenciaba.

DefaultDomanName no tenía valor, por lo que estaba tomando el Grupo de Trabajo predeterminado que tenía Windows.

Ahora, el valor de DefaultPassword, a diferencia de los anteriores, tenía como resultado NAME NOT FOUND, esto quiere decir que, a pesar de tener el Autologon indicado, Windows no encontraba la contraseña por ninguna parte; esto nos da la respuesta del por qué el primer mensaje de que el nombre de usuario o contraseña eran incorrectos.

La solución

Ya tenía detectado el problema, la solución consistía en evitar que Windows suigiera intentando hacer el Autologon, para esto entonces, desde Process Monitor utilicé la característica de “Jump to” para ir directamente a la clave de Registro de Winlogon y ubicar los valores que estaban causando el problema:

auto

Lo que hice fue primero, modificar el contenido de AutoAdminLogon para cambiarlo de “1” a “0” y que se desactivara, y posteriormente eliminé el valor de DefaultUserName para que no tuviera nada que buscar ahí =)

Al reiniciar el equipo, el agradable resultado fue:

image

El inicio de sesión común en Windows había retornado a su normalidad.

¡Problema solucionado!

Saludos,

Checho

No hay comentarios: