Controlando el arranque de Windows con Autoruns

Las claves del registro de Windows son una parte fundamental del arranque del sistema es por ello gran parte del malware suele modificar algunas ramas para iniciarse con el sistema o bloquearlo por completo. Autoruns es una herramienta desarrollada por Microsoft que nos permite obtener una visión muy completa de lo que se inicia durante el arranque del sistema operativo. Primero trataré de explicaros, a groso modo, el proceso de arranque de Windows.

El primer proceso que lanza Windows es el smss.exe y es el que se encarga de manejar las sesiones. Este proceso es capaz de levantar cualquier ejecutable que se encuentre en system32 y este colocado en esta rama del registro:

HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerBootExecute

Tras ello todos los servicios de Windows que se encuentren en arranque automático se iniciarán y es entonces cuando saldrá la pantalla de inicio.

Será entonces cuando el proceso Winlogon.exe esperará a que el usuario introduzca las credenciales para arrancar el famoso explorer.exe. La rama del registro donde se define es la siguiente:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon
Shell=explorer.exe

A continuación Userinit.exe creará el entorno de usuario cargando el perfil, conexiones de red y el script de inicio que este defino para el usuario en el Active Directory. Este ejecutable también tiene su sitio en el registro:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon
UserInit=userinit.exe

Windows continua cargando las aplicaciones destinadas a ejecutarse una sola vez y que generalmente se alojan en las ramas del registro:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceEx

Por último se ejecutarán todos los programas en la carpeta de inicio de todos los usuarios y a continuación los programas en la carpeta de inicio del propio usuario.

También hay que tener en cuenta las siguientes ramas del registro donde se definen las aplicaciones a ejecutarse en el arranque:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun

Bajo esta rama se definen aquellas aplicaciones que se inician independiente de que usuario este accediendo al sistema.

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

En esta rama se definen aquellas aplicaciones que se inician con el usuario actual.

Windows tiene integrada la herramienta msconfig.exe que permite de manera gráfica activar y desactivar aplicaciones para el arranque del sistema además de poder de configurar el SYSTEM.INI, WIN.INI, BOOT.INI o manejar los servicios.

Pero sin duda la herramienta imprescindible para saber que succede cuando se arranca tu sistema es Autoruns. Es una herramienta de Windows Sysinternals que puede ser descargada gratuitamente desde aquí.

La herramienta se divide mediante pestañas las diferentes ramas del registro donde se definen que aplicaciones, dlls, drivers, ... se cargan al arrancar el sistema operativo. Además se pueden desactivar/activar aquellas que consideremos innecesarias e incluso podemos ver la ruta del programa que se ejecuta.

Si quieres tener tu sistema bajo control es una de esas herramientas que deberías tener.