Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Claves forenses en Windows: artefactos esenciales para la investigación digital

Fecha de publicación 20/03/2025
Autor
INCIBE (INCIBE)
Claves forenses en Windows: artefactos esenciales para la investigación digital

La ciencia forense digital es un campo complejo que requiere un conocimiento profundo de los sistemas operativos, las redes, el análisis de datos y la interacción entre múltiples tecnologías, entre otros. El reto principal radica en la identificación, preservación y análisis de la evidencia digital sin comprometer su integridad.

En las investigaciones digitales, los artefactos forenses son cruciales porque ofrecen pistas y evidencia clave sobre las actividades que han ocurrido en los sistemas durante un incidente. Gracias al análisis de estos artefactos, los analistas forenses pueden llegar a:

  • Reconstruir líneas de tiempo de eventos, identificando cuándo se crearon, modificaron o eliminaron archivos, cuándo se ejecutaron aplicaciones o cuándo se realizaron conexiones de red.

  • Identificar actividades de usuarios y atacantes para detectar cuentas de usuario que iniciaron sesión, aplicaciones ejecutadas, o archivos que se abrieron o modificaron.

  • Detectar actividades maliciosas, como rastros de malware, técnicas de persistencia, movimientos laterales, y otros indicadores de compromiso.

  • Proporcionar evidencias para investigaciones legales que pueden ser presentadas durante un juicio.

En muchos casos, los datos están dispersos en diferentes áreas del sistema y pueden ser volátiles o difíciles de detectar. Sin embargo, existen numerosos artefactos en sistemas operativos, que son relativamente sencillos de recolectar y que pueden proporcionar información crucial para una investigación.

 

Tipos de artefactos forenses en Windows y su aplicación en investigaciones

En el caso de los entornos Windows, artefactos, como los registros de eventos, archivos de Prefetch y claves del registro, permiten a los analistas reconstruir con precisión actividades clave y resolver una gran parte de las dudas sobre incidentes de seguridad, todo sin la necesidad de recurrir a técnicas altamente sofisticadas. A continuación, se describen algunos de estos artefactos clave y cómo pueden ser utilizados para reconstruir eventos y actividades en el sistema:

  • Event Logs: son esenciales para reconstruir eventos del sistema y son útiles para detectar intrusiones, actividad maliciosa o eventos sospechosos. Están almacenados en archivos con extensión .evtx en C:\Windows\System32\winevt\Logs\ y pueden ser analizados usando el visor de eventos de Windows (accesible con eventvwr.msc desde el menú de inicio). Los logs de seguridad, como los de inicios de sesión fallidos (ID de evento 4625) y exitosos (ID 4624), son fundamentales en investigaciones forenses, ya que permiten identificar intentos de acceso no autorizados y rastrear la actividad de los usuarios de forma acotada. Además, los logs de cambios en políticas de seguridad (ID 4719) registran modificaciones críticas en la configuración del sistema, lo que puede indicar intentos de manipulación malintencionada. Los logs de interés pueden incluir Security.evtx, System.evtx, Application.evtx, entre otros. Por ejemplo, para obtener inicios de sesión fallidos se puede usar el siguiente comando en PowerShell. Esto mostrará la hora y detalles del evento para cada inicio de sesión fallido:

    Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4625} | Select-Object TimeCreated, Message

  • Prefetch: el sistema Prefetch en Windows almacena datos sobre la ejecución de aplicaciones para optimizar su rendimiento. Sin embargo, en el ámbito de la ciberseguridad y la informática forense, estos archivos pueden ser clave para identificar actividad sospechosa o maliciosa. Los archivos de Prefetch permiten reconstruir la línea de tiempo de ejecución de aplicaciones, incluso si los ejecutables originales han sido eliminados. 

Estos archivos proporcionan información valiosa sobre:

  1. Aplicaciones ejecutadas en el sistema.

  2. Timestamps de ejecución, que ayudan a establecer cronologías de eventos.

  3. Rutas de acceso del ejecutable y archivos asociados.

Los archivos de Prefetch tienen la extensión .pf y se almacenan en el directorio: C:\Windows\Prefetch\.

Cada archivo .pf lleva el nombre del ejecutable seguido de un hash que representa la ruta desde la que se ejecutó, lo que ayuda a diferenciar instancias del mismo programa ejecutadas desde ubicaciones distintas.

