Pular para o conteúdo
Skillpedia
Análise e planilhas35 mil · #5484

analyzing-prefetch-files-for-execution-history

Faz seu agente verificar quais programas foram executados em um computador Windows. Ele mostra quando os programas rodaram e quais arquivos eles usaram.

O que ela faz

Esta ferramenta analisa arquivos especiais do Windows chamados 'Prefetch' para descobrir quais programas foram executados em um computador e quando. Ela ajuda a entender o histórico de uso do computador.

Quando usar

  • ✓Para saber quais programas foram abertos em um computador.
  • ✓Para verificar se um programa suspeito foi executado.
  • ✓Para criar uma linha do tempo de quando os programas foram usados.

Exemplo do que pedir para a IA

“Quais programas foram executados neste computador e quando?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-prefetch-files-for-execution-history/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-prefetch-files-for-execution-history/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta lê os arquivos Prefetch, que são criados pelo Windows para acelerar o carregamento de programas. Esses arquivos contêm informações sobre quantas vezes um programa foi executado e quando.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-prefetch-files-for-execution-history

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-prefetch-files-for-execution-history/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Analisando Arquivos Prefetch para Histórico de Execução

Quando Usar

  • Ao determinar quais programas foram executados em um sistema Windows e quando
  • Durante investigações de malware para confirmar a execução de binários suspeitos
  • Para estabelecer uma linha do tempo de uso de aplicativos durante um incidente
  • Ao correlacionar a execução de programas com outros artefatos forenses
  • Para identificar ferramentas anti-forenses ou software não autorizado que foi executado

Pré-requisitos

  • Acesso ao diretório Prefetch do Windows (C:\Windows\Prefetch) a partir da imagem forense
  • PECmd (Eric Zimmerman), WinPrefetchView ou parser python-prefetch
  • Compreensão do formato de arquivo Prefetch (versões 17, 23, 26, 30)
  • Sistema Windows com Prefetch ativado (padrão em sistemas operacionais cliente, desativado em servidores)
  • Conhecimento das convenções de nomenclatura do Prefetch (APPNAME-HASH.pf)

Fluxo de Trabalho

Passo 1: Extrair Arquivos Prefetch da Imagem Forense

# Mount the forensic image
mount -o ro,loop,offset=$((2048*512)) /cases/case-2024-001/images/evidence.dd /mnt/evidence

# Copy all prefetch files
mkdir -p /cases/case-2024-001/prefetch/
cp /mnt/evidence/Windows/Prefetch/*.pf /cases/case-2024-001/prefetch/

# Count and list prefetch files
ls -la /cases/case-2024-001/prefetch/ | wc -l
ls -la /cases/case-2024-001/prefetch/ | head -30

# Hash all prefetch files for integrity
sha256sum /cases/case-2024-001/prefetch/*.pf > /cases/case-2024-001/prefetch/pf_hashes.txt

# Note: Prefetch filename format is EXECUTABLE_NAME-XXXXXXXX.pf
# The hash (XXXXXXXX) is based on the executable path
# Same executable from different paths creates different prefetch files

Passo 2: Analisar Arquivos Prefetch com PECmd

# Using Eric Zimmerman's PECmd (Windows or via Mono/Wine on Linux)
# Download from https://ericzimmerman.github.io/

# Parse a single prefetch file
PECmd.exe -f "C:\cases\prefetch\POWERSHELL.EXE-A]B2C3D4.pf"

# Parse all prefetch files and output to CSV
PECmd.exe -d "C:\cases\prefetch\" --csv "C:\cases\analysis\" --csvf prefetch_results.csv

# Parse with JSON output
PECmd.exe -d "C:\cases\prefetch\" --json "C:\cases\analysis\" --jsonf prefetch_results.json

# Output includes for each file:
# - Executable name and path
# - Run count
# - Last run time (up to 8 timestamps in Windows 10)
# - Files and directories referenced during execution
# - Volume information (serial number, creation date)
# - Prefetch file creation time

Passo 3: Analisar com Python para Análise Baseada em Linux

pip install prefetch

python3 << 'PYEOF'
import os
import json
from datetime import datetime

# Analisar arquivos prefetch usando python
import struct

def parse_prefetch(filepath):
    """Analisa um arquivo Prefetch do Windows."""
    with open(filepath, 'rb') as f:
        data = f.read()

    # Verificar formato compactado MAM (Windows 10)
    if data[:4] == b'MAM\x04':
        import lznt1  # ou use DecompressBuffer
        # Arquivos prefetch do Windows 10 são compactados
        print(f"  [Formato Win10 compactado - use PECmd para análise completa]")
        return None

    # Versão 17 (XP), 23 (Vista/7), 26 (8.1), 30 (10)
    version = struct.unpack('<I', data[0:4])[0]
    signature = data[4:8]

    if signature != b'SCCA':
        print(f"  Assinatura prefetch inválida")
        return None

    file_size = struct.unpack('<I', data[8:12])[0]
    exec_name = data[16:76].decode('utf-16-le').strip('\x00')
    run_count = struct.unpack('<I', data[208:212])[0] if version >= 23 else struct.unpack('<I', data[144:148])[0]

    result = {
        'version': version,
        'executable': exec_name,
        'file_size': file_size,
        'run_count': run_count,
    }

    # Extrair os últimos carimbos de data/hora de execução
    if version == 23:  # Vista/7 - 1 carimbo de data/hora
        ts = struct.unpack('<Q', data[128:136])[0]
        result['last_run'] = filetime_to_datetime(ts)
    elif version >= 26:  # Win8+ - até 8 carimbos de data/hora
        timestamps = []
        for i in range(8):
            ts = struct.unpack('<Q', data[128+i*8:136+i*8])[0]
            if ts > 0:
                timestamps.append(filetime_to_datetime(ts))
        result['last_run_times'] = timestamps

    return result

def filetime_to_datetime(ft):
    """Converte Windows FILETIME para string datetime."""
    if ft == 0:
        return None
    timestamp = (ft - 116444736000000000) / 10000000
    try:
        return datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S UTC')
    except (OSError, ValueError):
        return None

# Processar todos os arquivos prefetch

…
Perguntas frequentes

O que são arquivos Prefetch?

São arquivos que o Windows cria para registrar quais programas foram executados e com que frequência, ajudando a iniciar programas mais rapidamente.

Preciso de algum programa especial para usar isso?

Sim, você precisará de ferramentas como PECmd, WinPrefetchView ou um script Python específico para ler esses arquivos.

Onde encontro esses arquivos Prefetch?

Eles geralmente estão localizados na pasta C:\Windows\Prefetch\ em um sistema Windows.

Detalhes

Descrição original do autor

Parse Windows Prefetch files (versions 17, 23, 26, 30) with tools like PECmd, WinPrefetchView, or python-prefetch to determine program execution history, including run counts, execution timestamps, and referenced files/DLLs. Use when building a timeline of program execution on a Windows system, confirming whether a suspicious binary ran, or correlating execution evidence with other forensic artifa

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5484
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas