Was ist der Unterschied zwischen Amcache und AppCompatCache?

AppCompatCache (üblicherweise ShimCache genannt) und Amcache sind verschiedene Windows-Artefakte, die beide PE-Binärprogramme auf einem Host aufzeichnen. Sie werden ständig verwechselt, weil beide in der Application-Compatibility-Infrastruktur leben — aber es sind verschiedene Mechanismen mit unterschiedlichen Grenzen und sehr unterschiedlichem forensischen Wert.

Die wichtigsten Unterschiede:

ShimCache ist kürzer, dünner, kernelseitig gepflegt und vom Loader aktualisiert. Amcache ist länger, reicher, im User-Mode gepflegt und von einem geplanten Task aktualisiert.

Direkter Vergleich#

Eigenschaft AppCompatCache (ShimCache) Amcache
Speicherung SYSTEM-Hive, einzelner binärer Wert Eigenständige Amcache.hve
Registry-Pfad HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache C:\Windows\AppCompat\Programs\Amcache.hve
Pfleger Kernel-Loader Geplanter Task im User-Mode (Appraiser)
Max. Einträge 1024 (LRU-Verdrängung) Praktisch unbegrenzt
Hash aufgezeichnet? Nein Ja (SHA-1 der ersten 31 MiB)
Herausgeber / Version aufgezeichnet? Nein Ja
ProgramId aufgezeichnet? Nein Ja
Treiber-/Gerätedaten aufgezeichnet? Nein Ja (separate Schlüssel)
Persistenz auf Disk Beim Herunterfahren Kontinuierlich (mit Transaktionsprotokollen)
Frisch auf Live-System verfügbar? Nein (Herunterfahren oder Speicher nötig) Ja
Verfügbar vor Windows 10 1709? Ja (seit Windows XP) Teilweise (nur Legacy-Schema)
Standardmäßig auf Server aktiviert? Ja Ja (aber langsamerer Takt)

Für vollständige Abdeckung siehe Amcache vs ShimCache.

Wann ShimCache gewinnt#

  • „Hat der Loader dieses Binärprogramm berührt?" ShimCache zeichnet Loader-Berührungen auf; Amcache zeichnet vom Appraiser inventarisierte Präsenz auf. Das sind unterschiedliche Signale.
  • Nur-Speicher-Akquisen. Das shimcachemem-Plugin von Volatility extrahiert ShimCache sauber aus dem RAM.
  • Pre-Windows-10-Hosts. ShimCache gibt es seit Windows XP.
  • Gehärtete Hosts mit deaktiviertem Appraiser. ShimCache wird vom Kernel gepflegt; es bleibt erhalten, auch wenn der Appraiser aus ist.

Wann Amcache gewinnt#

  • Hash-Pivots. ShimCache hat keinen Hash; Amcache hat SHA-1.
  • Cross-Host-Suchen. ShimCache hat keine ProgramId und keinen Hash — Cross-Host-Pivots unmöglich. Amcache hat beides.
  • Treiber-/Geräte-Beweise. ShimCache deckt nur User-Mode-PE ab. Amcache hat dedizierte Treiber- und Geräte-Schemata.
  • Triage auf einem Live-System. Amcache ist auf der Disk aktuell; ShimCache ist bis zum Neustart veraltet.

Wann Sie beide verwenden sollten#

Immer. Die beiden Artefakte erhärten sich gegenseitig:

  • Ein Binärprogramm in beiden → Loader hat es berührt UND der Appraiser hat es aufgezeichnet. Starker „das war präsent und in Gebrauch"-Befund.
  • Ein Binärprogramm nur in ShimCache → Loader hat es berührt, aber der Appraiser hat es noch nicht inventarisiert, ODER die Datei lag in einem Pfad, den der Appraiser nicht scannt, ODER der Appraiser ist deaktiviert.
  • Ein Binärprogramm nur in Amcache → präsent und inventarisiert, aber der Loader hat es nicht berührt (im aktuellen 1024-Fenster von ShimCache), ODER ShimCache wurde gewischt oder rotiert.

Beide auf einem Host abwesend, auf dem Sie ein Binärprogramm erwarten würden = das stärkste „das ist nie passiert"-Signal, das Sie aus diesen beiden Artefakten bekommen. Für Ausführungsbeweis paaren Sie es mit Prefetch.

Verwandt#

Verwandte Beiträge

  • Amcache vs ShimCache: wann welches Artefakt gewinnt

    ShimCache und Amcache zeichnen beide Binärprogramme auf, die einen Windows-Host berührt haben. Es sind unterschiedliche Mechanismen mit unterschiedlichen Grenzen — hier ist, wann man was verwendet und was ihre Überschneidung tatsächlich beweist.

  • Warum ist meine Amcache.hve leer?

    Drei häufige Ursachen: Der Compatibility Appraiser ist deaktiviert, der Host wurde frisch installiert oder Sie sammeln von einem Server / Server Core, auf dem der Appraiser viel seltener läuft.

  • Wo ist der Amcache-Registry-Schlüssel?

    Amcache ist eine eigene Hive-Datei unter C:\Windows\AppCompat\Programs\Amcache.hve — kein Schlüssel unter HKLM. Beim Laden durch Tools oder durch Windows selbst wird sie als HKLM\Amcache eingehängt.

  • Was enthält Amcache.hve?

    Amcache.hve enthält Inventar-Datensätze für jedes PE-Binärprogramm, jeden Treiber und jedes verbundene Gerät, das der Windows Compatibility Appraiser gesehen hat — mit SHA-1-Hashes, Pfaden, Herausgebern und Zeitstempeln.

Zurück zu allen Beiträgen