El comportamiento y la funcionalidad del Prefetch han evolucionado con cada versión de Windows:

  • Windows XP hasta Windows 7: Se crea un archivo Prefetch cada vez que se ejecuta una aplicación, con un límite de 128 archivos.

  • Windows 8 y versiones posteriores: Prefetch se combina con Superfetch (SysMain), permitiendo hasta 1024 archivos y registrando información más detallada sobre la última ejecución de aplicaciones.

  • Windows 10 y Windows 11: Prefetch mantiene su integración con SysMain, optimizando el rendimiento del sistema y permitiendo un análisis más granular de la actividad de ejecución de programas.

  • Windows Server: En algunas versiones, el Prefetch está desactivado por defecto para mejorar el rendimiento, pero puede activarse manualmente.

Los archivos Prefetch pueden ser utilizados por analistas para:

  • Identificar la ejecución de malware: Si un ejecutable malicioso ha sido eliminado, su rastro puede permanecer en Prefetch, indicando su nombre, ubicación y fecha de ejecución.

  • Detectar movimiento lateral: Prefetch puede revelar la ejecución de herramientas de administración remota o scripts utilizados para desplazarse lateralmente en una red.

  • Corroborar actividades de usuario: Permite verificar el uso de aplicaciones sospechosas en un marco temporal específico, útil para investigaciones internas o incidentes de fuga de información.

Para analizar archivos Prefetch, se pueden utilizar diversas herramientas forenses:

  • PECmd: Desarrollada por Eric Zimmerman, permite analizar el contenido detallado de los archivos .pf, incluyendo tiempos de ejecución y rutas de acceso.

  • WinPrefetchView: Herramienta gráfica que muestra información detallada sobre los archivos Prefetch, incluidos los nombres de archivos accedidos y las fechas de última ejecución.

  • PowerShell: Puede utilizarse para listar rápidamente los archivos de Prefetch y la última vez que fueron modificados. Ejemplo:

    Get-ChildItem -Path C:\Windows\Prefetch -Filter *.pf | Select-Object Name, LastWriteTime

  • LNK Files: Los archivos LNK (accesos directos en Windows) contienen metadatos detallados sobre archivos y carpetas accedidos por el usuario. Estos archivos pueden proporcionar información valiosa en investigaciones forenses al revelar:

    • Cuándo se accedió a un archivo o carpeta.

    • Desde dónde se ejecutó o abrió el archivo.

    • El dispositivo de almacenamiento utilizado, incluyendo números de serie de unidades USB, lo cual es crucial para detectar exfiltración de datos.

    • La ruta completa del archivo de destino, incluso si este ha sido eliminado o movido.

Los archivos LNK son útiles para Investigaciones Forenses:

  • Detectar actividad maliciosa: Permiten identificar la ejecución de herramientas sospechosas, scripts o programas maliciosos que hayan dejado un acceso directo.

  • Rastrear exfiltración de datos: Almacenan información sobre archivos copiados o abiertos desde dispositivos extraíbles (como USBs), lo que puede ayudar a detectar robos de información.

  • Reconstruir la línea de tiempo de actividades del usuario: Son útiles para entender la secuencia de apertura y acceso a archivos, lo cual es clave en investigaciones internas o casos de fuga de información.

  • Recuperar información de archivos eliminados: Aun cuando el archivo de destino haya sido borrado, el acceso directo conserva detalles de la ubicación original y la fecha de acceso.

Los accesos directos se almacenan comúnmente en: C:\Users\<usuario>\Desktop\

O en la carpeta de archivos recientes: C:\Users\<usuario>\AppData\Roaming\Microsoft\Windows\Recent\,

Mientras que estas carpetas guardan accesos directos a los archivos abiertos recientemente, lo que puede ayudar a determinar actividades recientes del usuario:

C:\ Users\<usuario>\AppData\Roaming\Microsoft\Windows\Start Menu, C:\ Users\<usuario>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

