Как говорится в ответе wysiwyg, нет журнала событий, который бы содержал информацию о созданных ZIP-файлах, кроме случаев, когда для этого каталога был проведен аудит, и в этом случае вы могли бы теоретически посмотреть, какие файлы были прочитаны непосредственно перед созданием ZIP. Я проверил это, создав ZIP-файл, используя Отправить Сжатая (заархивированная) папка и просмотр основных журналов событий, в которых ничего не было про инцидент. В разделе «Журналы приложений и служб» есть много других небольших журналов, но они также не помогают. Чтобы доказать это, мы можем использовать PowerShell!
Get-WinEvent -ListLog * | ? { $_.RecordCount -gt 0 } | % { Get-WinEvent -LogName $_.LogName -MaxEvents 100 } | ? { $_.ToXml().Contains('.zip') }
При запуске от имени администратора он просматривает все непустые журналы событий, получает последние сто событий и возвращает все, в которых есть упоминание о файле .zip
. Это дало мне ноль результатов.
Мне также не удалось найти какие-либо файлы журналов на диске, которые были обновлены во время инцидента. Я проверил это, наблюдая за активностью файловой системы от explorer.exe
с помощью Process Monitor. Он генерировал множество событий, слишком много, чтобы просматривать их вручную, поэтому я экспортировал журнал как CSV. Чтобы получить список уникальных путей доступа (поскольку подавляющее большинство событий связано только с несколькими путями), мы снова можем использовать PowerShell:
Import-Csv C:\path\to\report.csv | group Path | select -ExpandProperty Name
Просмотр списка ничего интересного не показывает, только файлы, которые были задействованы в архивировании или были затронуты фоновыми процессами.
Если ZIP-файл все еще существует на диске, мы можем более или менее доказать, что он был создан, когда он утверждает, что он существует (актуально, поскольку время создания может быть сфальсифицировано). Эта информация содержится в поисковом индексе Windows, который мы можем запросить с помощью - как вы уже догадались - PowerShell!
$sql = "select System.ItemName, System.DateCreated from SYSTEMINDEX where System.ItemName like '%.zip'"
$connector = [System.Data.OleDb.OleDbDataAdapter]::new($sql, "provider=search.collatordso;extended properties='application=windows';")
$data = [System.Data.DataSet]::new()
$connector.Fill($data)
$data.Tables[0]
(Основано на коде в этой статье Рассела Смита.) Он создает путь и время создания (в UTC, а не в системном часовом поясе) для каждого ZIP в индексе. Увы, это не говорит о том, что было включено в ZIP-архив, но это лучшее, что мы можем сделать.