Actualizado el 21 de Marzo del 2018 (Publicado el 12 de Noviembre del 2017)
1.604 visualizaciones desde el 12 de Noviembre del 2017
953,0 KB
19 paginas
Creado hace 17a (10/01/2008)
El registro de Windows
Breve introducción al registro de Windows
El registro de Windows no es mas que una base de datos jerárquica donde se almacenan todos los
detalles relativos a la configuración del sistema operativo. Está compuesto por los siguientes
elementos:
– Subárboles:
Raices o divisiones principales de que se compone estructuralmente el registro.
– Claves:
Principales contenedores ubicados dentro de cada subárbol. Pueden contener subclaves o
entradas.
– Entradas:
Datos reales cuyo valor afecta al sistema. Si abrimos el editor del registro se corresponderían
con los elementos que aparecen en el panel derecho.
Físicamente el registro se guarda en ficheros separados, almacenando cada uno de ellos una sección
en particular. A su vez cada uno de estos ficheros tendría su .log equivalente, los cuales actúan como
ficheros de transacciones.
Cuando se modifica alguna de las secciones que componen el registro de Windows los cambios se
escribirían en primer lugar como registros en el archivo .log actualizándose después el fichero
correspondiente a la sección en particular desde los datos escritos en el disco.
Los ficheros y sus secciones equivalentes serían los siguientes:
Nombre de la clave
HKEY_LOCAL_MACHINE\SAM
HKEY_LOCAL_MACHINE\Security
HKEY_LOCAL_MACHINE\Software
HKEY_LOCAL_MACHINE\System
HKEY_USERS\[User SID]
HKEY_USERS\Default
Ruta absoluta del fichero
%SystemRoot%\system32\config\SAM
%SystemRoot%\system32\config\Security
%SystemRoot%\system32\config\Software
%SystemRoot%\system32\config\System
%SystemDrive%\Documents and Settings\
[username]\NTUser.dat
%SystemRoot%\system32\config\default
Las entradas definidas anteriormente, y las cuales aparecerían en el panel derecho del editor del
registro, estan formadas por 2 elementos:
– Nombre del valor
– Tipo de dato del valor:
El cual puede ser uno de los siguientes, mencionándose a continuación únicamente los más
comunes:
– REG_DWORD
Una doble palabra (2 palabras de 16 bits = 32 bits = 4 bytes). Las entradas se visualizan
en formato hexadecimal. Utilizado para la mayoría de información sobre controladores
de dispositivos y servicios.
– REG_BINARY
Entradas con datos binarios sin formato. Se utiliza principalmente para almacenar
información de componentes de hardware.
– REG_SZ
Cadenas de texto de longitud fija. La mayor parte de entradas se corresponden a datos
booleanos o tienen valores de cadena de texto corto. La notacion sz (String/Zero) es
debido a que las entradas se terminan con un byte cero al final. Regedit ocultaría el 0 de
la terminación de los datos.
– REG_MULTI_SZ
Cadena múltiple Utilizado para almacenar listas o valores múltiples. Los valores están
separadas por comas o espacios y la entrada está terminada por dos caracteres nulos
(ocultados por Regedit).
– REG_EXPAND_SZ
Cadena de datos de longitud variable. Este tipo de datos incluye variables que se
resuelven cuando un programa o servicio utiliza los datos.
– REG_FULL_RESOURCE_DESCRIPTOR
Utilizada para almacenar una lista de recursos para componentes de hardware, por loq
estaría compuesto por series de matrices anidadas.
– REG_LINK
Contiene un vínculo simbólico entre los datos y un valor del registro determinado.
HKEY_CLASSES_ROOT
Se trata de una subclave de HKEY_LOCAL_MACHINE\Software. En este subárbol existen dos
tipos de datos:
Información de asociación de archivos.
–
– Datos de configuración para objetos COM.
Esta sección es en realidad un alias y deriva sus datos desde dos orígenes:
HKEY_LOCAL_MACHINE\Software\Classes
HKEY_LOCAL_MACHINE\Software\Classes
De esta forma se permite el registro de clases por usuario. Esta funcionalidad implica que los
equipos con usuarios múltiples pueden poseer diferente información para las clases registradas
cuando un usuario específico instala el software.
HKEY_CURRENT_USER
Contiene la información de configuración para el usuario que tiene iniciada una sesión actualmente
en el sistema. Contiene valores que afectan al sistema operativo, las aplicaciones y las directivas.
Dichos valores estan contenidos en el archivo NTUser.dat almacenado en %SystemDrive
%\Documents and Settings\[username].
HKEY_LOCAL_MACHINE
Contiene información acerca del equipo, su hardware, los controladores de dispositivos y las
opciones de configuración (tanto de seguridad como del software instalado) que afectan a todos los
usuarios del sistema.
Contiene a su vez las siguientes secciones:
● HKLM\Hardware
Ntdetect.com crea el contenido durante el inicio del sistema, manteniendose dicha
información en la memoria RAM.
● HKLM\SAM
Datos utilizados por el administrador de cuentas de seguridad no accesibles mediante el
editor del registro. Se trata de un repositorio de datos de usuarios y grupos, incluyendo los
permisos de acceso para las carpetas, archivos y perifericos.
● HKLM\Security
Relacionado con los temas de seguridad y que contiene datos que dependen del tipo de red
(modo nativo u modo híbrido).
● HKLM\Software
Opciones de configuración relativas al software instalado y del sistema operativo.
● HKLM\System
Datos que controlan el proceso de inicio de sesión del sistema operativo, servicios del
kernel, etc.
HKEY_USERS
Contiene todos los perfiles de usuario que han iniciado sesión en algún momento en el equipo. Cada
subclave de perfil se identifica con un ID de seguridad.
HKEY_CURRENT_CONFIG
Contiene información acerca del perfil de hardware utilizado por el equipo durante el inicio del
sistema. Es un alias de HKLM\System\CurrentControlSet\Hardware\Profiles\Current.
Análisis del registro de Windows
Presentación de las herramientas
A lo largo de toda esta sección vamos a utilizar de forma intensiva 2 utilidades gráficas que nos
permitirán abrir e interpretar los ficheros que componen las diferentes secciones del registro. Ambas
son gratuitas y pertenecen a MiTeC. Son las siguientes:
– Windows Registry Recovery1
– Windows Registry File Viewer2
1 http://www.snapfiles.com/get/rfv.html
2 http://www.mitec.cz/wrr.html
Las dos nos permitirán analizar el registro con una interfaz similar a la aplicación Regedit incluida
de serie con todos los sistemas Windows, pero además, y de forma automatizada, interpretarán los
datos en crudo de determinadas claves para facilitarnos la obtención de información.
Para todos aquellos casos en los que no se defina un procedimiento especial para la interpretación
de la información utilizaremos la herramienta “Registry File Viewer”. El proceso será similar en
todos los casos y consistirá en abrir el fichero correspondiente a la sección concreta del registro que
estemos tratando y navegar hasta la clave mencionada para ver la información adecuada.
Nota acerca de CurrentControlSet
Cuando realizamos un análisis offline del registro, y concretamente de la sección contenida en el
fichero system, observaremos que pueden llegar a existir hasta 4 entradas diferentes con la
siguiente nomenclatura: ControlSet00x. Lo normal será encontrarnos únicamente dos entradas,
donde x sería sustituido por números enteros consecutivos (1 y 2 habitualmente).
De las dos entradas solo una será la utilizada por el sistema operativo para obtener los valores de
configuración para el arranque, es decir, como la entrada CurrentControlSet. Para determinar cual
de ellas es la utilizada accederemos a los valores almacenados en HKLM\System\Select:
Los valores Current y Default se corresponden con el valor en hexadecimal del ControlSet utilizado
(1 para nuestro ejemplo) y el valor de LastKnownGood se correspondería con el ControlSet cargado
cuando el sistema no es capaz de iniciarse correctamente y nos aparece la opción de “Iniciar el
sistema utilizando la última configuración buena conocida” (2 en nuestro ejemplo).
Obteniendo información general del sistema
Sección system
1. Nombre de máquina:
HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName
2. Fecha de último apagado del sistema:
HKLM\System\CurrentControlSet\Control\Windows\ShutdownTime
Para interpretar la información binaria almacenada en esta entrada utilizaremos la aplicación
Decode Date3 tal y como se muestra en la siguiente captura.
3.
Información de la zona horaria:
HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias
Valor indicado en minutos que contiene la configuración de la zona horaria del sistema.
Podremos utilizar dicho valor para normalizar los registros de tiempo obtenidos de otras
fuentes en formato UTC/GMT.
4. Servicios instalados en el sistema
HKLM\System\CurrentControlSet\Services
Si el valor de la entrada Start está establecido a 0x0000002 el servicio se iniciará de forma
automática con el arranque del sistema.
Para obtener el listado de forma sencilla utilizaremos la aplicación “Windows Registry
Recovery”. Abriremos el fichero system contenido en la imagen del sistema y pulsaremos
sobre el botón “Services and Drivers” del apartado “Explorer Tasks”.
5. Configuración TCP/IP:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Para obtener los datos de forma sencilla utilizaremos la aplicación “Windows Registry
Recovery”. Abriremos el fichero system contenido en la imagen del sistema y pulsaremos
sobre el botón “Network Configuration” del apartado “Explorer Tasks”.
Sección software
1. Dueño del software:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOwner
2. Organización:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization
3. Sistema operativo:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProductName
3 http://www.digital-detective.co.uk/freetools/decode.asp
4. Version:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber
5. Service Pack instalado:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\CSDVersion
6. Fecha de instalación del sistema:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\InstallDate
7.
ID de producto:
HKLM\Software\Microsoft\Window
Comentarios de: Breve introducción al registro de Windows (1)