Para analizar archivos LNK, se pueden utilizar las siguientes herramientas forenses:

  • LECmd: Herramienta de línea de comandos desarrollada por Eric Zimmerman que permite extraer metadatos detallados, incluyendo rutas de red, números de serie de dispositivos USB y marcas de tiempo.

  • ShellBagsExplorer: Útil para analizar rutas de acceso y archivos recientemente abiertos, complementando la información de los LNK.

  • PowerShell: Se puede utilizar para listar los accesos directos y la última vez que fueron modificados, lo cual puede indicar el acceso reciente a archivos o programas. Por ejemplo:

    Get-ChildItem -Path "C:\Users\<usuario>\AppData\Roaming\Microsoft\Windows\Recent" -Filter *.lnk | Select-Object Name, LastWriteTime

Esto mostrará los nombres de los accesos directos y la fecha de su última modificación.

  • Windows Registry: es un recurso clave en investigaciones forenses, ya que almacena configuraciones críticas tanto del sistema operativo como de las aplicaciones instaladas. Este almacén jerárquico de datos contiene información sobre:

    • Programas que se inician automáticamente: Crucial para identificar malware o herramientas de persistencia.

    • Dispositivos USB conectados: Permite rastrear exfiltración de datos o conexiones de almacenamiento no autorizadas.

    • Archivos abiertos recientemente: Útil para reconstruir la actividad del usuario. 

Por ejemplo, con PowerShell, se pueden extraer los programas que se inician automáticamente mediante:

Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" | Select-Object *

Y para los dispositivos USB conectados:

Get-ItemProperty -Path "HKLM:\SYSTEM\MountedDevices" | Select-Object *

Esta consulta muestra información sobre dispositivos USB conectados, incluyendo números de serie, permitiendo rastrear dispositivos de almacenamiento utilizados para exfiltración de datos.

Nota: La clave MountedDevices no revela detalles específicos sobre USBs, sino asignaciones de letras de unidades. Para rastrear conexiones de USBs, es mejor utilizar USBSTOR.

Dentro del Registro de Windows, existen artefactos forenses muy valiosos, Shimcache y Amcache. Estos artefactos son útiles para identificar aplicaciones ejecutadas en el sistema:

  • Shimcache: Este artefacto es útil para identificar aplicaciones que se han ejecutado, pero no proporciona la hora exacta de ejecución. Se encuentra en la clave de registro LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache Para extraer los datos relacionados con Shimcache, usa el siguiente comando en PowerShell: 

    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache" | Select-Object -ExpandProperty AppCompatCache

  • Amcache: A diferencia de Shimcache, Amcache proporciona información más detallada, como el hash SHA1 del archivo, fechas de creación, modificación y acceso, lo que lo convierte en un recurso muy valioso para determinar cuándo y cómo se ejecutó un archivo. Amcache se encuentra en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppCompatFlags\Amcache

Para extraer los datos relacionados con Amcache, usa el siguiente comando en PowerShell:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppCompatFlags\Amcache" | Select-Object *

  • ShellBags: permiten reconstruir la navegación del usuario por el sistema de archivos, incluso si las carpetas han sido eliminadas. Almacenan las configuraciones de las carpetas que han sido abiertas y exploradas, permitiendo determinar si el usuario ha accedido a archivos o carpetas sensibles, o si ha intentado ocultar su rastro. Estos datos están almacenados en el registro bajo HKEY_USERS\<SID>\Software\Microsoft\Windows\Shell\BagMRU y HKEY_USERS\<SID>\Software\Microsoft\Windows\Shell\Bags. Con PowerShell, también puedes extraer estas claves. Por ejemplo, para mostrar la información relacionada con las carpetas abiertas por el usuario:

    Get-ItemProperty -Path "HKU:\<SID>\Software\Microsoft\Windows\Shell\BagMRU" | Select-Object *

    Herramientas Recomendadas para Análisis de Registro:

    • Registry Explorer: Una herramienta avanzada de Eric Zimmerman para explorar y analizar el Registro de Windows con capacidades de búsqueda potentes y soporte para múltiples formatos de archivo de Registro.

    • RECmd: También de Eric Zimmerman, útil para realizar búsquedas y extracciones en masa de datos del Registro.

    • RegRipper: Herramienta de análisis de Registro que incluye una colección de plugins específicos para investigaciones forenses, ideal para automatizar la extracción de información relevante.

Mejores prácticas en el análisis forense de Windows

El análisis forense en sistemas Windows requiere la aplicación de mejores prácticas para maximizar la eficacia y precisión de las investigaciones. 

 

Ciclo forense digital

Ciclo forense digital

