Communitygithub.com

Análise de Artefatos Amcache do Windows

Analisa o hive do registro Windows Amcache.hve usando as ferramentas de Eric Zimmerman.

O que é Análise de Artefatos Amcache do Windows?

Esta skill capacita o agente a realizar uma análise forense completa do hive de registro Amcache.hve do Windows, utilizando o AmcacheParser de Eric Zimmerman. Ela é essencial para investigações de resposta a incidentes, permitindo determinar quais programas existiram ou foram executados em um sistema, correlacionar hashes SHA-1 com bancos de dados de malware conhecidos (como VirusTotal e CIRCL) e construir uma linha do tempo de instalação e execução de aplicativos. A skill suporta a análise em imagens forenses ou cópias de triagem ao vivo, e seu workflow cobre desde a aquisição do hive e seus logs de transação até a análise de entradas de arquivos, programas e drivers. Ela não substitui outras evidências de execução (como ShimCache e Prefetch), mas as complementa para uma conclusão forense robusta. A saída da análise é em CSV, que pode ser visualizada com o Timeline Explorer de Zimmerman, e inclui filtros para detectar binários não assinados, caminhos suspeitos, discrepâncias de timestamp e drivers de terceiros não oficiais indicativos de rootkits ou ataques BYOVD.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-amcache-artifacts

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Analisando Artefatos Amcache do Windows

Quando Usar

  • Determinar quais programas existiram ou foram executados em um sistema Windows durante a resposta a incidentes
  • Correlacionar hashes SHA-1 do Amcache com bancos de dados de malware conhecidos (VirusTotal, CIRCL, MISP)
  • Construir uma linha do tempo de instalação e execução de aplicativos para investigações forenses
  • Identificar executáveis excluídos que deixam vestígios no Amcache mesmo após a remoção do arquivo
  • Investigar ameaças internas documentando quais aplicativos portáteis ou não autorizados estavam presentes
  • Analisar o histórico de carregamento de drivers para detectar rootkits ou módulos de kernel maliciosos

Não use como prova única de execução de programa. O Amcache comprova a existência do arquivo e o registro de metadados, mas o ShimCache (AppCompatCache) e o Prefetch fornecem evidências de execução mais fortes. Use todos os três artefatos juntos para uma análise conclusiva.

Pré-requisitos

  • Uma imagem forense ou cópia de triagem ao vivo de C:\Windows\appcompat\Programs\Amcache.hve (e os logs de transação associados .LOG1, .LOG2)
  • AmcacheParser de Eric Zimmerman (AmcacheParser.exe) baixado de https://ericzimmerman.github.io/
  • Timeline Explorer de Eric Zimmerman para visualizar a saída CSV analisada
  • Opcionalmente: Registry Explorer para inspeção manual do hive
  • Uma lista de permissões SHA-1 de executáveis conhecidos como seguros (ex.: conjunto de hashes NSRL) para filtragem
  • Runtime .NET 6+ instalado (exigido pelas ferramentas EZ atuais)
  • Acesso de gravação a um diretório de saída para resultados CSV

Fluxo de Trabalho

Passo 1: Adquirir o Arquivo Amcache.hve

Extraia o hive Amcache de uma imagem forense ou sistema ao vivo:

# De um sistema ao vivo (requer privilégios elevados e ferramenta de cópia bruta)
# Amcache.hve está bloqueado pelo sistema; use uma ferramenta de cópia de disco bruto
# Opção A: FTK Imager - monte a imagem e navegue para:
# C:\Windows\appcompat\Programs\Amcache.hve
# Colete também: Amcache.hve.LOG1, Amcache.hve.LOG2

# Opção B: Usando KAPE para coleta automatizada de triagem
kape.exe --tsource C: --tdest D:\Evidence\%m --target Amcache

# Opção C: De uma imagem forense montada (E: = imagem montada)
copy "E:\Windows\appcompat\Programs\Amcache.hve" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG1" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG2" D:\Evidence\

Sempre colete os arquivos de log de transação (.LOG1, .LOG2) junto com o hive. O AmcacheParser reproduz transações não confirmadas desses logs para recuperar os dados mais completos.

Passo 2: Analisar o Amcache com AmcacheParser

Execute o AmcacheParser contra o hive adquirido:

# Análise básica com saída CSV
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output"

