Análisis de Prefetch de Windows con Python
Descripción general
Los archivos Prefetch de Windows (.pf) registran datos de ejecución de aplicaciones, incluidos nombres de ejecutables, conteo de ejecuciones, marcas de tiempo, DLL cargadas y directorios accedidos. Esta habilidad cubre el análisis de archivos Prefetch utilizando la librería Python windowsprefetch para reconstruir líneas de tiempo de ejecución, detectar binarios renombrados o suplantados comparando nombres de ejecutables con recursos cargados, e identificar programas sospechosos que puedan indicar ejecución de malware o movimiento lateral.
Cuándo usar
- Al investigar incidentes de seguridad que requieran analizar prefetch de Windows con Python
- Al construir reglas de detección o consultas de caza de amenazas para este dominio
- Cuando los analistas SOC necesitan procedimientos estructurados para este tipo de análisis
- Al validar la cobertura de monitoreo de seguridad para técnicas de ataque relacionadas
Prerrequisitos
- Python 3.9+ con la librería
windowsprefetch(pip install windowsprefetch) - Archivos Prefetch de Windows desde C:\Windows\Prefetch\ (versiones 17-30 soportadas)
- Comprensión de las convenciones de nomenclatura de archivos Prefetch de Windows (EJECUTABLE-HASH.pf)
Pasos
Paso 1: Recopilar archivos Prefetch
Recolectar los archivos .pf del directorio C:\Windows\Prefetch\ del sistema objetivo.
Paso 2: Analizar el historial de ejecución
Extraer el nombre del ejecutable, conteo de ejecuciones, últimas marcas de tiempo e información de volumen.
Paso 3: Detectar ejecución sospechosa
Señalar herramientas de ataque conocidas (mimikatz, psexec, etc.), binarios renombrados y patrones de ejecución inusuales.
Paso 4: Construir línea de tiempo de ejecución
Reconstruir la línea de tiempo cronológica de ejecución a partir de todos los archivos Prefetch.
Salida esperada
Reporte JSON con historial de ejecución, ejecutables sospechosos, indicadores de binarios renombrados y reconstrucción de línea de tiempo.
Ejemplo de salida
$ python3 prefetch_analyzer.py --dir /evidence/Windows/Prefetch --output /analysis/prefetch_report
Analizador de Prefetch de Windows v2.1
===========================================
Origen: /evidence/Windows/Prefetch/
Formato de Prefetch: Windows 10 (comprimido MAM, versión 30)
Archivos encontrados: 234
--- Línea de tiempo de ejecución (Ventana de incidente: 2024-01-15 a 2024-01-18) ---
Última ejecución (UTC) | Conteo | Nombre de archivo | Hash | Ruta
-------------------------|--------|---------------------------------|----------|------------------------------------------
2024-01-15 14:33:15 | 1 | Q4_REPORT.XLSM-2A1B3C4D.pf | 2A1B3C4D | C:\Users\jsmith\Downloads\Q4_Report.xlsm
2024-01-15 14:35:44 | 1 | POWERSHELL.EXE-A2B3C4D5.pf | A2B3C4D5 | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
2024-01-15 14:36:30 | 3 | UPDATE_CLIENT.EXE-B3C4D5E6.pf | B3C4D5E6 | C:\ProgramData\Updates\update_client.exe
2024-01-15 15:10:22 | 1 | NETSCAN.EXE-C4D5E6F7.pf | C4D5E6F7 | C:\Users\jsmith\Downloads\netscan.exe
2024-01-16 02:28:00 | 1 | PROCDUMP64.EXE-D5E6F7A8.pf | D5E6F7A8 | C:\Windows\Temp\procdump64.exe
2024-01-16 02:30:15 | 2 | MIMIKATZ.EXE-E6F7A8B9.pf | E6F7A8B9 | C:\Windows\Temp\mimikatz.exe
2024-01-16 02:40:00 | 4 | PSEXEC.EXE-F7A8B9C0.pf | F7A8B9C0 | C:\Users\jsmith\AppData\Local\Temp\psexec.exe
2024-01-17 02:45:00 | 1 | SDELETE64.EXE-A8B9C0D1.pf | A8B9C0D1 | C:\Windows\Temp\sdelete64.exe
2024-01-18 03:00:45 | 1 | WEVTUTIL.EXE-B9C0D1E2.pf | B9C0D1E2 | C:\Windows\System32\wevtutil.exe
--- Detección de binarios renombrados ---
ALERTA: UPDATE_CLIENT.EXE cargó DLLs consistentes con un beacon de Cobalt Strike:
DLLs referenciadas: wininet.dll, ws2_32.dll, advapi32.dll, dnsapi.dll, netapi32.dll
Volumen: \VOLUME{01d94f2a3b5c7d8e-A4E73F21} (C:)
Directorios referenciados:
C:\ProgramData\Updates\
C:\Windows\System32\
--- Análisis de frecuencia de ejecución ---
Más ejecutados (Top 5):
1. SVCHOST.EXE (267 ejecuciones)
2. CHROME.EXE (189 ejecuciones)
3. EXPLORER.EXE (156 ejecuciones)
4. RUNTIMEBROKER.EXE (134 ejecuciones)
5. OUTLOOK.EXE (98 ejecuciones)
Primeras ejecuciones (nunca vistas antes de la ventana de incidente):
6 ejecutables ejecutados por primera vez entre 2024-01-15 y 2024-01-18
Resumen:
Total de archivos prefetch: 234
Ejecutables sospechosos: 6
Indicadores de binarios renombrados: 1 (update_client.exe)
Herramientas anti-forenses: 2 (sdelete64.exe, wevtutil.exe)
Reporte JSON: /analysis/prefetch_report/prefetch_timeline.json