Файлы prefetch что это
Охотимся на техники и тактики атакующих с использованием Prefetch-файлов
Файлы трассировки, или Prefetch-файлы, появились в Windows еще со времен XP. С тех пор они помогали специалистам по цифровой криминалистике и реагированию на компьютерные инциденты находить следы запуска программ, в том числе вредоносных. Ведущий специалист по компьютерной криминалистике Group-IB Олег Скулкин рассказывает, что можно найти с помощью Prefetch-файлов и как это сделать.
Prefetch-файлы хранятся в каталоге %SystemRoot%\Prefetch и служат для ускорения процесса запуска программ. Если мы посмотрим на любой из этих файлов, то увидим, что его имя состоит из двух частей: имени исполняемого файла и контрольной суммы от пути к нему, состоящей из восьми символов.
Prefetch-файлы содержат массу полезной с криминалистической точки зрения информации: имя исполняемого файла, количество его запусков, списки файлов и каталогов, с которыми взаимодействовал исполняемый файл, и, разумеется, временные метки. Обычно криминалисты используют дату создания того или иного Prefetch-файла для определения даты первого запуска программы. Кроме того, данные файлы хранят дату ее последнего запуска, а начиная с версии 26 (Windows 8.1) — временные метки семи последних запусков.
Давайте возьмем один из Prefetch-файлов, извлечем из него данные средствами PECmd Эрика Циммермана и посмотрим на каждую их часть. Для демонстрации я извлеку данные из файла CCLEANER64.EXE-DE05DBE1.pf.
Итак, начнем сверху. Разумеется, у нас есть временные метки создания, модификации и доступа к файлу:
За ними следуют имя исполняемого файла, контрольная сумма пути к нему, размер исполняемого файла, а также версия Prefetch-файла:
Так как мы имеем дело с Windows 10, далее мы увидим количество запусков, дату и время последнего запуска и еще семь временных меток, указывающих на предыдущие даты запуска:
За ними следует информация о томе, включая его серийный номер и дату создания:
И последнее, но не менее важное — список каталогов и файлов, с которыми взаимодействовал исполняемый файл:
Итак, каталоги и файлы, с которыми взаимодействовал исполняемый файл, — это как раз то, на чем я хочу сегодня сосредоточиться. Именно эти данные позволяют специалистам по цифровой криминалистике, реагированию на компьютерные инциденты или проактивному поиску угроз установить не только факт исполнения того или иного файла, но и, в некоторых случаях, — реконструировать конкретные тактики и техники атакующих. Сегодня злоумышленники достаточно часто используют инструменты для безвозвратного удаления данных, например, SDelete, поэтому способность восстанавливать хотя бы следы использования тех или иных тактик и техник просто необходима любому современному защитнику — компьютерному криминалисту, специалисту по реагированию на инциденты, ThreatНunter-эксперту.
Давайте начнем с тактики Initial Access (TA0001) и самой популярной техники — Spearphishing Attachment (T1193). Некоторые киберпреступные группы относятся к выбору таких вложений довольно творчески. Например, группа Silence использовала для этого файлы в формате CHM (Microsoft Compiled HTML Help). Таким образом, перед нами еще одна техника — Compiled HTML File (T1223). Такие файлы запускаются с помощью hh.exe, следовательно, если мы извлечем данные из его Prefetch-файла, то узнаем, какой именно файл был открыт жертвой:
Продолжим работать с примерами из реальных дел и перейдем к следующей тактике Execution (TA0002) и технике CSMTP (T1191). Microsoft Connection Manager Profile Installer (CMSTP.exe) может использоваться атакующими для запуска вредоносных сценариев. Хороший пример — группа Cobalt. Если мы извлечем данные из Prefetch-файла cmstp.exe, то снова сможем узнать, что именно было запущено:
Еще одна популярная техника — Regsvr32 (T1117). Regsvr32.exe также часто используется атакующими для запуска. Вот и еще один пример от группы Cobalt: если мы извлечем данные из Prefetch-файла regsvr32.exe, то снова увидим, что было запущено:
Следующие тактики — Persistence (TA0003) и Privilege Escalation (TA0004), а также Application Shimming (T1138) в качестве техники. Эта техника использовалась Carbanak/FIN7 для закрепления в системе. Обычно для работы с базами данных с информацией о совместимости программ (.sdb) используется sdbinst.exe. Следовательно, Prefetch-файл данного исполняемого файла может помочь нам узнать имена таких баз данных и их расположение:
Как видно на иллюстрации, мы имеем не только имя файла, использованного для инсталляции, но и имя инсталлированной базы данных.
Давайте взглянем на один из наиболее типичных примеров продвижения по сети (TA0008) — PsExec, использующего административные общие ресурсы (T1077). Служба с именем PSEXECSVC (разумеется, может использоваться и любое другое имя, если атакующие использовали параметр -r) будет создана на целевой системе, следовательно, если мы извлечем данные из Prefetch-файла, то увидим, что было запущено:
Закончу я, пожалуй, на том, с чего начинал — удаление файлов (T1107). Как я уже отмечал, многие атакующие используют SDelete для безвозвратного удаления файлов на разных стадиях жизненного цикла атаки. Если мы взглянем на данные из Prefetch-файла sdelete.exe, то увидим, что именно было удалено:
Разумеется, это не исчерпывающий список техник, которые можно обнаружить в ходе анализа Prefetch-файлов, но этого должно быть вполне достаточно, чтобы понять, что такие файлы могут помочь не только найти следы запуска, но и реконструировать конкретные тактики и техники атакующих.
Блог молодого админа
Увлекательный блог увлеченного айтишника
Prefetch: что это за папка и можно ли ее удалить?
Продолжая изучать компьютер на предмет различных папок и файлов, вы можете обнаружить много интересного. Зачастую те же папки вызывают неподдельный интерес по той простой причине, что файлы в них порой занимают немало места на жестком диске, в результате чего возникает вопрос, можно ли удалять эти файлы. Сегодня поговорим о папке Prefetch.
Папка Prefetch находится в папке Windows (обычно это C:\Windows\Prefetch). Она используется как один из компонентов для загрузки операционной системы Windows, благодаря которому загрузка ОС ускоряется, а время, затрачиваемое на запуск программ, уменьшается. Сам компонент называется Prefetcher и впервые появился еще на Windows XP.
Как работает Prefetcher? Загрузка операционной системы сопровождается обработкой большого количества файлов. При этом некоторые файлы открываются множество раз для чтения различных сегментов. Этот процесс может занимать много времени, поэтому куда удобнее и продуктивнее обращаться к каждому из файлов только один раз, загружая информацию в оперативную память ещё до того, как она станет нужной. Prefetcher позволяет накапливать эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках за счет того, что наблюдает за тем, какой код и данные загружаются в процессе запуска операционной системы и приложений.
Параметры Prefetcher хранятся в системном реестре. Вы можете изменить параметры Prefetcher.
Нажмите на сочетание клавиш WIN+R. Появится окно «Выполнить», введите в него слово regedit и нажмите ОК. Так вы откроете редактор реестра.
Когда редактор будет открыт, пройдите по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.
Выберите параметр EnablePrefetcher.
Кликните по нему два раза. Появится окно, в котором вы можете установить одно из значений:
Нужно вводить не указанный параметр, а только цифру на его конце, например, 0, 1, 2 или 3.
И будьте внимательны при работе с реестром. Если чего-то не понимаете, не меняйте ничего, поскольку одно неосторожное движение может привести к проблемам в работе операционной системы!
Можно ли удалить папку Prefetch?
Существует легенда, согласно которой в папке Prefetch собираются файлы, которые требуют удаления. Это не так. Файлы временные и система при необходимости самостоятельно их удаляет, поэтому, кстати, размер папки такой небольшой. Так что файлы в указанной папке трогать не стоит.
Если же вы все-таки удалите файлы, то ничего не произойдет, однако скорость загрузки приложений может упасть. При этом файлы будут созданы заново автоматически.
Комментарии к записи “ Prefetch: что это за папка и можно ли ее удалить? ”
Спасибо, что есть подобные разделы в интернете. В паспорте компа ничего дельного нет, а за счет материалов в сети я разгрузил память своего железа почти до девственной, какой она была при покупке.
вот блин, а я где-то прочитал, типа удали и тебе будет хорошо
полностью удалил, скорость добавилась
Спасибо за науку! Доброе дело делаете — людям помогаете. Здоровья вам и удачи по жизни!
Папка Prefetch: какие файлы она хранит и зачем они нужны?
Сложно, не будучи специалистом, уследить за развитием операционной системы Windows. Но существуют элементарные понятия, которые должен понимать каждый пользователь. Знание того, какие папки и за что отвечают в Windows, позволят легче ориентироваться в системе. Примером неизвестных нам файлов является содержимое C:/Windows/Prefetch.
Предназначение папки
Ответим на вопрос: зачем нужна папка Prefetch? Windows при запуске анализирует программы, которыми мы часто пользуемся (открываем самостоятельно или с помощью автозагрузки). Затем система создает сведения об этих программах, которые хранит в специальных временных файлах в папке Prefetch. При последующем включении Windows эти файлы ускоряют загрузку ОС.
За выполнение этой работы отвечает компонент ОС Prefetcher. Если их удалить, никаких изменений не произойдет. При последующем запуске, Windows снова соберет актуальные данные о программах и поместит в папку Prefetch. При этом загрузка ОС может длиться немного дольше, чем обычно.
Управление службой Prefetcher
Управлять работой службы Prefetcher можно в редакторе реестра:
Данный параметр оперирует значениями от 0 до 3, которые означают:
По умолчанию стоит значение 3. Для того, чтобы отключить службу, введите значение 0 и сделайте рестарт ПК.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
PrefetchW
Продолжая изучать компьютер на предмет различных папок и файлов, вы можете обнаруживать много интересного. Зачастую те же папки вызывают неподдельный интерес по той же простой причине, что файлы в них порой занимают немало места на жестком диске, в результате чего возникает вопрос, можно ли удалить эти файлы.
Prefetch находится в папке Windows (обычно это C:\Windows\Prefetch ). Он используется как один из компонентов для загрузки ОС (операционной системы) Windows, благодаря которому загрузка ОС ускоряется, а время затрачиваемое на запуск программ, уменьшается. Папку Prefetch можно обнаружить в Windows XP, Vista, Windows 7, Windows 8. Впервые данная технология была применена в Windows XP, а начиная с Windows Vista была дополнена технологиями SuperFetch и ReadyBoost. Запуск ОС или приложения сопровождается чтением данных из памяти, часто к одному и тому же файлу приходится обращаться несколько раз, что весьма нерационально и занимает много времени. Windows оптимизирует загрузку кода, сохраняя в папке Prefetch файлы трассировки, которые обрабатывает по-своему. Сам компонент называется Prefetcher.
Все-таки что же означает слово Prefetch?
Prefetch (англ.) – упреждающая выборка (из памяти); предварительно выбирать, выбирать (из памяти) с упреждением.
Fetch (англ.) – выборка (например, команды или данных из памяти); выбирать (команду или данные из памяти); выборка (элемент стратегии свопинга, определяющий момент переноса страницы с диска в память, например, выборка с упреждением, используемая в Windows NT, переносит в память не только выбранную страницу, но и несколько последующих).
Содержание
Как работает Prefetcher?
Загрузка операционной системы сопровождается обработкой большого количества файлов. При этом некоторые файлы открываются множество раз для чтения различных сегментов. Этот процесс может занимать много времени, поэтому куда удобнее и продуктивнее обращаться к каждому из файлов только один раз, загружая информацию в оперативную память ещё до того, как она станет нужной. Prefetcher позволяет накапливать эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках за счет того, что наблюдает за тем, какой код и данные загружаются в процессе запуска операционной системы и приложений.
Настройка
Параметры Prefetcher хранятся в системном реестре. Вы можете изменить параметры Prefetcher.
Когда редактор будет открыт, пройдите по следующему пути:
Выберите параметр EnablePrefetcher.
Кликните по нему два раза. Появится окно, в котором вы можете установить одно из значений:
0x00000000 — компонент отключен
0x00000001 — ускорение запуска приложений
0x00000002 — ускорение загрузки системы
0x00000003 — ускорение запуска приложений и загрузки системы
Нужно вводить не указанный параметр, а только цифру на его конце, например, 0, 1, 2 или 3.
Можно ли удалить папку Prefetch?
Существует легенда, согласно которой в папке Prefetch собираются файлы, которые требуют удаления. Это не так. Файлы временные и система при необходимости самостоятельно их удаляет, поэтому, кстати, размер папки такой небольшой. Так что файлы в указанной папке трогать не стоит.
Если же вы все-таки удалите файлы, то ничего не произойдет, однако скорость загрузки приложений может упасть. При этом файлы будут созданы заново автоматически.
PREFETCHW — предвыборка строки кэша процессора из памяти
Выбирает строку кэша данных из памяти, которые содержат байт, определенный с исходным операндом к расположению в 1-м или 2-м уровне кэша, и отменяют все другие кэшированные экземпляры строки.
Характеристика подсказок выборки, зависящая от реализации, может быть перегружена или проигнорирована реализацией процессора. Объем данных является также зависит от реализации процессором. Однако, это будет минимум 32 байтов.
Нужно отметить, что процессоры свободно могут выбирать и кэшировать данные из областей системной памяти, которые разрешают такие доступы (т.е.тип памяти WB). Инструкцию PREFETCHW считают подсказкой к этому спекулятивному поведению. Поскольку эта спекулятивная выборка может произойти в любое время и не привязана к выполнению инструкции, инструкция PREFETCHW не упорядочена относительно инструкций (MFENCE, SFENCE и LFENCE) или заблокированные ссылки памяти. Эта инструкция также не упорядочена относительно инструкции CLFLUSH или любой другой общей инструкции
Она упорядочена относительно серии инструкций, таких как CPUID, WRMSR, и MOV CR.
Папка Prefetch: какие файлы она хранит и зачем они нужны?
Сложно, не будучи специалистом, уследить за развитием операционной системы Windows. Но существуют элементарные понятия, которые должен понимать каждый пользователь. Знание того, какие папки и за что отвечают в Windows, позволят легче ориентироваться в системе. Примером неизвестных нам файлов является содержимое C:/Windows/Prefetch.
Предназначение папки
Ответим на вопрос: зачем нужна папка Prefetch? Windows при запуске анализирует программы, которыми мы часто пользуемся (открываем самостоятельно или с помощью автозагрузки). Затем система создает сведения об этих программах, которые хранит в специальных временных файлах в папке Prefetch. При последующем включении Windows эти файлы ускоряют загрузку ОС.
За выполнение этой работы отвечает компонент ОС Prefetcher. Если их удалить, никаких изменений не произойдет. При последующем запуске, Windows снова соберет актуальные данные о программах и поместит в папку Prefetch. При этом загрузка ОС может длиться немного дольше, чем обычно.
Управление службой Prefetcher
Управлять работой службы Prefetcher можно в редакторе реестра:
Данный параметр оперирует значениями от 0 до 3, которые означают:
По умолчанию стоит значение 3. Для того, чтобы отключить службу, введите значение 0 и сделайте рестарт ПК.
Ответы на вопросы
Если у вас остались вопросы свяжитесь с нами. Опишите вашу проблему в деталях, чтобы мы смогли помочь.