¿Qué programas se inician con Windows?

Creado: Viernes, 31 Mayo 2013 Escrito por karmany Visto: 28308
Tamaño de letra:

Aplicaciones en el arranque de Windows.

Iniciar WindowsEsta es una pregunta muy interesante y repetida cientos de veces que puede sernos de mucha utilidad para conocer qué aplicaciones arrancan con el Sistema Operativo (SO) Windows y de este modo poder optimizar y mejorar el rendimiento en el inicio. Sin embargo, también se podría prestar atención a otro punto igual o más interesante: ¿cómo podrías descubrir un malware que se carga en el arranque del SO?

Nota: Verás que en alguna clave o ruta he puesto de nombre <usuario>. Lógicamente es para referirme al nombre de usuario.

Configuración del sistema

Posiblemente esta es la herramienta más conocida de Windows, para acceder a la herramienta Configuración del sistema puedes hacerlo desde:

Ejecutar en Windows

Nota: Para mostrar la ventana ejecutar puedes usar el siguiente atajo: tecla Windows + R. También puedes escribir directamente msconfig en el cuadro de texto 2.

De las dos formas anteriores aparecerá la ventana Configuración del sistema y ahí, si vas a la pestaña Inicio de Windows verás algo similar a esto:

Configuración sistema en Windows

Puedes tildar o destildar los elementos de inicio. Lo interesante de esta ventana es que en la Ubicación nos muestra dos interesantes rutas del registro que seguidamente veremos.

Servicios

Los servicios son tareas del Sistema Operativo o funciones para controlar aspectos como el control de accesos, seguridad etc. y se ejecutan en segundo plano. Puedes examinarlos en la imagen anterior, pestaña Servicios y desactivarlos (iniciar, pausar o detener) para que en el próximo arranque no se inicien. También puedes ver los que se están ejecutando en Windows 7 en el administrador de tareas (Ctrl + Alt + Supr ? Iniciar el Administrador de tareas) o ejecutar services.msc (escribiéndolo y buscándolo en el cuadro de texto 2).

Con cuidado: Hay que tener mucha precaución a la hora de detener o desactivar servicios porque puede afectar al Sistema Operativo de una forma que no esperas: no arranca el SO, da errores... Por eso antes de detener un servicio debes buscar información sobre el mismo.

Registro

La mayoría de aplicaciones que se inician con Windows están indicadas y guardadas en el registro (no te puedes llegar a imaginar la cantidad de claves que hay). Viendo la imagen anterior, podemos acceder al registro de Windows (Menú 1 ?  y en el cuadro de texto donde aparece Buscar programas y archivos 2, escribe regedit). Ya estás en el editor del registro.

Clave Run

En el editor del registro busca lo siguiente:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

La diferencia entre una y otra son HKCU (HKEY_CURRENT_USER, clave relacionada con el usuario que ha iniciado sesión) y HKLM (HKEY_LOCAL_MACHINE, esta clave contiene información del sistema sobre la configuración del hardware y software.)

En Windows a 64 bits, aparecerán como:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

Pero no solo se pueden encontrar en esas ubicaciones. Ve de nuevo al registro y haz una búsqueda (Menú Edición ? Buscar) de claves que tengan el texto run y tildas la opción "Solo cadenas completas". Aparecerán casos como este ejemplo:

HKEY_USERS\S-1-5-21-6868686868-5959595959-5959595959-7777\Software\Microsoft\Windows\CurrentVersion\Run

con la siguiente información:

"C:\Users\<usuario>\AppData\Local\Google\Update\GoogleUpdate.exe" /c

Claves RunOnce y RunOnceEx

Si vas a las claves de registro "run" mencionadas en el apartado anterior, verás que justo debajo de ellas aparece una clave llamada RunOnce, que traducida significa: ejecutar una vez. Más información en la web de Microsoft [ENG].

También existe la clave RunOnceEx que existe de forma predeterminada en Windows 2000, Windows XP y Windows Server 2003, mientras que en Vista, 7 y Windows Server 2008 R2 hay que crearla. Por ejemplo:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

Clave BootExecute

Especifica las aplicaciones, servicios y comandos que se ejecutarán al inicio. Más información: BootExecute [ENG].

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute

Otras claves

Existen otras muchas claves del registro como estas:

HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AppSetup
HKLM\Software\Policies\Microsoft\Windows\System\Scripts\Startup
HKCU\Software\Policies\Microsoft\Windows\System\Scripts\Logon
HKLM\Software\Policies\Microsoft\Windows\System\Scripts\Logon
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Taskman
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx   
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup\
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx   
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Classes\Protocols\Filter
HKLM\SOFTWARE\Classes\Protocols\Handler
HKCU\SOFTWARE\Microsoft\Internet Explorer\Desktop\Components
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
HKCU\Software\Classes\*\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\*\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\AllFileSystemObjects\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\AllFileSystemObjects\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\Folder\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\Folder\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\Directory\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\Directory\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\Directory\Background\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\Directory\Background\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\Folder\Shellex\ColumnHandlers
HKLM\Software\Classes\Folder\Shellex\ColumnHandlers
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
HKCU\Software\Microsoft\Ctf\LangBarAddin
HKLM\Software\Microsoft\Ctf\LangBarAddin
HKCU\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKCU\Software\Microsoft\Internet Explorer\UrlSearchHooks
HKLM\Software\Microsoft\Internet Explorer\Toolbar
HKCU\Software\Microsoft\Internet Explorer\Explorer Bars
HKLM\Software\Microsoft\Internet Explorer\Explorer Bars
HKCU\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\System\CurrentControlSet\Services
HKLM\System\CurrentControlSet\Services
HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute
HKLM\System\CurrentControlSet\Control\Session Manager\SetupExecute
HKLM\System\CurrentControlSet\Control\Session Manager\Execute
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
HKLM\Software\Microsoft\Command Processor\Autorun
HKCU\Software\Microsoft\Command Processor\Autorun
HKLM\SOFTWARE\Classes\Exefile\Shell\Open\Command\(Default)
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls
HKLM\System\CurrentControlSet\Control\Session Manager\KnownDlls
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\System
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UIHost
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL
HKCU\Control Panel\Desktop\Scrnsave.exe
HKLM\System\CurrentControlSet\Control\BootVerificationProgram\ImagePath
HKLM\System\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9
HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SecurityProviders
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
HKCR\batfile\shell\open\command
HKCR\comfile\shell\open\command
HKCR\exefile\shell\open\command
HKCR\htafile\shell\open\command
HKCR\piffile\shell\open\command
HKLM\Software\Classes\batfile\shell\open\command
HKLM\Software\Classes\comfile\shell\open\command
HKLM\Software\Classes\exefile\shell\open\command
HKLM\Software\Classes\htafile\shell\open\command
HKLM\Software\Classes\piffile\shell\open\command
HKLM\System\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}\UpperFilters
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\VmApplet
HKLM\Software\Microsoft\Windows NT\CurrentVersion\InitFileMapping
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Aedebug
HKLM\Software\Classes\CLSID\{CLSID}\Implemented Categories\{00021493-0000-0000-C000-000000000046}
HKLM\Software\Classes\CLSID\{CLSID}\Implemented Categories\{00021494-0000-0000-C000-000000000046}
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cmd\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.com\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pif\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scr\Application
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cmd\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.com\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.hta\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pif\ProgID
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scr\ProgID

Infección en la ejecución

Más bien esta es una opción que puede ser utilizada por malware. ¿Cómo? Pues modifican en el registro una clave para que cada vez que se ejecute un programa, sea también ejecutado dicho virus o aplicación. Para eso, puede modificar las siguientes claves:

