Microsoft PowerShell:Ahora permite realizar un seguimiento de cambios realizados

Iniciado por Dragora, Mayo 03, 2022, 08:54:30 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


​​Esta semana se compartió en línea un consejo útil que muestra cómo puede usar PowerShell para monitorear los cambios en el Registro de Windows a lo largo del tiempo.

Como las actualizaciones de Windows, las instalaciones de aplicaciones, los cambios de configuración y el malware constantemente realizan cambios en el registro de Windows, este modo le permitiría detectar rápidamente qué se modificó, permitiéndole diagnosticar problemas, eliminar entradas maliciosas y ver qué configuraciones se han cambiado.

Esta semana, la popular cuenta de seguridad y tecnología de Twitter SwiftOnSecurity tuiteó que les encantaría ver un modo de Editor del Registro de Windows que mostraría todas las entradas del registro que no se crearon de forma predeterminada.

En respuesta al tuit de Swift, el principal arquitecto de seguridad de Microsoft en Azure Security, Lee Holmes, tuiteó un ejemplo de cómo podría hacer algo similar en PowerShell.


El ejemplo de Holmes muestra cómo puede usar PowerShell para enumerar todas las claves del Registro de Windows existentes y almacenarlas en una variable $snapshot. Luego, en un momento posterior, crea una instantánea de las claves de registro actuales y las almacena en la variable $current.

Luego, el ejemplo compara el contenido de estas variables para determinar qué claves de registro se agregaron desde que tomó la primera instantánea.

Si bien esto no es precisamente lo que estaba buscando Swift, nos indica la dirección correcta sobre cómo puede monitorear los cambios en el Registro a partir de una nueva instalación de Windows, o al menos un momento en su instalación de Windows existente.

Además, dado que el ejemplo de Holmes utiliza variables que se eliminarán cuando se reinicie un dispositivo, es mejor almacenar las instantáneas del Registro en archivos para compararlas más adelante, lo cual describimos cómo hacer a continuación.

Comparación de instantáneas del Registro mediante PowerShell

Usando el ejemplo de Holmes, BleepingComputer jugó con otras formas de guardar instantáneas del Registro de Windows y descubrió que modificar el ejemplo de Holmes para guardar instantáneas en un archivo proporciona la mayor versatilidad.

Mediante el uso de archivos, puede crear instantáneas en varios puntos en el tiempo para compararlas con instantáneas posteriores. Con los archivos, también puede compararlos con las instantáneas del Registro creadas en otros dispositivos.

Para comenzar, debe crear una instantánea base de las claves de registro actuales de HKLM y HKCU que comparará con futuras instantáneas. Idealmente, pero no es necesario, generaría estas instantáneas base justo después de instalar Windows.

Para crear las instantáneas básicas del Registro de Windows, debe ejecutar los siguientes comandos de PowerShell en un indicador de Windows PowerShell (administrador) para asegurarse de que puede acceder a todas las claves del registro:


Estos comandos crearán los archivos de instantánea Base-HKLM.txt y Base-HKCU.txt en la carpeta actual.

En las pruebas de BleepingComputer en versiones recién instaladas de Windows 11 y Windows 10, estas instantáneas tienen los siguientes tamaños:

Instantáneas del registro de Windows 11:

HKEY_LOCAL_MACHINE (HKLM):   82 MB
HKEY_CURRENT_USER (HKCU):   2,4 MB

Instantáneas del registro de Windows 10:

HKEY_LOCAL_MACHINE (HKLM):   81 MB
HKEY_CURRENT_USER (HKCU):   1,45 MB
Una vez que haya creado sus instantáneas base, ahora puede instalar programas o usar su computadora como de costumbre.

Después de un tiempo, si desea comparar el registro actual de Windows con sus instantáneas base, puede crear nuevas instantáneas usando estos comandos en un indicador de PowerShell del administrador:


Nota: los comandos anteriores insertarán la fecha en los nombres de archivo de la instantánea actual para que pueda determinar cuándo se creó la instantánea.

Ahora que ha creado tanto las instantáneas base como las instantáneas actuales, puede compararlas con el siguiente comando de PowerShell:


El comando Compare-Object comparará la instantánea base con la instantánea actual y mostrará lo que se ha cambiado, como se puede ver a continuación. La columna SideIndicator indica qué archivo contiene el cambio.


Cabe señalar que este método solo compara las claves del Registro de Windows y no compara sus valores, que comúnmente se modifican por la configuración de Windows y el malware.

Exportar valores también aumentaría drásticamente el tamaño de sus instantáneas y requeriría un script más complicado para compararlos correctamente. Por ejemplo, la instantánea base de HKCU con los valores del Registro en una nueva instalación de Windows 10 aumenta de 1,45 MB a 11,6 MB, un cambio multiplicado por 8.

Sin embargo, comparar las claves del Registro sigue siendo una herramienta útil que los administradores pueden automatizar para solucionar mejor los problemas en los dispositivos que administran.

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta