
Analisis Registro de Windows
REGISTRO DE WINDOWS
El registro de Windows es considerado el corazón y alma del sistema operativo, en el se encuentra contenida toda la configuración que hace que el sistema operativo funcione. Básicamente le permite al sistema operativo controlar el Hardware, Software, la información de los usuarios, y las funcionalidades en general de la interfaz de Windows.
Para el caso forense, el registro de Windows es sumamente interesante porque contiene información importante como:
· Nombres de usuarios y claves de algunos programas, cuentas de correo y sitios web.
· El historial de sitios web accedidos, con fecha y tiempo.
· Registro de las consultas hechas en los buscadores web más populares.
· Lista de archivos accedidos recientemente.
· Lista de todos los programas instalados en el sistema.
El registro de Windows está formado por una serie de archivos los cuales cambian de la versión 9X a la NT.
El registro de Windows aparece desde la versión Windows 95 y ha tenido una serie de cambios no solo en su estructura jerárquica sino en los archivos que físicamente lo almacenan en el sistema.
En Windows 9x por ejemplo los archivos que constituyen el registro son:
· System.dat: Contiene la información de configuración del sistema y los parámetros de hardware, plug and play, y aplicaciones. Esta información es necesaria durante el proceso de arranque del sistema, para cargar los drivers necesarios y saber que hardware está disponible. Este archivo está ubicado siempre en la raíz del sistema (%systemroot%).
· User.dat: Contiene datos específicos de cada usuario (datos de login, configuración del escritorio, etc). Por lo tanto por cada usuario existirá un archivo de este tipo, que está ubicado por lo general en la carpeta HOME de cada usuario (WindowsProfile). Cuando el sistema arranca el archivo del usuario activo es copiado a la raíz del sistema.
En Windows 2000 en adelante, los archivos que constituyen el registro son:
· SAM: (Security Accounts Manager) este archivo contiene información de las cuentas de los usuarios del sistema asi como sus características de seguridad como nombre, grupo, clave, etc. Este archivo en Windows 2000 y XP se encuentra ubicado en %systemroot%system32config.
· SYSTEM: Contiene información del sistema como el mapeo de letras a drivers existentes, perfiles de arranque, ultima configuración buena conocida, nombre del sistema, información de configuración y datos de configuración para el perfil actual de hardware. Este archivo en Windows 2000 y XP se encuentra ubicado en %systemroot%system32config.
· SECURITY: Contiene información de seguridad como las políticas de usuarios y grupos del sistema. Este archivo en Windows 2000 y XP se encuentra ubicado en %systemroot%system32config.
· SOFTWARE: Contiene todos los programas de los programas instalados en el sistema, su configuración, ruta de instalación, archivos y directorios, sus licencias y fecha de expiración. Este archivo en Windows 2000 y XP se encuentra ubicado en %systemroot%system32config.
· NTUSER.DAT: Existe uno por cada usuario del sistema y contiene información como la zona de almacenamiento protegida (Protected Storage Area), la lista de archivos reciente usada (MRU – Most Recent Used File list) y configuración de preferencia del usuario. Este archivo se encuentra en el directorio de cada usuario generalmente en esta ubicación drive:Documents and Settingsuser directory.
Algo bastante importante desde Windows 2000, es que ahora se maneja el concepto de SID (Secure ID) el cual es un numero único que identifica al sistema operativo, y a cada usuario se le da un numero único agregándole un código al SID del sistema operativo, razón por la cual, a la hora de realizar una investigación forense sobre uno de estos sistemas operativos, nos encontraremos con información de usuarios identificada por su SID. Para poder resolver estos SID a su respectivo usuario, se usa la información almacenada en el archivo SAM.
El registro lógicamente es una estructura jerárquica que agrupa ítems relacionados de alguna manera bajo una claves raíces, las cuales a sus vez pueden tener tantas sub claves como se desee, y finalmente al final de la estructura la ultima sub clave tendrá un valor (el cual puede no estar configurado en un momento dado).
El registro de Windows como mencionaba anteriormente ha tenido modificaciones a lo largo de su existencia desde la versión de Windows 95, por lo cual mencionare los sub arboles más importantes y característicos del registro de Windows (puede que en algunas versiones de Windows encuentra otros que no menciono aquí).
· HKEY_CLASSES_ROOT: Incluye toda la información necesaria para las operaciones OLE de Drag and Drop e incluye todos los tipos de archivos que reconoce el sistema para que el usuario con un doble clic pueda abrir el archivo con el programa adecuando. La información la toma de la sub clave HKEY_LOCAL_MACHINESOFTWAREClasses.
· HKEY_USERS: Contiene toda la configuración del sistema para los usuarios de forma genérica (es la plantilla que se aplica a cada usuario del sistema, el cual la configura a su gusto), como características generales del escritorio, menú de inicio, etc. Contiene una sub clave por cada usuario existente en el sistema donde almacena su configuración propia a cada usuario.
· HKEY_CURRENT_USER: Contiene la información del usuario que actualmente tiene la sesión en el sistema, por lo tanto es una copia de lo que existe en la sub clave HKEY_USERSNombre_Usuario.
· HKEY_LOCAL_MACHINE: Contiene toda la información de la maquina local, como drivers, hardware instalado, mapeo de puertos y configuración del software. Esta información se aplica a todos los usuarios que inicien sesión en el computador.
· HKEY_CURRENT_CONFIG: Contiene información de dispositivos Plug and Play y de múltiples configuraciones de hardware del equipo. Su información la toma de la sub clave HKEY_LOCAL_MACHINEConfig
Los sub arboles HKEY_LOCAL_MACHINE y HKEY_USERS son los principales y a partir de ellos se llenan los otros sub arboles al momento de iniciar el sistema. HKEY_LOCAL_MACHINE su información se genera a partir del archivo SYSTEM.DAT, mientras que HKEY_USERS se genera a partir de todos los USER.DAT que existan en el sistema.
System Restore
System Restore, es una utilidad de backup de Windows que toma en ciertos momentos un snapshot del registro y otros archivos clave dinámicos, con el fin de tener puntos de restauración para poder regresar el sistema un punto consistente ante una falla del sistema, ya sea por problemas de software reciente instalado, drivers, modificaciones del registro, etc. Los backups son almacenados en el driver raíz en la carpeta System Volumen Folder¸ como carpeta escondida y con un ACL que no lo deja acceder sino únicamente por el usuario System. Con FTK imager, se puede acceder a esta carpeta, la cual tiene adentro otra carpeta llamada _restore[GUID] y dentro por cada punto de restauración una carpeta RP##, la cual contiene archivos y una carpeta snapshot con las imágenes del registro tomadas.
Para cargar un punto de restauración se usa la herramienta Restaurar sistema ubicada generalmente en Inicio->Accesorios->herramientas del sistema->restaurar sistema. Versiones superiores a Windows 2000 (algunos 2000 lo incluyen), se toma cada 24 horas (si se apaga el PC y pasan más de 24 horas, se toma apenas inicia), también se crean puntos en estos casos:
· Instalación de aplicaciones
· Instalación de actualizaciones
· En el momento de realizar una restauración de un punto
· Creación de backups
· Instalación de drivers no firmados
Adicionalmente un punto de restauración puede ser creado por el administrador utilizando la opción Crear un punto de restauración. La configuración del System Restore es almacenada en diferentes claves del registro, entre las cuales están
· HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSystemRestore.
· HKEY_LOCAL_MACHINESystemCurrentControlSetServicesSrservice
· HKEY_LOCAL_MACHINESystemCurrentControlSetServicesSr
CASO DE ESTUDIO
La compañía Financiera ACME, sospecha que uno de sus ex empleados, se está robando la información de clientes de la compañía, por tal razón luego de un allanamiento realizado al domicilio del sospecho y la incautación de varios dispositivos electrónicos, se ha solicitado la realización de una investigación forense sobre estos equipos, para determinar si el sospechoso está implicado en el robo de información.
Para este caso, se han realizado las siguientes imágenes forenses:
· Imagen a un Portátil Dell Vostro 1510.
· Imagen a dos memorias USB.
Revisando la imagen tomada del equipo portátil, no se ha descubierto información que vincule al sospechoso con el caso, pero algo que llamo la atención fue encontrar instalado el programa Evidence Eliminator en el portátil, por lo cual se sospecha que el sospecho pudo haber borrado todo rastro del equipo.
Evidence Eliminator es una herramienta licenciada para Windows que sirve para borrar el rastro que dejan diferentes aplicaciones en el registro de Windows y en otros lugares del sistema de archivos.
Por lo tanto, se reviso los puntos de restauración que aparecía en el portátil, con la esperanza de encontrar uno previo a la fecha en que el sospechoso limpio toda evidencia (y con suerte que la herramienta Evidence Eliminator no tuviera programado borrar estos backups). Por lo tanto buscamos en el programa de Restauración del sistema y encontramos varios puntos, donde se escogió uno de una semana atrás y se tomo una nueva imagen del portátil una vez se había restaurado dicho punto.
Para restaurar el sistema a un punto de restauración se utiliza la herramienta de Windows System Restore ubicada por lo general en Start->All Programs->Accessories->Systems Tools->System Restore.
PROCEDIMIENTO
1. Abrimos el caso CasoFinanciera en FTK donde tenemos la imagen forense cargada.
2. Lo primero que debemos hacer es identificar que usuarios hay en la maquina y cuál es el SID de cada uno de ellos. Para esto utilizamos el archivo SAM incluido en la evidencia.
3. Abrimos la herramienta Registry Viewer de Access Data y en el menú File->Open, seleccionamos la ubicación del archivo SAM ([ruta]RegisterFilesSAM).
4. En el árbol que muestra la estructura del archivo SAM navegamos por SAMSAMDomainsAccountUsers para ver la lista de usuarios de dicho sistema.
5. Como podemos ver aquí se lista cada uno de los usuarios del sistema. Se tiene una carpeta por cada uno de ellos, nombrada con el valor del SID del usuario en Hexadecimal. Al hacer clic sobre una de ellas, veremos en la ventana Key Properties la información de dicho usuario. Por lo tanto podemos ver que este portátil tenía únicamente dos cuentas de usuarios (Alejandro y Alejandra).
6. Cada usuario que aparece aquí, contiene toda la información de configuración de la cuenta, como si requiere clave, Hit de la clave, etc. Pero algo que nos puede ser útil es revisar la última vez que inicio sesión, para eso miramos en Key Properties la fila Last Logon Time.
7. Como podemos ver el ultimo usuario en iniciar sesión fue Alejandro y es el usuario del sospecho, por lo tanto guardamos su SID para más adelante poder identificar los archivos pertenecientes a este usuario.
8. Ahora revisamos el archivo SYSTEM para recopilar información del sistema. Para esto utilizamos el menú File->Open y escogemos la ubicación del archivo ([ruta]SYSYEM). En la subclave systemControlSet001ControlComputerNameComputerName encontramos el nombre del equipo.
9. En la subclave systemControlSet001ControlTimeZone encontramos la configuración de fecha del sistema. Con lo cual podemos saber bajo qué zona horaria está configurado el reloj de dicho PC.
10. En la subclave systemMountedDevices encontramos las unidades mapeadas en el sistema. En este caso podemos ver que el portátil tiene dos particiones (C y D) y se le han conectado una serie de unidades externas como USB y discos externos. Cada código que encontramos aquí es una firma que identifica unívocamente a cada dispositivo. En la grafica aparece la firma de la USB confiscada.
11. Ahora revisamos el archivo SOFTWARE para recopilar información del sistema operativo. Para esto utilizamos el menú File->Open y escogemos la ubicación del archivo ([ruta]SOFTWARE). De aquí podemos de la clave obtener información como
· Fecha de instalación de Windows
· Propietario del sistema
· Organización registrada
· Sistema Operativo
· Service Packs aplicados
· Clave del producto
12. Hasta el momento tenemos la información principal que debemos conocer para poder empezar a buscar la evidencia necesaria. Debido a que diferentes versiones de Windows e incluso aplicaciones de Windows utilizan diferentes ubicaciones tanto en el registro como en el sistema de archivos para almacenar la información que necesitan para funcionar o proveer ciertas características, la información recopilada nos ayuda a identificar a que versión de Windows nos enfrentamos y donde buscar.
Recopilación de evidencia
13. Ahora vamos a revisar la información que aparece del usuario Alejandro en el registro, para tal debemos abrir el archivo NTUSER.DAT que aparece en la carpeta del usuario Alejandro. Utilizamos el menú File->Open.
14. Lo primero que queremos ver es que programas están configurados para ejecutarse al arrancar el sistema para este usuario en particular (porque en la clave HKLMSoftwareMicrosoftWindowsCurrentVersionRun, se encuentran los programas que arrancaran para cualquier usuario) para esto revisamos las siguientes claves (no todos contienen información, esto depende del caso). Para esto revisamos la sub clave SoftwareMicrosoftWindowsCurrentVersionRun que en la herramienta de registro de Windows regedit aparece en el árbol HKCurrent_User. Aquí se puede apreciar que el usuario Alejandro tiene configurado que el programa Evidence Eliminator se inicie cada vez que el sistema arranque.
15. Ahora vamos a buscar la lista de acciones usados más recientemente, también conocido como MRU (More Recent Used List). Windows almacena en el registro, diferentes MRUs en diferentes ubicaciones, cada una con un propósito particular. A continuación revisaremos las MRU más importantes para nuestro caso.
16. Para ver la lista de comandos ejecutados a través de la utilidad Execute de Windows buscamos la subclave SoftwareMicrosoftWindowsCurrentVersionExplorerRunMRUdel árbol HKCU. En este caso observamos una lista de 4 acciones realizadas varias de las cuales son comandos de administración de la configuración de Windows que demuestran que Alejandro es un usuario avanzado de Windows. Al comienzo aparece una clave que se llama MRUList, que nos indica el orden en el cual fueron ejecutado estos comandos.
17. Otra MRU importante es la que almacena los últimos documentos abiertos por el usuario en el equipo. Esto lo podemos ver en la sub clave SoftwareMicrosoftWindowsCurrentVersionExplorerRecentDocs. En este caso vemos un archivo llamado clientes.xls. ¿podría ser este el archivo con el lista de clientes de la empresa?
18. Otra MRU importante es la que almacena las unidades de red mapeadas en el equipo. La sub clave es NTUSER.DATSoftwareMicrosoftWindowsCurrentVersionExplorerMap Network Drive MRU. En este caso podemos ver que el Portátil se conecto a un recurso compartido del servidor web de la intranet de la Financiera.
19. En este caso como sospechamos de unos archivos bajados del servidor en formato Excel, podemos revisar la MRU de Excel. Para esto revisamos la subclave SoftwareMicrosoftOffice12.0ExcelRecent Files. Bingo, encontramos dos archivos con los nombres correspondientes y con la casualidad que están en la carpeta de descargas del usuario. ¿podría haberlos bajado desde su navegador Web?
20. En la subclave SoftwareMicrosoftWindowsCurrentVersion ExplorerUserAssist encontramos encontremos dos o más claves que contienen los objetos que el usuario a accedido en el sistema, como por ejemplo el panel de control, enlaces, programas, etc. Estos valores son guardados cifrados bajo el algoritmo ROT-13 o también conocido como el cifraría de Caesar. En este caso podemos corroborar que el usuario ejecuto Evidence Eliminator, luego de usar el navegador Web, Microsoft Excel, cmd, msconfig, entre otros.
21. Hasta el momento hemos encontrado varias pruebas potenciales, pero no sabemos cómo hiso el sospechoso para entrar a la red de la empresa y conectarse al servidor de la intranet, ya que este no está publicado en internet. Por lo tanto revisamos las conexiones inalámbricas a las cuales se ha asociado esta máquina con el fin de encontrar los SSID allí almacenados. Para esto buscamos en la clave SoftwareMicrosoftWindows NTCurrentVersionNetworkListProfiles, aquí encontramos una subclave por cada red a la que se haya asociada la maquina. BINGO encontramos una subclave que muestra que el laptop se asocio recientemente a la red inalámbrica de la Financiera.
22. Adicionalmente Windows almacena la información de la conexión, como la IP asignada, la puerta de enlace, etc. Para revisar esto, miramos en el archivo SYSTEM del registro en la sub clave SYSTEMControlSet001 ServicesTcpipParametersInterfaces (puede también ser necesario revisar en la sub clave SYSTEMControlSet002 ServicesTcpipParametersInterfaces). Encontramos que al portátil le fue asignada la IP 192.168.0.3 y el default Gateway era 192.168.0.1.
23. Aparte de las unidades montadas en el sistema que observamos en el punto 10, podemos revisar que dispositivos removibles fueron conectados al portátil, para esto revisamos la clave SYSTEMControlSet00xEnumUSBSTOR. Aquí encontramos la USB confiscada.
24. Finalmente lo único que nos falta comprobar es que el usuario accedió desde su portátil al sitio web de la intranet de la financiera, para esto revisamos las URL visitadas que Internet Explorer almacena en el registro. Para esto revisamos la sub clave SoftwareMicrosoft Internet ExplorerTypedURLs. Bingo, el usuario no solo visito la intranet de la compañía, sino que adicionalmente visito la pagina de cada cliente encontrado en el archivo de clientes de la financiera.
Reporte Forense
25. Todas las pruebas recuperadas del registro, es importante documentarlas y poderlas mostrar como un reporte a los interesados, para esto Register Viewer ofrece la posibilidad de crear reportes con las claves deseadas
System->Mounted Devices = muestra los dispositivos montados y asocia una firma única a cada uno de ellos, con lo cual se podrían rastrear.
Con FTK imager, se puede capturar en vivo los archivos del registro.
Reporte: toma todo lo que se haya agragado a la zona de reportes
Sumary report: permite escoger subclaves, a diferencia del reporte, y permite agruparlas en grupos en 10 diferentes secciones.
Claves del registro en Window 2000 para arriba, tienen un atributo llamado, LAST WRITTEN TIME, que indica la ultima vez que la clave fue modificada (incluso se puede modificar la fecha sin cambiar el valor de la clave). Esta información no aparece en las versiones 9x.
Editor hexadecimal, es muy útil, porque nuestra los datos de la forma mas parecida a como son almacenados en el registro y tienen la ventaja de mostrar mas haya de la terminación NULA que hay después de cada cadena, dejando ver cosas que de otra forma no se podrían ver.
MRU (More Recently Used List), lista de los archives accedidos mas recientemente, estas caracteristicas las usan programas como Microsoft Word, Excel, de archivos recientes.
Registry Viewer muestra los archivos en orden ascendente desde el más reciente al mas viejo, en contraste contra los editores del registro que los orden alfabéticamente o numéricamente.
Registry Viewer ofrece algo llamado COMMON AREAS, que es un lugar donde se pueden agrupar todas las claves y subclaves de interés forense. Por lo tanto es una forma de de ver solos las claves que nos interesan en vez de ver el Registro completo. De forma automática se cargan algunas claves en esta area, pero el usuario puede agregar las que le parezca (y la herramienta lo recordara, para futuros archivos del registro que abra con él).
Busquedas:
· Find: normalita, permite indicar si lo que se busca es la clave, el valor, o los datos.
· Advanced: fuera de lo de arriba, permite especificar si lo hace en Full Registry, Report o Common area. La salida la muestra en una cuadricula.
· Date Search: permite buscar por rangos de fecha de los registros
Wildcards: permite indicar una ruta para una clave, y aplicárselo a diferentes archivos de registro. Hay dos tipos:
· Una que busca desde su padre hacia abajo sobre todos los hijos del padre
· Busca sobre la clave actual y todas sus subclaves.
Al igual que FTK, Registry viewer ofrece la opción de exportar un archivo con las palabras que encuentra en el registro, que pueden ser de utilidad para PRTK (diccionario, es importa recordar que la primera línea del diccionario es ignorada, puesto que se usa generalmente para comentario).
PSSP (Protected Storage System Provider) es una sub clave que almacena información confidencial del usuario que es especifica de las aplicaciones Microsoft (se encuentra en la clave HKEY_Users, para cada usuario en SoftwareMicrosoftProtected Storage System Provider). Registry Viewer automáticamente descifra esta clave y muestra su información que puede ir desde, datos tipiados en un formulario web, credenciales para un sitio web hasta claves de Outlook.
SAM, resuelve que usuario corresponde a un determinado SID y cuando fue la ultima vez que inicio sesión.
System, en la clave Current_controlSetcontroltimezoneinformation (la cual esta cifrada), aquí se puede ver el machine´s active time bias, el cual es un corrimiento de la hora actual con respecto a la hora GMT, la cual es usada por el sistema para llevar la hora.
SoftwareMicrosoftWindowsNICurrentVersion, muestra información del sistema operativo como, fecha instalación, dueño registrado, organización registrada, sistema operativo, service pack , ID de la llave del producto.
System Restore, es una utilidad de Windows que toma en ciertos momentos un snapshot del registro y otros archivos clave dinámicos. Son almacenados en el driver raíz en la carpeta System Volumen Folder¸ como carpeta escondida y con un ACL que no lo deja acceder sino únicamente por el System. Con FTK imager, se puede acceder a esta carpeta, la cual tiene adentro otra carpeta llamada _restore[GUID] y dentro por cada punto de restauración una carpeta RP##, la cual contiene archivos y una carpeta snapshot con las imágenes del registro tomadas.
Para cargar un punto de restauración se usa la herramienta Restaurar sistema ubicada generalmente en Inicio->Accesorios->herramientas del sistema->restaurar sistema. Versiones superiores a Windows 2000 (algunos 2000 lo incluyen), se toma cada 24 horas (si se apaga el PC y pasan mas de 24 horas, se toma apenas inicia), también se crean puntos en estos casos:
· Instalacion de aplicaciones
· Instalación de actualizaciones
· En el momento de realizar una restauración de un punto
· Creacion de backups
· Instalacion de drivers no firmados
Adicionalmente un punto de restauración puede ser creado por el adminsitrador utilizando la opción Crear un punto de restauración. La configuración del System Restore es almacenada en la subclave del registro SOFTWAREMicrosoftWindowsNTCurrentVersionSystemRestore.
Punto de restauracion es almacenado en la raíz del sistema de forma oculta y con un ACL que solo le permite a la cuenta System, tener acceso, DESDE FTK IMAGER SE PUEDE
Archivos recientes navegados en el computador
NTUSER.DAT
SOFTWAREMicrosoftWindowsExplorerRecentDocs
SOFTWAREMicrosoftWindowsExplorerComDlg32LastVisitedMRU
SOFTWAREMicrosoftWindowsExplorerComDlg32OpenSaveMRU
SOFTWAREMicrosoftWindowsTerminal Server Client
SoftwareMicrosoftInternetExplorerTypedURLs (URL visitadas)
SoftwareMicrosoftInternetExplorerDownload Directory (ultimo directorio donde se descargo algo).
SoftwareMicrosoftInternetExplorerMain (configuracion de IE)
Archivos recientes (link que aparece en la pestaña START-documentos recientes)
C:Documents and SettingsequipoReciente
Lista los ultimos commandos ejecutados desde la ventana RUN
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerRunMRU
(SW desistalado)
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall
En esta clave se puede cambiar la MAC, luego de cambiar el valor, se debe deshabilitar y luego habilitar la tarjeta de red desde el panel de control. (en caso de que no exista la clave se crea con valor de cadena de texto, y cuando se quiera regresar a la MAC original, se borra esta clave y listo)
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318[secuence number] ->networkAddress