# Análise com uma lista de permissões SHA-1 para excluir entradas conhecidas como seguras (NSRL)
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -w "D:\Whitelists\nsrl_sha1.txt" --csv "D:\Evidence\Output"

# Análise com uma lista de inclusão SHA-1 (mostra apenas correspondências com hashes conhecidos como ruins)
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -b "D:\IOCs\malware_sha1.txt" --csv "D:\Evidence\Output"

# Incluir entradas excluídas com carimbos de data/hora de alta precisão
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output" -i --mp

O AmcacheParser produz vários arquivos CSV no diretório de saída:

Arquivo de SaídaConteúdo
Amcache_AssociatedFileEntries.csvEntradas de arquivo com hashes SHA-1, caminhos, tamanhos e carimbos de data/hora
Amcache_UnassociatedFileEntries.csvEntradas de arquivo órfãs de formato Amcache mais antigo
Amcache_ProgramEntries.csvMetadados de programas instalados (nome, editor, versão, data de instalação)
Amcache_DeviceContainers.csvHistórico de conexão de USB e dispositivos
Amcache_DevicePnps.csvInformações de drivers de dispositivos Plug-and-Play
Amcache_DriverBinaries.csvBinários de drivers carregados com caminhos e hashes

Passo 3: Analisar Entradas de Arquivo para Programas Suspeitos

Abra o AssociatedFileEntries.csv no Timeline Explorer e examine as colunas principais:

Colunas principais a serem revisadas:
- ProgramId          : Vincula o arquivo à sua entrada de programa pai
- SHA1               : Hash para consultas de inteligência de ameaças
- FullPath           : Localização original do arquivo no disco
- FileSize           : Tamanho do executável
- FileKeyLastWriteTimestamp : Quando a entrada Amcache foi atualizada pela última vez
- Name               : Nome do arquivo
- Publisher           : Editor da assinatura de código (em branco = não assinado)
- BinProductVersion  : String de versão do cabeçalho PE
- LinkDate           : Carimbo de data/hora de compilação do PE (útil para detectar timestomping)

Filtre por indicadores suspeitos:

# No Timeline Explorer, aplique estes filtros:

# 1. Encontrar executáveis não assinados (potencialmente maliciosos)
Coluna Publisher = (vazio)

# 2. Encontrar executáveis de caminhos suspeitos
FullPath contém: \temp\, \appdata\, \downloads\, \public\, \programdata\

# 3. Encontrar executáveis com carimbos de data/hora recentes durante a janela de incidente
FileKeyLastWriteTimestamp entre: 2026-03-15 00:00:00 e 2026-03-16 00:00:00

# 4. Encontrar executáveis com datas de compilação suspeitas (timestomping)
LinkDate ano < 2015 AND FileKeyLastWriteTimestamp ano = 2026

Passo 4: Correlacionar Hashes SHA-1 com Inteligência de Ameaças

Extraia hashes SHA-1 e verifique contra bancos de dados de malware:

# Extrair hashes SHA-1 únicos da saída analisada
# Usando PowerShell para extrair a coluna SHA1
Import-Csv "D:\Evidence\Output\Amcache_AssociatedFileEntries.csv" |
  Select-Object -ExpandProperty SHA1 -Unique |
  Where-Object { $_ -ne "" } |
  Out-File "D:\Evidence\Output\extracted_hashes.txt"

# Verificar hashes contra VirusTotal usando vt-cli
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    vt file $hash --format json | Select-Object -Property meaningful_name, last_analysis_stats
}

# Verificar hashes contra CIRCL hashlookup
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    Invoke-RestMethod -Uri "https://hashlookup.circl.lu/lookup/sha1/$hash"
}

# Cruzar referência com NSRL para identificar conhecido-bom vs. desconhecido
# Hashes desconhecidos que não estão no NSRL merecem investigação mais aprofundada

Passo 5: Analisar Entradas de Programa para Instalações Não Autorizadas

Revise o ProgramEntries.csv para software que o atacante possa ter instalado:

Colunas principais em ProgramEntries:
- ProgramName        : Nome de exibição do aplicativo instalado
- ProgramVersion     : String de versão
- Publisher          : Editor do software
- InstallDate        : Quando o programa foi instalado
- Source             : Fonte de instalação (msi, exe, etc.)
- UninstallKey       : Caminho de desinstalação do registro
- PathsList         : Diretórios de instalação

Procure por:

  • Ferramentas de acesso remoto (AnyDesk, TeamViewer, ngrok, Chisel)
  • Ferramentas de hacking (Mimikatz, PsExec, Cobalt Strike)
  • Utilitários de tunelamento (plink, socat, WireGuard)
  • Programas instalados durante a janela de incidente
  • Programas instalados em locais não padrão

Passo 6: Analisar Binários de Driver para Evidências de Rootkit

Revise o DriverBinaries.csv para drivers carregados suspeitos:

Colunas principais em DriverBinaries:
- DriverName         : Nome do driver
- DriverInBox        : Se veio com o Windows (falso = terceiros)
- DriverSigned       : Se o driver tem uma assinatura válida
- DriverTimeStamp    : Carimbo de data/hora de compilação
- Product            : Produto associado ao driver
- ProductVersion     : Versão do driver
- SHA1               : Hash do binário do driver

Filtre por DriverInBox = false e DriverSigned = false para encontrar drivers de terceiros não assinados que podem ser rootkits ou drivers vulneráveis usados em ataques BYOVD (Bring Your Own Vulnerable Driver).

Passo 7: Construir uma Linha do Tempo a partir dos Dados Amcache

Combine os dados Amcache com outros artefatos para uma linha do tempo abrangente:

# Mesclar CSV Amcache com saída de outras ferramentas EZ usando Timeline Explorer
# Carregue os seguintes CSVs no Timeline Explorer:
# - Amcache_AssociatedFileEntries.csv (evidência de arquivo)
# - Amcache_ProgramEntries.csv (evidência de instalação)
# - Saída do Prefetch do PECmd.exe (evidência de execução)
# - Saída do ShimCache do AppCompatCacheParser.exe (evidência de execução)

# Classificar todas as entradas por carimbo de data/hora para reconstruir a sequência do ataque
# Timeline Explorer suporta carregamento de múltiplos arquivos e classificação por coluna

# Exportar a linha do tempo combinada
# File > Save to CSV > combined_timeline.csv

Conceitos Principais

TermoDefinição
Amcache.hveUm hive de registro do Windows em C:\Windows\appcompat\Programs\Amcache.hve que armazena metadados sobre aplicativos, arquivos e drivers para fins de compatibilidade de aplicativos
Entrada de Arquivo AssociadaUm registro Amcache vinculado a uma instalação de programa específica, contendo caminho do arquivo, tamanho, hash e carimbos de data/hora
Entrada de Arquivo Não AssociadaUm registro Amcache órfão de um formato mais antigo que não está vinculado a uma entrada de programa; comum em sistemas Windows 7/8
Entrada de ProgramaRegistro Amcache contendo metadados de instalação: nome do programa, versão, editor, data de instalação e chave de desinstalação
Hash SHA-1Hash criptográfico armazenado no Amcache para cada arquivo registrado, permitindo identificação de malware através de consultas de inteligência de ameaças
LinkDateO carimbo de data/hora de compilação PE embutido no cabeçalho do executável; discrepância com os carimbos de data/hora do sistema de arquivos pode indicar timestomping
Logs de TransaçãoArquivos .LOG1 e .LOG2 contendo transações de registro não confirmadas que o AmcacheParser reproduz para recuperação completa de dados
NSRL (National Software Reference Library)Banco de dados mantido pelo NIST de hashes SHA-1 para software comercial conhecido, usado como lista de permissões para filtrar entradas benignas

Verificação

  • Amcache.hve e logs de transação (LOG1, LOG2) foram coletados da imagem forense
  • AmcacheParser produziu todos os arquivos CSV de saída esperados sem erros
  • Hashes SHA-1 foram extraídos e verificados contra VirusTotal ou CIRCL hashlookup
  • Executáveis não assinados em caminhos suspeitos foram sinalizados para análise posterior
  • Entradas de programa mostram todas as instalações de software dentro da janela de incidente
  • Binários de driver foram verificados para entradas não assinadas ou fora do padrão
  • Comparação de LinkDate vs. FileKeyLastWriteTimestamp foi realizada para detectar timestomping
  • Descobertas Amcache são correlacionadas com Prefetch e ShimCache para confirmação de execução
  • Linha do tempo final integra dados Amcache com outros artefatos forenses

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Habilidades Relacionadas