Was ist Amcache ProgramId? (Glossar)
ProgramId ist der 44-stellige Anwendungs-Identitäts-Hash, den
Amcache jeder logischen Anwendung zuweist. Anders als FileId,
das den Datei-Inhalt hasht, hasht ProgramId Anwendungs-Metadaten
— Name, Herausgeber, Version und Sprache.
Ein typischer Wert:
0006fa0b2a9f8a4eb9d7c81e8b1f3c5d3e2a0000ffff
Zwei Eigenschaften machen ProgramId in der DFIR wertvoll:
- Stabil über Hosts hinweg. Derselbe Office-365-Build auf
zwei verschiedenen Workstations erhält dieselbe
ProgramId. - Verknüpft Datei-Datensätze mit Anwendungs-Datensätzen. Eine
Datei in
Root\InventoryApplicationFileund die übergeordnete Anwendung inRoot\InventoryApplicationteilen den Wert.
Wie sie sich von FileId unterscheidet#
| FileId | ProgramId | |
|---|---|---|
| Länge | 41 Zeichen ("0000" + SHA-1) |
44 Zeichen |
| Hasht | Erste 31 MiB der Datei-Bytes | Anwendungs-Metadaten |
| Pro-Binärprogramm eindeutig | Ja | Nein — Geschwister teilen sich |
| Pro-Host eindeutig | Nein | Nein — Cross-Host-stabil |
| Pivot-Nutzen | Exaktes Binärprogramm cross-host | Anwendungs-Familie cross-host |
Wann ProgramId gewinnt#
- Neu kompilierte Tools mit gleicher Identität. Angreifer baut
seinen Loader zwischen Hosts neu —
Hashunterscheidet sich,ProgramIdbleibt gleich. - Umbenannte Binärprogramme.
mimikatz.exe→svchost64.exe→update.exe. Wenn der Angreifer die PE-Versionsinformations- Ressource nicht gescrubbed hat, folgtProgramIddem Binärprogramm durch die Umbenennungen. - Cross-Host-Scoping. Eine einzige verdächtige
ProgramIdauf einem Host wird zur Abfrage gegen die Amcache jedes anderen gesammelten Hosts. Siehe Lateral Movement und Amcache-ProgramId-Pivoting.
Wann ProgramId der falsche Pivot ist#
- Living-off-the-land-Binärprogramme.
net.exe,psexec.exeundcertutil.exeteilen sichProgramIdüber jeden Host, der sie hat. Pivotieren Sie stattdessen über die Kommandozeile. - Per-Host-Implants. Wirklich opferspezifische Malware
produziert pro Host eindeutige
ProgramId-Werte. Verwenden Sie für diese Verhaltensmuster (4624-Logon, Netzwerk-Indikatoren).
Für die vollständige ProgramId-Referenz siehe
Amcache ProgramId erklärt.
Verwandte Begriffe#
- FileId — der Inhalts-Hash-Identifikator.
- InventoryApplicationFile — wo ProgramId gespeichert ist.
- Amcache.hve — die Hive.
Verwandte Beiträge
- Was ist LinkDate in Amcache? (Glossar)
LinkDate ist der PE-Header-TimeDateStamp, den Amcache aufzeichnet — wann das Binärprogramm kompiliert oder gelinkt wurde, nicht wann es auf dem Host erschien.
- Was ist KeyLastWriteTimestamp in Amcache? (Glossar)
KeyLastWriteTimestamp ist die Last-Write-Zeit eines Amcache-Eintrags auf Registry-Ebene — was am nächsten daran kommt, was Amcache als 'wann der Appraiser diese Datei aufgezeichnet hat' offenlegt.
- Was ist Root\InventoryApplicationFile? (Glossar)
InventoryApplicationFile ist der zentrale Amcache-Registry-Schlüssel — ein Unterschlüssel pro PE-Binärprogramm, das vom Appraiser inventarisiert wurde, mit Pfad, SHA-1, Herausgeber, Link-Datum und Zeitstempeln.
- Was ist Amcache FileId? (Glossar)
FileId ist der 41-stellige Identifikator, den Amcache für jede Datei speichert — '0000' + das SHA-1-Hex der ersten 31 MiB der Datei.