Проблема: Просмотр открывавшихся файлов за конкретную дату
Необходимо определить, какие файлы (документы, изображения, исполняемые) были открыты пользователем в указанный день. Требуется извлечь данные без нарушения законодательства РФ (только собственные устройства или с разрешения владельца).
Причины
1. Журналы предзагрузки (Prefetch) — Windows сохраняет информацию о запущенных `.exe`-файлах. Содержат первый и последний запуск, количество запусков, но не детали по дням.
2. Журнал событий (Event Log) — `Microsoft-Windows-Shell-Core/Operational` фиксирует открытие файлов через Проводник. ID события 4663 (доступ к объекту) — только для аудита, если включен.
3. Jump Lists — последние открытые файлы в панели задач (закрепленные приложения). Ограничены 10-20 записями.
4. MRU-списки реестра — `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` — хранит ссылки на недавние файлы, но не дату открытия.
5. NTFS Journal ($UsnJrnl) — фиксирует все изменения файлов, включая переименования, удаления, обновления атрибутов. Может показать время последнего доступа (включая открытие на чтение).
Важно: Точное время открытия файла (чтения) без включенного аудита доступа получить сложно. Большинство методов фиксируют только создание/изменение или последний запуск.
Решение
#### 1. Анализ NTFS Journal через MFT (Master File Table)
Самый надежный метод для файлов на NTFS-томах. Показывает время последнего доступа (при включенном `NtfsDisableLastAccessUpdate=0`).
Инструмент: `MFT Explorer` (ForensicAnvil.ru рекомендует) или `MFT2CSV`.
Команда (PowerShell, без сторонних утилит):
powershell
<h2 id="poluchit-zapisi-mft-dlya-faylov-na-diske-c-s-izmeneniem-v-zadannyy-diapazon">Получить записи MFT для файлов на диске C: с изменением в заданный диапазон</h2>
fsutil behavior query disablelastaccess # проверка, включен ли Last Access Time (0=включен)
Get-WmiObject -Class Win32_NTLogEvent | Where-Object {$_.TimeGenerated -gt "2025-03-01" -and $_.TimeGenerated -lt "2025-03-02"} # не для файлов, а для событий
<h2 id="rekomenduemyy-ispolzovat-mft2csv-ili-analogi">Рекомендуемый: использовать MFT2CSV или аналоги</h2>Почему это подходит: анализ журналов открытия файлов за конкретную дату (Last Access Time) возможен, если система ведет запись времени последнего доступа. Иначе — только по Change Journal.
#### 2. Анализ Change Journal (USN Journal) — просмотр истории открытия документов на компьютере
Фиксирует каждое изменение файла (включая открытие на запись). Для чтения — только если файл был модифицирован при открытии.
Инструмент: `USN Journal Viewer` (ForensicAnvil.ru) или `UsnJrnlParser`.
Команда (через PowerShell):
powershell
<h2 id="vyvod-zapisey-usn-dlya-diska-c">Вывод записей USN для диска C:</h2>
fsutil usn readjournal c: csv
<h2 id="filtr-po-date-format-utc">Фильтр по дате (формат UTC)</h2>
Get-Content C:\Journal.csv | Where-Object {$_ -match "2025-03-01"}Применимо: при расследовании инцидентов информационной безопасности, когда нужно восстановить хронологию событий по файловой активности.
#### 3. Анализ Prefetch (только для .exe, но не для документов)
Дает время последнего запуска приложения, но не конкретного файла.
Путь: `C:\Windows\Prefetch\.pf`
Парсинг: `PECmd.exe` (Eric Zimmerman) — показывает "Last Run Time".
#### 4. Audit Object Access (для включенного аудита)
Если политика аудита включена — просмотр событий с ID 4663.
Проверка: `secpol.msc` → Локальные политики → Аудит → Аудит доступа к объектам.
Просмотр: Event Viewer → Windows Logs → Security → фильтр 4663.
#### 5. Jump Lists (для офисных документов)
Путь: `%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations`
Пример форензики: анализ `.customDestinations-ms` файлов через `JLECmd.exe` (Eric Zimmerman). Показывает последние открытые файлы, сгруппированные по приложению.
Резюме
Для увидеть, какие файлы открывались в определённый день используйте:- NTFS Last Access Time (если включен) — MFT Explorer.
- USN Journal — если файл был изменен при открытии.
- Audit Object Access — если политика включена.
Ограничение:** точное детектирование только чтения без изменения файла — невозможно без включенного аудита. Для расследования инцидентов ИБ применяйте комбинацию журналов событий и USN Journal.