A continuación, se detallan recomendaciones clave para mejorar el proceso de análisis utilizando artefactos forenses:

  • Obtener una imagen forense del sistema, precisa, verificable y reproducible, para poder trabajar sobre ella sin que el sistema original se vea afectado. Este es el paso más importante, ya que la realización incorrecta puede invalidar o hacer inadmisible toda la información recogida en el trabajo forense posterior. El mejor método para crear imágenes es mediante bloqueadores físicos de escritura.

  • Establecer una línea de tiempo detallada de eventos que combine información de diferentes artefactos. Esto ayudará a los analistas a entender la secuencia de actividades que ocurrieron en el sistema. Con herramientas como Plaso (Log2Timeline) y Timeline Explorer pueden combinar múltiples fuentes de datos (Event Logs, Prefetch, registros, etc.) para construir una línea de tiempo coherente que permita identificar correlaciones y patrones sospechosos.

  • Priorizar el análisis basado en contexto del incidente, ya que no todos los artefactos tendrán la misma relevancia en cada caso.

    • Identificar artefactos de alta prioridad: en una intrusión basada en red, los registros de eventos y las configuraciones de red del registro pueden ser más críticos.

    • Correlacionar datos entre artefactos: utilizar múltiples fuentes para validar hallazgos.

  • Automatizar tareas repetitivas para acelerar el proceso de análisis, reducir errores humanos y asegurar una cobertura más completa, utilizando herramientas que permitan recolectar y analizar automáticamente datos forenses importantes, proporcionando informes preprocesados y simplificando la revisión manual.

  • Verificar la integridad de la evidencia continuamente a lo largo del análisis, garantizando que los resultados sean confiables y puedan ser presentados en un contexto legal si se diera el caso. 

    • Recalcular y verificar hashes antes y después del análisis de cada artefacto. Esto no solo asegura que la evidencia no ha sido alterada, sino que también establece un registro claro de la cadena de custodia.

    • Registrar toda actividad en un log de análisis de cada paso tomado, comandos utilizados, y herramientas aplicadas, es crucial, tanto para la obtención de resultados consistentes, como para su validez en procedimientos legales.

  • Revisar y validar resultados con múltiples herramientas es esencial revisar los resultados utilizando y combinando varias herramientas para evitar falsos positivos o negativos y confirmar los resultados del análisis y proporcionar una visión más completa.

  • Mantenerse actualizado con nuevas técnicas y herramientas en el campo del análisis forense digital.

  • Colaborar con otras áreas de seguridad,  como equipos de respuesta a incidentes, inteligencia de amenazas o administradores de sistemas, puede proporcionar una visión más completa de un incidente. Por ejemplo, integrar datos de inteligencia de amenazas permite anticipar posibles vectores de ataque, mientras que la coordinación con los equipos de respuesta a incidentes facilita la contención y mitigación rápida. Además, trabajar estrechamente con el equipo de administración de sistemas asegura que los cambios necesarios en la infraestructura se implementen de manera efectiva y segura, reduciendo el riesgo de futuros incidentes y optimizando las acciones de protección.

Conclusión

La recolección y análisis de artefactos forenses es un proceso crítico para investigar incidentes de ciberseguridad, ya que proporciona una visión detallada de las actividades que ocurren dentro de un sistema, muchas de las cuales no son visibles a simple vista. 

El análisis de Prefetch es una técnica forense esencial para rastrear la ejecución de aplicaciones en Windows. En versiones modernas como Windows 10 y Windows 11, la integración con SysMain ha mejorado su capacidad de análisis y optimización. Comprender su funcionamiento y utilizar las herramientas adecuadas permite a los investigadores forenses obtener información clave sobre la actividad del sistema y detectar posibles amenazas de seguridad.

En la mayoría de los casos, los sistemas afectados por incidentes son entornos Windows, que representan una gran parte de la infraestructura empresarial y de ámbito personal. El éxito en el análisis forense en estos sistemas depende en gran medida del conocimiento profundo de sus artefactos clave, que permiten rastrear la ejecución de programas, accesos a archivos y configuraciones críticas del sistema.

La correcta preservación y análisis de los artefactos permiten descubrir actividades maliciosas que podrían pasar desapercibidas, como modificaciones en el registro o ejecuciones no autorizadas, y refuerzan la capacidad de respuesta ante amenazas.