Comparativa de herramientas de parseo de Windows Prefetch
Existen buenas herramientas open source para leer archivos Prefetch. Ninguna es la respuesta correcta para todos los flujos de trabajo. Aquí tienes para qué está optimizada cada una, qué deja fuera, y cuándo cambiar de una a otra.
PECmd (Eric Zimmerman)
PECmd es el estándar de
facto en línea de comandos en DFIR. Escrita en .NET, corre en Windows,
se distribuye tanto como CLI como en forma de librería
(Prefetch.dll). Soporta todas las versiones SCCA desde XP hasta
Windows 11.
Puntos fuertes: cobertura completa de campos, incluidos los flags
de métricas de archivo, las cadenas de trazas y las listas de strings
de directorios por archivo. Salida CSV/JSON, integración limpia con
la suite Triage de Eric (KAPE).
Puntos débiles: solo Windows. El coste de arranque de .NET hace lento el procesamiento archivo por archivo cuando iteras; lo normal es procesar una carpeta entera por lote. La salida CSV es densa — útil para herramientas downstream, menos útil para una revisión de un solo vistazo.
Mejor para: pipelines DFIR con scripts, módulos KAPE, cualquier cosa que produzca un dataset estructurado que otra herramienta vaya a consumir.
WinPrefetchView (NirSoft)
WinPrefetchView
de NirSoft es la GUI clásica de Windows para examinar una carpeta
Prefetch\ local.
Puntos fuertes: curva de aprendizaje nula, respuesta visual inmediata a "qué se ejecutó". Menú contextual de clic derecho para propiedades, guardar entradas seleccionadas, generar informes HTML.
Puntos débiles: solo Windows. Sin salida estructurada más allá de un HTML sencillo o copia separada por tabuladores. Envejecida — la interfaz y el conjunto de funcionalidades no han evolucionado mucho en años. No es ideal para procesamiento por lotes ni para sistemas donde ejecutar utilidades sin firmar está restringido.
Mejor para: triage rápido en una estación de trabajo Windows de
analista cuando ya tienes la carpeta Prefetch\ exportada.
libscca / herramientas scca (libyal)
libscca es la librería C multiplataforma que respalda varios toolchains (Plaso, log2timeline). También publica la documentación pública más completa del formato SCCA.
Puntos fuertes: multiplataforma, bien documentada, código de
calidad de librería. Existen bindings para Python vía pyscca. La CLI
sccainfo incluida te da un volcado de texto limpio por archivo.
Puntos débiles: sin GUI, sin generación de informes por lotes integrada, la salida es legible por humanos en lugar de orientada a máquina por defecto.
Mejor para: construir herramientas, especialmente en hosts de análisis que no sean Windows. Combínala con Plaso para integración en timelines.
Parsers basados en navegador
Los parsers basados en navegador — incluido éste — cargan un decodificador SCCA en Rust puro compilado a WebAssembly y lo ejecutan en un Web Worker. Sin instalación local, sin requisito de Windows, los archivos nunca salen del navegador.
Puntos fuertes: instalación cero, funciona en cualquier SO o dispositivo, sin preocupaciones de cadena de custodia por enviar evidencia a un tercero (porque no se envía en absoluto). Tabla ordenable y buscable, panel de detalle drill-down, exportación a JSON. Útil para triage ad hoc cuando no tienes tu toolchain habitual a mano.
Puntos débiles: depende de la modernidad del crate Rust subyacente para la cobertura de versiones SCCA. Menos personalizable que escribir scripts sobre PECmd o libscca directamente.
Mejor para: triage rápido, compartir hallazgos con compañeros que
no son de DFIR, ejecutar en estaciones de trabajo bloqueadas donde no
se permite instalar herramientas de análisis, o simplemente verificar
un único archivo .pf de principio a fin.
Cuándo usar cuál
Un flujo razonable:
- Primera mirada — suelta la carpeta en el parser de navegador para hacer triage rápidamente e identificar las filas que te interesan.
- Extracción masiva — pasa PECmd sobre la misma carpeta para obtener un feed CSV/JSON hacia el timeline de tu caso.
- Detalle de nivel investigativo — para cualquier
.pfúnico que necesites documentar con rigor, ejecuta tanto PECmd comosccainfoy compara. El formato está lo bastante bien definido como para que dos parsers independientes deban coincidir; las discrepancias merecen atención.
Ninguna herramienta es por sí sola una respuesta completa, pero la combinación de un parser de navegador para triage y PECmd o libscca para salida archivable cubre casi cualquier pregunta sobre Prefetch que surja en la práctica.