[HKCR\exefile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .EXE es ejecutado.
    
[HKCR\comfile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .COM es ejecutado.
  
[HKCR\batfile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .BAT es ejecutado.
    
[HKCR\htafile\Shell\Open\Command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .hta (aplicación HTML) es ejecutado.
    
[HKCR\piffile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .PIF (Portable Interchange Format) es ejecutado.
    
[HKLM\Software\CLASSES\batfile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .BAT es ejecutado.
    
[HKLM\Software\CLASSES\comfile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .COM es ejecutado.
    
[HKLM\Software\CLASSES\exefile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .EXE es ejecutado.
    
[HKLM\Software\CLASSES\htafile\Shell\Open\Command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .hta (aplicación HTML) es ejecutado.
    
[HKLM\Software\CLASSES\piffile\shell\open\command] @="\"%1\" %*"
Ejecutado cada vez que un archivo .PIF (Portable Interchange Format) es ejecutado.

Y lo mismo con otros archivos como .JS (JavaScript), .VBS (Visual Basic Script) etc.

Componentes Active-X

Se llegan a ejecutar incluso antes de explorer.exe:

[HKLM\Software\Microsoft\Active Setup\Installed Components\Nombre_de_la_clave]
StubPath=C:\Ruta_al_archivo\archivo.exe

Más claves...

Capa de Proveedores de Servicios, ejecutada antes del inicio de sesión del usuario:
HKLM\System\CurrentControlSet\Services\Winsock2\Parameters\Protocol_Catalog\Catalog_Entries
 
Ejecutado cuando un ejecutable de Windows a 16 bits es ejecutado:
HKLM\System\Control\WOW\cmdline
 
Ejecutado cuando una aplicación DOS a 16 bits es ejecutada:
HKLM\System\Control\WOW\wowcmdline

Restaurar Sistema:
HKLM\Software\Policies\Microsoft\Windows NT\SystemRestore

Pueden conectarse a sitios maliciosos remotos:
HKLM\System\CurrentControlSet\Services\Winsock2\Parameters\NameSpace_Catalog5\Catalog_Entries
HKLM\System\CurrentControlSet\Services\Winsock2\Parameters\Protocol_Catalog9\Catalog_Entries

Virus Sirefef

¿Sabes cómo se ejecutan algunos de los virus más conocidos? Por ejemplo, el virus Sirefef que quité el otro día de un ordenador. Este virus se ejecutaba en cada reinicio. ¿Cómo lo hizo?Este virus lo encontré en esta ubicación:

C:\$RECYBLE.BIN\S-1-5-18\$a1421fabbd35cfbea431344\@

El virus infecta de la siguiente forma, modifica la siguiente subclave:

HKLM\Software\Classes\clsid\{5839fca9-774d-42a1-acda-d6a79037f57f}\InprocServer32

Y modifica el valor "Default" y cambia los datos:

<carpeta de sistema>\wbem\wbemess.dll

por

<ruta al virus>

Más información en http://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Win32%2FSirefef.

Menú inicio

Los programas que se encuentren en este menú serán ejecutados al inicio. Menú de Windows 1 ? Todos los programas ? Inicio.

En Windows 7, para todos los usuarios, se suele encontrar en:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

Mientras que para un determinado usuario:

C:\Users\<usuario>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Si trabajas todavía con Windows XP, las anteriores claves las tienes aquí:

C:\Documents and Settings\All Users\Start Menu\Programs\Startup 
C:\Documents and Settings\<usuario>\Start Menu\Programs\Startup

Tareas de Windows

Programador de tareas de Windows

En Windows existe una herramienta que permite especificar cuándo queremos que una determinada tarea se realice. Esta es el programador de tareas que podemos encontrar en: Menú de Windows 1 ? Todos los programas ? Accesorios ? Herramientas del sistema ? Programador de tareas. ¿Sabes dónde se guardan? Sí, en el disco duro en estas rutas:

Windows XP:

C:\WINDOWS\Tasks

Windows Vista, 7, 8

C:\WINDOWS\System32\Tasks

Información del sistema

Puedes acceder a la información del sistema yendo al menú de Windows 1 y en el cuadro de texto donde aparece Buscar programas y archivos 2, escribe msinfo32. A la izquierda de esa nueva ventana dirígete a Entornos de software ? Programas de inicio.

Software para ver los programas que se inician con Windows

Como acabo de mostrar, y todavía podría seguir escribiendo, existen muchísimos modos de iniciar una aplicación en el Sistema Operativo Windows. Hay tantos que es difícil y tal vez casi imposible analizarlos uno a uno, así que vamos a recurrir a interesantes software que hagan todo el trabajo por nosotros.

Aunque hay muchos programas que muestran la aplicaciones que se inician con Windows, hoy voy a elegir dos de ellos. El programa Autoruns for Windows de Windows Sysinternals que es del mismo Microsoft. Su página web donde puedes descargarlo es Autoruns for Windows, no necesita instalación y verás que es muy completo (te pongo en el enlace la versión en inglés que está más actualizada que en nuestro idioma):

Autoruns Windows

Es un programa que te informa de las aplicaciones que se ejecutan durante el arranque del sistema o al inicio de sesión. También te los ordena según Windows los procesa. La pestaña Everything (todo) te muestra todas las entradas pero puedes filtrarlas con las otras pestañas.

Y el programa System Explorer. Que también es portable y tienen interesantes opciones como abrir la clave del registro directamente o incluso analizar un archivo si lo consideras peligroso. Tiene muchas más opciones. Para obtener la pestaña de inicio, pulsa el + que aparece a la derecha de las pestañas y selecciona Ejecución automática:

System Explorer

Conclusiones

Realmente me ha parecido impresionante la cantidad de métodos que he recopilado para iniciar una aplicación en un Sistema Operativo Windows, y me dejo en el tintero cientos de ellos. Como puedes ver, un malware tiene muchas esquinas en las que esconderse... y cada nuevo virus que sale, ofrece otro nuevo modo de ejecutarse...

Referencias

Algunas claves de registro las he extraido de aquí: Windows Autorun FAQs: List of autostart locations

Última actualización: Domingo, 07 Marzo 2021