El registro de Windows es una base de datos jerárquica que almacena configuraciones y opciones para el sistema operativo y las aplicaciones instaladas. Una de las claves de registro más utilizadas para mantener persistencia en un sistema Windows es la clave Run, que permite ejecutar programas automáticamente al iniciar sesión. Al configurar esta clave para que ejecute un archivo, puedes asegurarte de que este se ejecute cada vez que el usuario inicie sesión, garantizando persistencia sin depender de configuraciones externas.
Run
en el Registro de Windows?
En el registro de Windows, la clave Run
permite especificar programas que se ejecutarán automáticamente al iniciar sesión. Esta clave se encuentra en varias ubicaciones dentro del registro, permitiendo a los programas configurarse para iniciar en diferentes contextos de usuario o de sistema. Las ubicaciones más utilizadas son:
Estas claves de Run
y RunOnce
están diseñadas para facilitar la ejecución automática de programas al inicio de sesión o del sistema, lo que las hace ideales para garantizar que un programa se ejecute de forma persistente en el sistema.
Run
del Registro en PowerShell
Para agregar un archivo en la clave Run
y lograr que se ejecute automáticamente al inicio de sesión, puedes utilizar el siguiente comando en PowerShell. Este comando creará una entrada en el registro que apuntará al archivo que deseas ejecutar.
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "MyApp" -Value "C:\ruta\a\tu_archivo.exe" -PropertyType "String"
New-ItemProperty
: Este cmdlet permite crear una nueva propiedad en una clave de registro, útil para configurar la ejecución automática de programas.
-Path
: Especifica la ruta de la clave en el registro donde se creará la nueva entrada. En este caso, se configura en HKCU
para que la ejecución automática esté limitada al usuario actual.
-Name "MyApp"
: Define el nombre de la propiedad que se añadirá. Este nombre puede ser cualquier identificador que prefieras.
-Value "C:\ruta\a\tu_archivo.exe"
: Define la ruta del archivo que deseas ejecutar automáticamente.
-PropertyType "String"
: Especifica el tipo de valor de la propiedad, que en este caso es una cadena de texto.
Este comando es sencillo y efectivo para crear una persistencia básica en el sistema.
C:\ruta\a\tu_archivo.exe
al archivo que deseas ejecutar automáticamente.
regedit
en la barra de búsqueda de Windows), y navegando hasta la ruta HKCU > Software > Microsoft > Windows > CurrentVersion > Run. Ahí deberías ver la entrada MyApp
(o el nombre que hayas especificado) apuntando a tu archivo.
Además de la clave Run
en HKCU
, existen otras claves que también pueden utilizarse dependiendo del tipo de persistencia que desees:
1. Clave Run
en HKLM
para Todos los Usuarios
HKLM:\Software\Microsoft\Windows\CurrentVersion\Run
en lugar de HKCU
.
New-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "MyApp" -Value "C:\ruta\a\tu_archivo.exe" -PropertyType "String"
2. Clave RunOnce
para Ejecución Única al Iniciar Sesión
RunOnce
en lugar de Run
.
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce" -Name "MySingleRunApp" -Value "C:\ruta\a\tu_archivo.exe" -PropertyType "String"
Con esta configuración, la entrada en RunOnce
se eliminará automáticamente después de la ejecución, lo cual puede ser útil para procesos que solo requieren iniciarse una vez.
Run
en el Registro
Configurar la ejecución automática de un archivo en el registro tiene algunos riesgos de seguridad que es importante tener en cuenta:
Run
es un método comúnmente utilizado para asegurar persistencia, puede ser monitoreada por software de seguridad y antivirus. Si el archivo que estás intentando ejecutar es identificado como malicioso, el antivirus podría bloquear la ejecución o eliminar la entrada del registro.
HKCU
, aseguras que el archivo se ejecute solo para el usuario actual, lo cual puede ser útil en sistemas compartidos o multiusuario. Si la configuración se realiza en HKLM
, cualquier usuario del sistema ejecutará el archivo automáticamente, lo cual podría generar problemas de seguridad o alertas en algunos entornos corporativos.
Run
permite que los programas se inicien automáticamente al iniciar sesión sin depender de servicios externos o scripts adicionales.
Run
y RunOnce
son fáciles de detectar para usuarios experimentados o administradores, lo que puede ser una desventaja si se busca discreción.
El uso de la clave Run
en el registro de Windows es una técnica sencilla y efectiva para asegurar que un archivo o programa se ejecute automáticamente al inicio de sesión. Al comprender cómo configurar esta clave en PowerShell y las consideraciones de seguridad asociadas, puedes automatizar tareas en el sistema sin depender de herramientas externas.
Recuerda siempre probar estas configuraciones en un entorno seguro antes de implementarlas en un sistema de producción y, sobre todo, asegurarte de que su uso respete el contexto ético y legal. Esta técnica puede ser una herramienta poderosa para automatizar procesos en sistemas Windows y asegurar que los servicios críticos estén disponibles siempre que el usuario inicie sesión.
Jorge García
Fullstack developer