¿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. A
diferencia de FileId, que hashea contenido de archivo,
ProgramId hashea metadatos de la aplicación — nombre,
publisher, versión e idioma.
Un valor típico:
0006fa0b2a9f8a4eb9d7c81e8b1f3c5d3e2a0000ffff
Dos propiedades hacen valioso a ProgramId en DFIR:
- Estable a través de hosts. El mismo build de Office 365 en
dos estaciones de trabajo diferentes obtiene el mismo
ProgramId. - Une registros de archivo con registros de aplicación. Un
archivo en
Root\InventoryApplicationFiley la aplicación padre enRoot\InventoryApplicationcomparten el valor.
Cómo se diferencia de FileId#
| FileId | ProgramId | |
|---|---|---|
| Longitud | 41 caracteres ("0000" + SHA-1) |
44 caracteres |
| Hashea | Primeros 31 MiB de bytes del archivo | Metadatos de la aplicación |
| Único por binario | Sí | No — los hermanos lo comparten |
| Único por host | No | No — estable inter-host |
| Uso de pivote | Binario exacto inter-host | Familia de aplicación inter-host |
Cuándo gana ProgramId#
- Herramientas recompiladas con la misma identidad. El
atacante recompila su loader entre hosts —
Hashdifiere,ProgramIdse mantiene igual. - Binarios renombrados.
mimikatz.exe→svchost64.exe→update.exe. Si el atacante no limpió el recurso version-info del PE,ProgramIdsigue al binario a través de los renombrados. - Acotación inter-host. Un solo
ProgramIdsospechoso en un host se convierte en una consulta contra cada otro Amcache de host recolectado. Ver Movimiento lateral y pivote ProgramId de Amcache.
Cuándo ProgramId es el pivote equivocado#
- Binarios living-off-the-land.
net.exe,psexec.exeycertutil.execompartenProgramIden cada host que los tenga. Pivota en línea de comandos en su lugar. - Implantes por host. Malware verdaderamente por víctima
produce valores únicos de
ProgramIdpor host. Usa patrones de comportamiento (logon 4624, indicadores de red) para esos.
Para la referencia completa de ProgramId, ver
Amcache ProgramId explicado.
Términos relacionados#
- FileId — el identificador de hash de contenido.
- InventoryApplicationFile — donde se almacena ProgramId.
- Amcache.hve — el hive.
Artículos relacionados
- ¿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.
- ¿Qué es Amcache FileId? (glosario)
FileId es el identificador de 41 caracteres que Amcache almacena para cada archivo — '0000' + el SHA-1 hex de los primeros 31 MiB del archivo.