Incomprensiblemente, Microsoft no cuenta con ningún método gráfico o herramienta nativa para conocer cuándo ha sido modificada una rama del registro.
Aunque existe ya un programa de Nirsoft para mostrar este dato, no
funciona en línea de comando, ni permite ver los milisegundos. Este es
el hueco que cubre RegistryDate.
Existe una herramienta muy sencilla. Simplemente, se especifica en línea de comando la rama que se desea consultar y muestra la fecha de última modificación.
Permite también buscar ramas modificadas entre dos fechas. Esto es muy
útil para análisis forenses. Por ejemplo, para saber en qué momento se
añadió una clave a la rama
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
Se podría hacer una búsqueda del tipo:
RegistryDate.exe HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 27-11-2012:12.00 27-11-2012:12.14
y buscará todas las ramas que hayan sido modificadas durante ese periodo de tiempo
(entre las 12.00 y y las 12.14 del 27-11-2012).
Como se puede observar, el formato de fechas y el tipo de programa está
inspirado en macmatch.exe, una herramienta muy usada en forenses, que
permite conocer entre qué fechas se ha creado, accedido o modificado los
ficheros.
¿Por qué dos versiones?
El programa se presenta en dos formatos. RegistryDate64.exe, que accederá a las ramas en Windows de 64 bits, y RegistryDate.exe, que funcionará en cualquier sistema (pero no verá las ramas nativas de 64 bits en este tipo de arquitectura). La versión de 64 bits requiere .NET4.
La razón es la siguiente. Actualmente la mayoría de los sistemas
operativos Windows 7, tienen (aprovechan) una arquitectura de 64 bits.
No así los XP (aunque se lanzó XP de 64 bits, no es muy popular).
Todavía existen muchas aplicaciones compiladas para 32 bits para
mantener la "compatibilidad hacia atrás". Así que para lidiar con esto, Microsoft "virtualiza" muchas ramas del registro. Por ejemplo, una muy conocida (por ser usada por malware) es:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
En un Windows de 64 bits, aquí escribirán solo las aplicaciones
compiladas específicamente con 64 bits. En la imagen, todas las
aplicaciones son de 64 bits nativas.
Pero Microsoft "separa" virtualmente las ramas para los programas
de 32 bits. Un programa de 32 bits que intente acceder a la rama
descrita, en verdad lo hará a esta:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
En la imagen, todas las aplicaciones son de 32 bits.
Pero las aplicaciones de 32 bits (la mayoría del malware y muchos programas), no "verán" esa rama. Si intentan acceder a
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
, serán automáticamente redirigidos a
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
Por esta razón, existe RegistrDate64.exe que, si bien es una aplicación
compilada en 32 bits, está especialmente creada para acceder a esas
ramas de 64 bits. Por tanto RegistryDate.exe y RegistryDate64.exe pueden devolver datos diferentes aunque parezca que acceden a la misma rama.
En realidad, la primera (si se mira en el editor regedit) devolverá la fecha de
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
y la segunda, de HKEY_LOCAL_MACHINE\SOFTWARE\
\Microsoft\Windows\CurrentVersion\Run
No hay comentarios:
Publicar un comentario