¿Qué es Amcache FileId? (glosario)

FileId es el identificador de contenido de 41 caracteres que Amcache almacena para cada archivo PE inventariado. Es "0000" seguido del SHA-1 hex de los primeros 31 MiB del archivo tal como lo vio el appraiser. El "0000" inicial es una etiqueta de tipo fija; el resto es un SHA-1 genuino.

Un valor típico:

0000da39a3ee5e6b4b0d3255bfef95601890afd80709

Es uno de los campos individualmente más útiles de Amcache — directamente utilizable para búsquedas en VirusTotal, enriquecimiento de feeds TI y pivotes de hash inter-host — pero lleva dos trampas que pillan constantemente a los analistas nuevos.

Trampa 1: no incluyas el prefijo 0000 en búsquedas externas#

VirusTotal, tu feed de TI y tu base de datos de hash-allowlist todos esperan un SHA-1 de 40 caracteres. Incluir el prefijo 0000 devuelve sin coincidencia silenciosamente, lo que parece idéntico a "este hash es desconocido" y produce conclusiones investigativas erróneas.

El CSV de AmcacheParser expone ambas formas:

Columna Valor
FileId La cadena completa "0000" + SHA-1.
Hash Solo los 40 caracteres hex. Usa esto para búsquedas.

Trampa 2: es un hash de prefijo, no un hash de archivo entero#

El SHA-1 cubre solo los primeros 31 MiB del archivo. Para la mayoría de binarios PE esto es irrelevante (casi todo es más pequeño). Para instaladores grandes, binarios de juegos y algún software empresarial, el hash de Amcache no coincidirá con un SHA-1 de archivo entero.

Para recalcular el mismo hash para verificación:

import hashlib
def amcache_sha1(path):
    h = hashlib.sha1()
    with open(path, 'rb') as f:
        h.update(f.read(31 * 1024 * 1024))
    return h.hexdigest()

Dónde se usa#

  • Búsquedas en VirusTotal — pivotar desde una sola fila sospechosa a un veredicto malicioso-o-no.
  • Hunt de hash inter-host — encontrar cada otro host en tu entorno con el mismo binario. Ver Movimiento lateral y pivote ProgramId de Amcache.
  • Correlación con Sysmon — Sysmon Event ID 7 (Image Loaded) registra SHA-1; une Hash de Amcache con Sysmon 7 para saber qué procesos cargaron una DLL dada.

Para la referencia completa de FileId, ver Amcache FileId explicado.

Términos relacionados#

Artículos relacionados

Volver a todos los artículos