¿Qué es Amcache FileId? (glosario)

FileId es "0000" seguido del SHA-1 de los primeros 31 MiB del archivo. Cuarenta y un caracteres. Vive en Root\InventoryApplicationFile. Uno de los campos individuales más útiles que el Compatibility Appraiser haya escrito jamás, y el que atrapa a analistas nuevos más veces que cualquier otro.

0000da39a3ee5e6b4b0d3255bfef95601890afd80709

Dos trampas#

El prefijo es una trampa#

VirusTotal, feeds de threat intel y tu allowlist interna quieren todos un SHA-1 hex de 40 caracteres. No casarán nada si incluyes "0000". Tampoco te lo van a decir. La respuesta parece idéntica a "nunca hemos visto este archivo". Quita el prefijo.

AmcacheParser lo maneja por ti separando la columna en FileId (con prefijo) y Hash (sin). Usa Hash.

El corte de 31 MiB es una trampa#

El hash cubre solo los primeros 31 MiB del archivo. Para la mayoría de binarios PE es irrelevante porque casi todo es más pequeño. Para instaladores grandes, binarios gordos de juegos y bastante software empresarial, el valor de Amcache no va a coincidir con un SHA-1 del archivo completo. Si VirusTotal no devuelve hits en un instalador de 200 MB, prueba a hashear los primeros 31 MiB y buscar eso, o hashea el archivo completo y busca el resultado. A menudo los dos coexisten en el índice de VT porque ambos se han enviado en algún momento.

Para calcular el mismo valor:

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 gana el sitio#

  • Triage en VirusTotal sobre cada fila sospechosa.
  • Cazas de hash entre hosts para acotar propagación (ve Movimiento lateral y pivote por ProgramId de Amcache).
  • Joins con Sysmon 7 (Image Loaded). Sysmon registra el SHA-1 de cada carga de DLL. Empareja Hash con el Hashes de Sysmon y tienes "qué proceso cargó la DLL del atacante y cuándo".

Para la referencia larga, ve FileId de Amcache explicado.

Términos relacionados#

Artículos relacionados

Volver a todos los artículos