El registro de Windows para analistas:
las claves que cuentan la historia
Blue Team y Forense Digital | unfantasmaenelsistema.com
El registro de Windows es una base de datos jerárquica donde el sistema y las aplicaciones guardan su configuración. Para un analista forense es mucho más que eso: es un diario involuntario del sistema. Registra qué programas se ejecutaron, qué dispositivos USB se conectaron, a qué carpetas navegó el usuario, qué se escribió en los cuadros de diálogo y qué mecanismos ponen software en marcha en cada arranque.
Este artículo es un mapa de las claves que más rinden en una investigación, dónde viven los ficheros que las contienen, cómo se leen sobre una imagen y qué herramientas hacen el trabajo pesado. Completa el bloque forense de Windows de la serie, junto con los logs de eventos, el análisis de memoria y las líneas de tiempo.
Que aprenderas en este articulo
La estructura del registro y qué fichero (hive) contiene cada rama · Dónde están los hives en disco y sus copias de seguridad · Claves de persistencia: Run, Services, Winlogon, IFEO · Evidencia de ejecución: ShimCache, AmCache, UserAssist, BAM/DAM · USB, ShellBags y listas MRU; y las herramientas para extraerlo todo
1. Estructura y dónde viven los hives
En un sistema en marcha el registro se ve como cinco ramas (HKLM, HKU, HKCU, HKCR, HKCC), pero en disco solo hay un puñado de ficheros llamados hives. HKCU y HKCR son vistas construidas a partir de otros hives; lo que se analiza en forense son los ficheros reales.
| Hive | Ruta en disco | Qué contiene |
|---|---|---|
| SYSTEM | C:\Windows\System32\config\SYSTEM | Servicios, drivers, configuración de red, USB, ControlSet actual, zona horaria |
| SOFTWARE | C:\Windows\System32\config\SOFTWARE | Software instalado, claves Run de máquina, Winlogon, versión de Windows |
| SAM | C:\Windows\System32\config\SAM | Cuentas locales, hashes, grupos, último inicio de sesión y recuento |
| SECURITY | C:\Windows\System32\config\SECURITY | Política de seguridad, secretos LSA, relaciones de confianza |
| NTUSER.DAT | C:\Users\<usuario>\NTUSER.DAT | Perfil del usuario: Run de usuario, UserAssist, MRU, carpetas recientes |
| UsrClass.dat | C:\Users\<usuario>\AppData\Local\Microsoft\Windows\UsrClass.dat | ShellBags (navegación por carpetas), asociaciones de usuario |
| Amcache.hve | C:\Windows\AppCompat\Programs\Amcache.hve | Programas ejecutados o presentes, con hash SHA-1 y ruta |
Dos fuentes de recuperación que salvan investigaciones. RegBack (C:\Windows\System32\config\RegBack) guardaba copias de los hives, aunque desde Windows 10 1803 ya no se rellena por defecto; aun así conviene mirarla. Y los transaction logs (ficheros .LOG1 y .LOG2 junto a cada hive) contienen cambios que aún no se habían escrito en el hive: al procesar una imagen hay que aplicarlos, y a veces revelan modificaciones que un atacante creía haber ocultado.
2. Persistencia: qué claves arrancan software
El registro es el sitio favorito para conseguir que algo se ejecute solo. Las claves a revisar siempre:
| Clave | Efecto | Nota forense |
|---|---|---|
| …\CurrentVersion\Run y RunOnce (HKLM y HKCU) | Ejecuta al iniciar sesión | El clásico; comparar con una lista de referencia de un sistema limpio |
| …\Winlogon\Shell y Userinit | Se ejecuta al arrancar el shell | Debe ser explorer.exe / userinit.exe; cualquier añadido es sospechoso |
| SYSTEM\CurrentControlSet\Services | Servicios y drivers | Servicio con ImagePath a %TEMP%, Start=2, o driver sin firma |
| Image File Execution Options\<exe>\Debugger | Lanza un ‘depurador’ en lugar del programa | Truco de secuestro (p. ej. sethc.exe) y anti-análisis |
| …\CurrentVersion\Explorer\Shell Folders / Startup | Carpeta de inicio | Redirección de la carpeta Startup a una ruta controlada |
| COM hijacking: HKCU\Software\Classes\CLSID\…\InprocServer32 | Carga una DLL al invocar un objeto COM | DLL en AppData; muy usado por familias actuales |
Para cada hallazgo, el LastWrite de la clave (equivalente al mtime de un fichero) da la fecha en que se modificó por última vez: es la aproximación a cuándo se instaló la persistencia. No es infalible -cualquier escritura en la clave lo actualiza- pero orienta la línea de tiempo.
3. Evidencia de ejecución
Varias claves registran, como efecto colateral, que un ejecutable estuvo en el sistema o llegó a correr. Son oro cuando el binario ya se ha borrado.
- ShimCache / AppCompatCache (SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache): ruta, tamaño y fecha de última modificación del fichero. En Windows 10/11 no garantiza ejecución (solo que el sistema lo «vio»), pero sitúa el binario en el equipo. Se vuelca a memoria y se escribe al apagar
- AmCache.hve (Root\InventoryApplicationFile): ruta completa, hash SHA-1 del fichero, editor, tamaño y primera vez que se registró. El hash permite cruzar con inteligencia de amenazas
- UserAssist (NTUSER.DAT, …\Explorer\UserAssist\{GUID}\Count): programas lanzados desde el Explorador/menú Inicio por ese usuario, con contador de ejecuciones y última fecha. Los nombres están cifrados con ROT13
- BAM/DAM (SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\<SID>): ejecutables ejecutados por usuario con la última fecha de ejecución. Muy fiable y con poco ruido
- MUICache y ShellBags completan el cuadro: aplicaciones vistas por el shell y carpetas navegadas
Cada artefacto dice una cosa distinta
ShimCache: el fichero existía en esa ruta con esa fecha de modificación (no prueba ejecución en Win10/11) · AmCache: el fichero fue inventariado; aporta hash · UserAssist: el usuario lo lanzó desde la interfaz gráfica · BAM/DAM: el ejecutable corrió en segundo plano, con fecha · La conclusión sólida sale de cruzar varios, no de uno solo; y de contrastarlos con Prefetch y los Event ID 4688 / Sysmon 1
4. Dispositivos USB y almacenamiento externo
Una de las preguntas más habituales en un caso de fuga de información: ¿se conectó un pendrive y cuándo? El registro guarda bastante:
- SYSTEM\CurrentControlSet\Enum\USBSTOR: cada dispositivo de almacenamiento USB por fabricante, modelo y número de serie. El LastWrite de la subclave y las Properties ({83da6326-…}) dan primera y última conexión y última retirada
- SYSTEM\CurrentControlSet\Enum\USB: capa USB genérica (también ratones, teclados)
- SOFTWARE\Microsoft\Windows Portable Devices\Devices: asocia el dispositivo con la letra de unidad y la etiqueta de volumen que mostró
- SYSTEM\MountedDevices: relaciona letras de unidad con identificadores de volumen
- NTUSER.DAT\…\Explorer\MountPoints2: qué usuario montó qué volumen (vincula el USB a una persona)
Cruzando USBSTOR (qué y cuándo), MountPoints2 (quién) y los Event ID de sistema relacionados con la instalación de dispositivos se reconstruye la historia completa de un USB.
5. Actividad del usuario: MRU, RecentDocs y ShellBags
- RecentDocs (NTUSER.DAT\…\Explorer\RecentDocs): últimos ficheros abiertos, por extensión y en orden de uso (MRUListEx)
- OpenSavePidlMRU y LastVisitedPidlMRU (…\ComDlg32): ficheros y carpetas usados en los cuadros de «Abrir» y «Guardar como» de las aplicaciones
- TypedPaths (…\Explorer\TypedPaths): rutas escritas a mano en la barra de direcciones del Explorador
- RunMRU (…\Explorer\RunMRU): comandos escritos en Ejecutar (Win+R)
- WordWheelQuery: términos buscados en el cuadro de búsqueda del Explorador
- ShellBags (UsrClass.dat y NTUSER.DAT): tamaño, posición y vista de cada carpeta que el usuario abrió en el Explorador, incluidas carpetas ya borradas, de red o de dispositivos extraíbles. Prueba de que el usuario navegó a una ruta concreta
Casi todos estos valores están codificados como estructuras PIDL o en binario; no se leen a ojo. De ahí que las herramientas del siguiente apartado sean imprescindibles.
6. Herramientas y cómo se procesa
El flujo habitual: extraer los hives de la imagen (o de una copia de triaje con KAPE), aplicar los transaction logs y analizarlos sin montarlos en el registro del equipo del analista.
| Herramienta | Uso | Salida |
|---|---|---|
| RegRipper (rip.exe / rr.exe) | Plugins por artefacto sobre un hive concreto | Informe de texto por categorías |
| Registry Explorer (Eric Zimmerman) | Exploración visual, aplica .LOG automáticamente, marcadores de artefactos | Interactivo; exporta a Excel |
| RECmd (EZ Tools) | Procesado por lotes con conjuntos de definiciones (batch) | CSV listo para timeline |
| AppCompatCacheParser / AmcacheParser | Artefactos de ejecución específicos | CSV |
| ShellBags Explorer / SBECmd | Reconstrucción de ShellBags | Árbol de carpetas + CSV |
| KAPE | Recogida de triaje (hives + otros artefactos) y ejecución de módulos | Paquete + CSV |
# Analisis de hives sobre una copia de triaje (equipo del analista, NO el investigado) # 1) RegRipper: perfil de usuario rip.exe -r E:\triaje\Users\jdoe\NTUSER.DAT -f ntuser > ntuser_jdoe.txt rip.exe -r E:\triaje\Windows\System32\config\SYSTEM -p compname # 2) EZ Tools: artefactos de ejecucion a CSV AppCompatCacheParser.exe -f E:\triaje\...\config\SYSTEM --csv .\out AmcacheParser.exe -f E:\triaje\Windows\AppCompat\Programs\Amcache.hve --csv .\out # 3) USB rip.exe -r E:\triaje\Windows\System32\config\SYSTEM -p usbstor # 4) ShellBags del usuario SBECmd.exe -d E:\triaje\Users\jdoe --csv .\out # 5) todo el registro a un timeline (RECmd + conjunto de definiciones) RECmd.exe --bn BatchExamples\Kroll_Batch.reb -d E:\triaje --csv .\out
Marco de actuación
El análisis del registro se realiza sobre sistemas propios o sobre aquellos para los que se tiene mandato expreso (contrato, encargo de tratamiento, orden de la dirección o designación judicial) · Los hives SAM y SECURITY contienen hashes de contraseñas y secretos: extraerlos de un equipo ajeno sin autorización puede ser delito de descubrimiento y revelación de secretos o de acceso ilícito (arts. 197, 197 bis y 197 ter del Código Penal); dañar o alterar datos, el art. 264 · NTUSER.DAT y UsrClass.dat revelan actividad detallada de una persona concreta: su tratamiento se ciñe al RGPD y la LOPDGDD (finalidad, minimización, plazo de conservación) · Se trabaja siempre sobre copias verificadas por hash; el análisis se documenta para que sea reproducible (ver el artículo de cadena de custodia)
Referencias
Eric Zimmerman — Registry Explorer, RECmd y el resto de EZ Tools (documentación y batch sets) · RegRipper (keydet89) — repositorio y plugins · SANS — ‘Windows Forensic Analysis’ poster y las cheat sheets de artefactos del registro · Microsoft — documentación de la estructura de hives y transaction logs · 13cubed — vídeos sobre ShimCache, AmCache, ShellBags y BAM · Nuestros artículos de logs de eventos de Windows, Volatility 3 y líneas de tiempo forenses
Conclusión
El registro de Windows responde, él solo, a buena parte de las preguntas de una investigación: qué se ejecutó y cuándo, qué se conectó al equipo, por dónde navegó el usuario y qué mantiene el acceso tras un reinicio. La dificultad no es encontrar los datos, es saber qué prueba exactamente cada clave y no sobreinterpretar un artefacto aislado.
El método: extrae los hives (SYSTEM, SOFTWARE, SAM, SECURITY, NTUSER.DAT, UsrClass.dat, Amcache.hve) de una copia verificada, aplica los transaction logs, procésalos con las EZ Tools o RegRipper hacia CSV, y cruza ejecución (ShimCache + AmCache + UserAssist + BAM) con USB (USBSTOR + MountPoints2) y navegación (ShellBags). Después, todo a la misma línea de tiempo en UTC junto con los Event Logs y el Prefetch.
unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

