¿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
Hashde 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#
- Amcache.hve — el hive que contiene los valores FileId.
- ProgramId — el otro identificador único en InventoryApplicationFile.
- InventoryApplicationFile — la clave del registro donde viven los valores FileId.
Artículos relacionados
- ¿Qué es Amcache ProgramId? (glosario)
ProgramId es el hash de identidad de aplicación de 44 caracteres que Amcache asigna a cada aplicación lógica. El mismo ProgramId en hosts diferentes significa la misma instalación de aplicación.
- ¿Qué es LinkDate en Amcache? (glosario)
LinkDate es el TimeDateStamp de la cabecera PE que registra Amcache — cuándo se compiló o enlazó el binario, no cuándo apareció en el host.
- ¿Qué es KeyLastWriteTimestamp en Amcache? (glosario)
KeyLastWriteTimestamp es el tiempo de última escritura a nivel del registro de una entrada de Amcache — lo más cercano que expone Amcache a 'cuándo el appraiser registró este archivo'.
- ¿Qué es Root\InventoryApplicationFile? (glosario)
InventoryApplicationFile es la clave estrella del registro de Amcache — una subclave por cada binario PE inventariado por el appraiser, con ruta, SHA-1, publisher, fecha de link y marcas de tiempo.