Посты о SOC, TI и IR

Артефакт AmCache: помощник в охоте на угрозы

Введение

В контексте цифровой криминалистики артефакт AmCache играет ключевую роль при выявлении вредоносной активности в системах Windows. Он позволяет определить факт запуска как легитимного, так и вредоносного ПО на компьютере. AmCache формирует и ведет операционная система, и на момент написания статьи не существует известных способов вмешаться в его данные или стереть их. Следовательно, в случае реагирования на инцидент именно эти данные могут помочь идентифицировать утраченные артефакты (например, сведения о шифровальщике, который автоматически удаляет себя). В записях AmCache аналитики могут обнаружить признаки действий атакующих — имена файлов, пути к ним и другую важную информацию. Более того, артефакт AmCache хранит хэши SHA-1 выполнявшихся файлов, что позволяет экспертам по цифровой криминалистике и реагированию на инциденты (DFIR) искать совпадения на публичных порталах с аналитическими данными об угрозах, таких как OpenTIP и VirusTotal, а также формировать правила для блокирования конкретного файла в других системах в пределах той же сети.

Эта статья предлагает детальный анализ артефакта AmCache и знакомит читателей с его внутренним устройством. Кроме того, мы разработали новый инструмент под названием AmCache-EvilHunter, с помощью которого любой специалист сможет без лишних усилий пропарсить файл Amcache.hve и извлечь из него индикаторы компрометации. Наш инструмент также позволяет обращаться к упомянутым выше порталам для сверки с данными о детектировании вредоносных файлов. Такой уровень встроенной автоматизации сокращает объем ручной работы и ускоряет выявление угроз, что по достоинству оценят как ИБ-аналитики, так и специалисты по реагированию на инциденты.

Важность информации о запуске ПО

Информация о запуске ПО имеет важное значение в цифровой криминалистике и при реагировании на инциденты, поскольку помогает ИБ-специалистам восстановить ход событий и понять, как использовалась система во время проникновения. Такие артефакты, как Prefetch, ShimCache и UserAssist, дают представление о том, какие программы запускались в системе. Артефакт AmCache также содержит метаданные, позволяющие установить, что бинарный файл находился в системе и выполнялся, даже если он был удален или модифицирован. Преимущество AmCache по сравнению с другими артефактами Windows заключается в том, что в нем хранятся хэш-суммы файлов, что имеет большое значение для криминалистики: зная хэши, можно проверить другие компьютеры в сети на наличие конкретных вредоносных файлов и повысить шансы выявить, предотвратить распространение и нейтрализовать вредоносную активность.

Знакомство с AmCache

Кэш активности приложений (AmCache) впервые появился в ОС Windows 7, а в полной мере заработал в Windows 8 и более поздних версиях. Он пришел на смену устаревшему файлу RecentFileCache.bcf. В отличие от своего предшественника, AmCache содержит ценную криминалистическую информацию о выполнении программ, запускавшихся бинарных файлах и загруженных драйверах.

Артефакт хранится в виде файла куста реестра под названием Amcache.hve в каталоге C:\Windows\AppCompat\Programs. В этом файле сохраняются такие метаданные, как пути к файлам, сведения об издателе, временные метки компиляции, размеры файлов и их хэши SHA-1.

Важно отметить, что формат AmCache зависит не от версии операционной системы, а от версии DLL-библиотек, отвечающих за наполнение этого кэша. По этой причине в структуре файлов AmCache в разных экземплярах Windows могут наблюдаться незначительные отличия, например, если установлены разные комбинации обновлений. Известные библиотеки, отвечающие за формирование этого кэша, хранятся в каталоге %WinDir%\System32 под следующими именами:

  • aecache.dll
  • aeevts.dll
  • aeinv.dll
  • aelupsvc.dll
  • aepdu.dll
  • aepic.dll

Отдельно стоит остановиться на особенностях и ограничениях этого артефакта. В AmCache вычисляется SHA-1-хэш только для первых 31 457 280 байт (≈31 МБ) каждого исполняемого файла, поэтому при сравнении сохраненного хэша с онлайн-базами могут возникать несоответствия для файлов, превышающих этот размер. Кроме того, Amcache.hve не является полноценным логом выполнения: он записывает файлы из каталогов, просканированных задачей Microsoft Compatibility Appraiser; исполняемые файлы и драйверы, которые были скопированы во время выполнения других программ; а также приложения с графическим интерфейсом, которые требовали применения shim для совместимости. Только последняя категория надежно указывает на факт исполнения. Записи, связанные с первыми двумя группами, лишь подтверждают наличие файла в системе — никаких сведений о том, когда он запускался и запускался ли вообще, они не предоставляют.

В той же директории находятся дополнительные файлы LOG, которые используются для обеспечения консистентности и восстановления файла Amcache.hve:

  • C:\Windows\AppCompat\Programs\Amcache.hve.*LOG1
  • C:\Windows\AppCompat\Programs\Amcache.hve.*LOG2

Файл Amcache.hve можно извлечь из системы для проведения криминалистического анализа — в том числе с помощью таких инструментов, как Aralez, Velociraptor или Kape.

Структура файла Amcache.hve

Файл Amcache.hve представляет собой файл куста реестра Windows в формате REGF и содержит множество подразделов, в которых хранятся разные классы данных. Для анализа файла Amcache.hve и перечисления его разделов можно использовать простой парсер на Python:

После выполнения парсер выводит следующий результат: