Analisando Prefetch do Windows com Python
Visão Geral
Arquivos Prefetch do Windows (.pf) registram dados de execução de aplicativos, incluindo nomes de executáveis, contagens de execução, carimbos de data/hora, DLLs carregadas e diretórios acessados. Esta skill aborda a análise de arquivos Prefetch usando a biblioteca Python windowsprefetch para reconstruir linhas do tempo de execução, detectar binários renomeados ou disfarçados comparando nomes de executáveis com recursos carregados e identificar programas suspeitos que podem indicar execução de malware ou movimento lateral.
Quando Usar
- Ao investigar incidentes de segurança que exigem a análise de prefetch do Windows com python
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas
Pré-requisitos
- Python 3.9+ com a biblioteca
windowsprefetch(pip install windowsprefetch) - Arquivos Prefetch do Windows de C:\Windows\Prefetch\ (versões 17-30 suportadas)
- Compreensão das convenções de nomenclatura de arquivos Prefetch do Windows (EXECUTÁVEL-HASH.pf)
Passos
Passo 1: Coletar Arquivos Prefetch
Colete os arquivos .pf do diretório C:\Windows\Prefetch\ do sistema alvo.
Passo 2: Analisar o Histórico de Execução
Extraia o nome do executável, a contagem de execuções, os últimos carimbos de data/hora de execução e informações de volume.
Passo 3: Detectar Execução Suspeita
Sinalize ferramentas de ataque conhecidas (mimikatz, psexec, etc.), binários renomeados e padrões de execução incomuns.
Passo 4: Construir Linha do Tempo de Execução
Reconstrua a linha do tempo cronológica de execução a partir de todos os arquivos Prefetch.
Saída Esperada
Relatório JSON com histórico de execução, executáveis suspeitos, indicadores de binários renomeados e reconstrução da linha do tempo.
Exemplo de Saída
$ python3 prefetch_analyzer.py --dir /evidencia/Windows/Prefetch --output /analysis/prefetch_report
Analisador de Prefetch do Windows v2.1
=======================================
Origem: /evidencia/Windows/Prefetch/
Formato Prefetch: Windows 10 (compactado MAM, versão 30)
Arquivos Encontrados: 234
--- Linha do Tempo de Execução (Janela do Incidente: 2024-01-15 a 2024-01-18) ---
Última Execução (UTC) | Contagem | Nome do Arquivo | Hash | Caminho
-----------------------|----------|-------------------------------|---------|------------------------------------------
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
--- Detecção de Binários Renomeados ---
ALERTA: UPDATE_CLIENT.EXE carregou DLLs consistentes com o beacon do Cobalt Strike:
DLLs Referenciadas: wininet.dll, ws2_32.dll, advapi32.dll, dnsapi.dll, netapi32.dll
Volume: \VOLUME{01d94f2a3b5c7d8e-A4E73F21} (C:)
Diretórios referenciados:
C:\ProgramData\Updates\
C:\Windows\System32\
--- Análise de Frequência de Execução ---
Mais Executados (Top 5):
1. SVCHOST.EXE (267 execuções)
2. CHROME.EXE (189 execuções)
3. EXPLORER.EXE (156 execuções)
4. RUNTIMEBROKER.EXE (134 execuções)
5. OUTLOOK.EXE (98 execuções)
Primeiras Execuções (Nunca vistos antes da janela do incidente):
6 executáveis executados pela primeira vez entre 2024-01-15 e 2024-01-18
Resumo:
Total de arquivos prefetch: 234
Executáveis suspeitos: 6
Indicadores de binários renomeados: 1 (update_client.exe)
Ferramentas anti-forense: 2 (sdelete64.exe, wevtutil.exe)
Relatório JSON: /analysis/prefetch_report/prefetch_timeline.json