Was ist Amcache ProgramId? (Glossar)
ProgramId ist die 44-Zeichen-Identität, die Amcache für eine logische Anwendung nutzt. Sie wird aus Metadaten (Name, Herausgeber, Version, Sprache) berechnet, nicht aus dem Binärinhalt. Zwei völlig unterschiedliche Binärdateien mit denselben Identitätsmetadaten erhalten dieselbe ProgramId; dieselbe Binärdatei neu kompiliert mit anderen Metadaten erhält eine andere.
0006fa0b2a9f8a4eb9d7c81e8b1f3c5d3e2a0000ffff
Zwei Dinge machen sie im DFIR nützlich. Sie ist über Hosts hinweg stabil bei derselben Installation, und sie verbindet eine Datei in InventoryApplicationFile mit ihrem Anwendungs-Record in InventoryApplication. Das erste macht sie zu einem Hunt-Primitive. Das zweite macht sie zu einem Untersuchungs-Primitive auf einem einzelnen Host.
ProgramId vs. FileId#
| FileId | ProgramId | |
|---|---|---|
| Länge | 41 Zeichen ("0000" + SHA-1) |
44 Zeichen |
| Was es hasht | Erste 31 MiB der Dateibytes | Anwendungs-Metadaten |
| Identifiziert eine Binärdatei eindeutig? | Ja | Nein, Geschwister teilen ihn |
| Über Hosts hinweg stabil? | Nur bei identischen Bytes | Ja, bei derselben Installation |
| Am besten für | Exakter Binär-Cross-Host | Anwendungsfamilien-Cross-Host |
Wann ProgramId gewinnt#
- Der Angreifer baut seinen Loader zwischen Hosts neu. Andere Bytes, andere
Hash. Gleiche Name-/Herausgeber-/Versionsmetadaten.ProgramIdfolgt. - Der Angreifer benennt
mimikatz.exeinupdate.exeum. Wenn er die Version-Info-Ressource nicht gescrubbt hat, folgtProgramId. - Sie wollen die Verbreitung im Bestand eingrenzen. Eine verdächtige
ProgramIdwird zu einer Abfrage gegen das Amcache-CSV jedes erfassten Hosts. Siehe Lateral Movement und Amcache-ProgramId-Pivoting.
Wann ProgramId der falsche Pivot ist#
- LOLBINs.
net.exe,psexec.exe,certutil.exehaben auf jedem Host dieselbeProgramId. Treffer sind Rauschen. Pivotieren Sie stattdessen über die Kommandozeile via Security 4688. - Per-Host-Implants. Wahrhaft pro-Opfer-Malware erzeugt eine eindeutige
ProgramIdpro Host. Dafür brauchen Sie Verhaltensmuster (Logon-Quelle, Netzwerktelemetrie).
Für die Langform-Referenz siehe Amcache ProgramId erklärt.
Verwandte Begriffe#
Verwandte Beiträge
- Was ist LinkDate in Amcache? (Glossar)
LinkDate ist der PE-TimeDateStamp. Angreiferkontrollierbar. Verwenden Sie ihn für Build-Clustering, nicht für Host-Zeitlinien.
- Was ist KeyLastWriteTimestamp in Amcache? (Glossar)
Die Registry-Schreibzeit des Amcache-Keys. Das Nächste an 'wann der Appraiser das aufgezeichnet hat'. Das Feld, das neue Analysten am häufigsten mit LinkDate verwechseln.
- Was ist Root\InventoryApplicationFile? (Glossar)
Der Hauptschlüssel in Amcache. Ein Unterschlüssel pro PE, das der Appraiser inventarisiert hat, mit Hash, Pfad, Hersteller, Linkdatum und einem Registry-Schreibzeitstempel. Wo 90 % der Analystenzeit verbracht werden.
- Was ist Amcache FileId? (Glossar)
FileId ist '0000' plus der SHA-1 der ersten 31 MiB der Datei. Streifen Sie das Präfix ab, bevor Sie zu VirusTotal gehen, sonst kommt still nichts zurück.