Volver a todos los artículos

Herramientas de parseo de Windows Prefetch comparadas

Hay cuatro parsers que importan en 2026. Ninguno es la respuesta correcta para todos los flujos. Las concesiones son reales, y el modo de fallo de elegir mal —salida silenciosamente errónea en archivos MAM-comprimidos— es lo bastante grave como para pensarlo de antemano.

PECmd (Eric Zimmerman)

PECmd es el estándar de facto en línea de comandos. .NET, corre en Windows (y Linux/macOS vía los runtimes .NET recientes), se distribuye como CLI y como biblioteca Prefetch.dll. Soporta todas las versiones SCCA desde v17 hasta v31 limpiamente.

Fortalezas: cobertura completa de campos, incluidos flags de métricas de archivos, cadenas de traza y listas de cadenas de directorios por archivo. Salida CSV/JSON. Se integra directamente en KAPE, que es donde corre la mayoría de pipelines DFIR de producción. Mantenimiento activo.

Debilidades: el coste de arranque de .NET hace lento el procesamiento por archivo al iterar; procesa una carpeta entera por lote. La salida CSV es densa; útil para tooling aguas abajo, menos útil para revisión rápida a ojo.

Mejor para: pipelines guionizadas, módulos de KAPE, cualquier cosa que produzca un dataset estructurado para otra herramienta.

WinPrefetchView (NirSoft)

El WinPrefetchView de NirSoft es la GUI clásica de Windows para navegar un directorio Prefetch\ local. Lleva más de una década esencialmente sin cambios.

Fortalezas: curva de aprendizaje cero, triage visual instantáneo, menú contextual con clic derecho para propiedades, exportación HTML. Útil para mostrar a un colega que no es de DFIR lo que está mirando.

Debilidades: solo Windows. Sin salida estructurada más allá de HTML sencillo o copiado tabulado. Envejecida; la interfaz y el conjunto de funciones apenas se han movido en años. No ideal para procesado por lotes ni para entornos donde correr utilidades de terceros sin firmar está restringido por política.

Mejor para: triage visual rápido en una estación Windows cuando ya tienes el directorio Prefetch\ extraído.

libscca / pyscca (libyal)

libscca es la biblioteca C multiplataforma que sustenta Plaso/log2timeline. También publica la documentación pública más exhaustiva del formato SCCA; si necesitas conocer el layout exacto de campos para v31, es aquí donde mirar.

Fortalezas: multiplataforma, bien documentada, código de calidad de biblioteca. Bindings Python vía pyscca. El CLI sccainfo incluido da un volcado de texto limpio por archivo. Se usa como parser bajo Plaso, lo que significa que ha sido validada contra un corpus grande de Prefetch real.

Debilidades: sin GUI, sin reporting por lotes integrado. La salida es legible por humanos en lugar de amigable para máquinas por defecto. Compilar en Windows no es siempre agradable; la mayoría la consume vía pyscca o Plaso en vez de directamente.

Mejor para: construir herramientas a medida en hosts de análisis no-Windows. Integración de línea de tiempo vía Plaso.

python-prefetch-parser y compañía

Los varios derivados de prefetchparser.pywindowsprefetch, la herramienta Python original de Adam Witt, varios forks— siguen citándose en textos antiguos. La mayoría están sin mantener. La mayoría no manejan compresión MAM en absoluto, o manejan v26/v30 pero se rompen con v31. Emiten silenciosamente campos erróneos en vez de fallar con error.

Si heredas una pipeline que usa uno de estos, reemplázalo. El coste de encontrar un contador de ejecuciones erróneo en un informe orientado a tribunales supera el de cambiar a PECmd o pyscca.

Parsers en navegador

Los parsers en navegador, incluido el de este sitio, cargan un decodificador SCCA en Rust puro (frnsc-prefetch) compilado a WebAssembly y lo ejecutan en un Web Worker. Sin instalación local, sin requisito de Windows, los archivos no salen del navegador.

Fortalezas: cero instalación, funciona en cualquier SO o dispositivo, sin preocupaciones de cadena de custodia por enviar evidencia a un tercero porque nada se envía. Tablas ordenables y buscables, paneles de detalle desplegables, exportación JSON. Particularmente útil para triage ad hoc cuando no tienes tu tooling habitual a mano, y en hosts endurecidos donde no puedes instalar nada.

Debilidades: depende del crate subyacente para la cobertura de versiones SCCA. Menos personalizable que escriptar contra PECmd o libscca. Sin integración nativa con Plaso, KAPE o lo que sea tu línea de tiempo del caso.

Mejor para: triage rápido, compartir hallazgos con colegas que no son de DFIR, correr en estaciones endurecidas donde no se permite instalar tooling de análisis, o verificar un único .pf de principio a fin contra un segundo parser independiente.

Cuándo usar cuál

Un flujo que funciona en la práctica:

  1. Primer vistazo: suelta la carpeta en un parser de navegador. Triage por número de archivos, distribución de versiones y anomalías obvias. Elige las filas que merece la pena investigar.
  2. Extracción masiva: pasa PECmd sobre la misma carpeta y escribe CSV/JSON a tu línea de tiempo del caso. Este es el artefacto de archivo que referencias en el informe.
  3. Detalle nivel investigación: para cualquier .pf que necesites escribir con rigor, pasa tanto PECmd como sccainfo. Dos parsers independientes deben coincidir en un formato bien definido; las discrepancias merecen atención.

Ninguna herramienta sola cubre todo. La combinación de un parser de navegador para triage más PECmd o libscca para salida de archivo maneja casi cualquier pregunta Prefetch que aparezca en casework real.

Lecturas adicionales