Как найти вредоносный файл по дате заражения

Определение даты, когда файл впервые попал в систему, помогает сузить круг поиска и сосредоточиться на тех объектах, которые наиболее вероятно связаны с инцидентом. Ниже описаны методы, которые позволяют использовать временные метки файлов и системные журналы для выявления подозрительных элементов.

Содержание
  1. Почему дата заражения полезна При заражении вредоносным кодом часто меняются атрибуты файла: дата изменения, создания или последнего доступа. Если известно приблизительное время вторжения (например, из сообщения антивируса, alert‑системы или замеченного аномального трафика), можно отфильтровать файлы, чьи метки попадают в этот интервал, и тем самым уменьшить объём данных для ручного анализа.
  2. Какие временные метки проверять Дата изменения (mtime) — момент последней записи в файл. Часто обновляется при внедрении вредоносного кода. Дата создания (ctime в Windows, birth time в некоторых файловых системах) — момент первого появления файла в файловой системе. Дата последнего доступа (atime) — может измениться при чтении файла вредоносным процессом, но зависит от настроек системы и часто отключается для повышения производительности. Выбор метки зависит от операционной системы и настроек аудита. В большинстве случаев полезно смотреть одновременно на mtime и ctime, так как они дополняют друг друга.
  3. Как собрать список файлов по дате Для поиска можно воспользоваться встроенными средствами командной строки или специализированными утилитами. Ниже приведены общие шаги, которые применимы к Windows, Linux и macOS. Шаг 1: Определите ориентировочный интервал времени Используйте доступные источники информации: оповещения антивирусного решения или EDR‑платформы; журналы событий системы (например, Windows Event Log, syslog, auditd); сетевые логи, показывающие необычный outgoing‑traffic; сообщения пользователей о странном поведении приложений. Запишите начало и конец подозрительного периода (например, «с 02:15 10‑ноября по 03:45 10‑ноября»). Чем точнее интервал, тем меньше ложных срабатываний. Шаг 2: Выполните поиск файлов по меткам Windows (PowerShell): Get-ChildItem -Path C:\ -Recurse -File | Where-Object {$_.LastWriteTime -ge (Get-Date «2024-11-10 02:15») -and $_.LastWriteTime -le (Get-Date «2024-11-10 03:45»)} | Select-Object FullName, LastWriteTime, CreationTime Linux/macOS (find): find / -type f -newermt «2024-11-10 02:15» ! -newermt «2024-11-10 03:45» -printf «%T@ %p\n» 2>/dev/null | sort -n Эти команды выдают список файлов, чьи метки попадают в указанный диапазон. При необходимости можно добавить фильтры по расширению, размеру или расположению (например, исключить системные каталоги). Шаг 3: Уменьшите ложные срабатывания Многие легитимные файлы регулярно обновляются (журналы, кэш, временные файлы). Чтобы сосредоточиться на более подозрительных объектах: Исключите известные папки обновлений (C:\Windows\*, /var/log/, /tmp/ и т.п.). Фильтруйте по размеру: очень маленькие файлы (< 10 КБ) часто являются служебными, а очень большие (> 100 МБ) редко создаются вредоносным кодом без очевидной причины. Обратите внимание на атрибуты: скрытые, системные или файлы с необычными расширениями (.exe, .dll, .js, .vbs, .ps1 в нетипичных местах).
  4. Шаг 1: Определите ориентировочный интервал времени Используйте доступные источники информации: оповещения антивирусного решения или EDR‑платформы; журналы событий системы (например, Windows Event Log, syslog, auditd); сетевые логи, показывающие необычный outgoing‑traffic; сообщения пользователей о странном поведении приложений. Запишите начало и конец подозрительного периода (например, «с 02:15 10‑ноября по 03:45 10‑ноября»). Чем точнее интервал, тем меньше ложных срабатываний.
  5. Шаг 2: Выполните поиск файлов по меткам Windows (PowerShell): Get-ChildItem -Path C:\ -Recurse -File | Where-Object {$_.LastWriteTime -ge (Get-Date «2024-11-10 02:15») -and $_.LastWriteTime -le (Get-Date «2024-11-10 03:45»)} | Select-Object FullName, LastWriteTime, CreationTime Linux/macOS (find): find / -type f -newermt «2024-11-10 02:15» ! -newermt «2024-11-10 03:45» -printf «%T@ %p\n» 2>/dev/null | sort -n Эти команды выдают список файлов, чьи метки попадают в указанный диапазон. При необходимости можно добавить фильтры по расширению, размеру или расположению (например, исключить системные каталоги).
  6. Шаг 3: Уменьшите ложные срабатывания Многие легитимные файлы регулярно обновляются (журналы, кэш, временные файлы). Чтобы сосредоточиться на более подозрительных объектах: Исключите известные папки обновлений (C:\Windows\*, /var/log/, /tmp/ и т.п.). Фильтруйте по размеру: очень маленькие файлы (< 10 КБ) часто являются служебными, а очень большие (> 100 МБ) редко создаются вредоносным кодом без очевидной причины. Обратите внимание на атрибуты: скрытые, системные или файлы с необычными расширениями (.exe, .dll, .js, .vbs, .ps1 в нетипичных местах).
  7. Анализ журналов событий Помимо файловой системы, полезно коррелировать даты с записями в журналах: В Windows: журнал Security (ID 4663 – доступ к объекту), Sysmon (Event ID 11 – файл создан, ID 15 – файл изменен). В Linux: audit.log (правила auditd на открытие, запись, изменение), /var/log/auth.log (привилегированные действия), /var/log/syslog. На macOS: unified log (log show) и auditd при включённом аудите. Поиск записей за тот же интервал времени может указать на конкретные процессы, которые работали с файлом, и помочь подтвердить вредоносность.
  8. Применение антивирусных и EDR‑решений Современные защитные продукты часто хранят внутренние метки времени обнаружения. Если вы знаете, что антивирус уже сработал, можно: Посмотреть карантин или историю угроз — там обычно указывается дата и время первого обнаружения. Экспортировать список обнаруженных файлов и сравнить его с результатами поиска по датам; совпадения повышают уверенность в находке. Если антивирус не сработал, многие решения позволяют запустить «ретроспективный скан» с указанием пользовательского временного окна, что аналогично поиску по меткам, но с использованием сигнатурной базы.
  9. Пошаговый порядок действий Соберите все доступные сведения о предполагаемом времени инцидента (оповещения, журналы, сообщения пользователей). Определите точный интервал начала и конца подозрительного периода. Запустите поиск файлов по меткам изменения/создания в этом интервале, исключив известно безопасные каталоги. Отфильтруйте результат по размеру, расположению и атрибутам, оставив файлы, вызывающие подозрение. Сравните полученный список с записями в системных журналах за тот же период, ищите совпадения по путям и процессам. Запустите антивирус/EDR‑скан на оставшихся файлах (можно в изолированной среде или песочнице). При подтверждении угрозы изолируйте файл, соберите доказательства (хэш, путь, время) и выполните процедуру реагирования согласно политике безопасности вашей организации.
  10. Типичные ошибки и как их избежать Игнорирование смещения часовых поясов. Если система использует UTC, а журналы записаны в местное время, интервал может быть смещён. Всегда проверяйте настройки временной зоны и приводите все timestamps к одному формату. Опора только на одну метку. Некоторые вредоносные программы меняют только дату создания, оставляя дату изменения неизменной. Проверяйте обе метки. Поиск по всему диску без исключений. Сканирование системных и кэш‑папок генерирует тысячи ложных срабатываний и замедляет работу. Заранее составьте список исключений. Неучёт влияния антивируса на метки. Некоторые решения при карантине изменяют дату файла. Если вы видите файл с датой, совпадающей с временем работы антивируса, проверьте, не является ли он карантинным объектом. Полагаться только на дату без анализа содержимого. Файл может быть легитимным, но просто обновлён в подозрительный период (например, обновление ПО). Всегда дополняйте поиск анализом сигнатур или поведения.
  11. Сценарии применения Сценарий А: Подозрение на заражение через фишинговое письмо Пользователь открыл вложение в 10:20, спустя несколько минут появился необычный трафик на внешний IP. Интервал для поиска: 10:15–10:35. Выполняем поиск файлов с mtime/ctime в этом окне в каталогах загрузок и временных файлов, проверяем журналы Sysmon на запуск процессов из этих мест, сканируем найденные файлы антивирусом. Сценарий Б: Обнаружение аномального поведения сервера IDS зафиксировал попытку эксплуатаии уязвимости в 03:00–03:10 UTC. Ищем файлы в веб‑корне и каталогах скриптов, изменённые в этот период, сверяем с логами веб‑сервера и auditd, проверяем на наличие веб‑шеллов. Сценарий В: Инцидент на рабочей станции после посещения вредоносного сайта Пользователь сообщает о всплывающем окне в 14:45. Интервал 14:40–14:50. Ищем newly created исполняемые файлы в профиле пользователя (%AppData%, %LocalAppData%), а также изменения в автозапуске (реестр, планировщик задач).
  12. Сценарий А: Подозрение на заражение через фишинговое письмо Пользователь открыл вложение в 10:20, спустя несколько минут появился необычный трафик на внешний IP. Интервал для поиска: 10:15–10:35. Выполняем поиск файлов с mtime/ctime в этом окне в каталогах загрузок и временных файлов, проверяем журналы Sysmon на запуск процессов из этих мест, сканируем найденные файлы антивирусом.
  13. Сценарий Б: Обнаружение аномального поведения сервера IDS зафиксировал попытку эксплуатаии уязвимости в 03:00–03:10 UTC. Ищем файлы в веб‑корне и каталогах скриптов, изменённые в этот период, сверяем с логами веб‑сервера и auditd, проверяем на наличие веб‑шеллов.
  14. Сценарий В: Инцидент на рабочей станции после посещения вредоносного сайта Пользователь сообщает о всплывающем окне в 14:45. Интервал 14:40–14:50. Ищем newly created исполняемые файлы в профиле пользователя (%AppData%, %LocalAppData%), а также изменения в автозапуске (реестр, планировщик задач).
  15. Практические рекомендации и следующий шаг Фиксируйте исходный интервал времени сразу после получения первого сигнала об инциденте; это уменьшит объём последующего анализа. Автоматизируйте регулярный сбор baseline‑списка файлов с их метками (например, раз в день) и сравнивайте его с текущим состоянием — так можно быстро увидеть новые или изменённые объекты. При работе в корпоративной среде используйте централизованное решение для сбора временных меток (SIEM, файловый интегрити‑мониторинг) — это упрощает корреляцию с событиями безопасности. Если после всех проверок файл остаётся подозрительным, но антивирус не обнаруживает угрозу, рассмотрите отправку образца в онлайн‑песочницу (например, VirusTotal, Hybrid Analysis) для динамического анализа. Документируйте все шаги: исходный интервал, использованные команды, полученные списки, результаты сканирования и принятые решения. Это упростит последующее расследование и отчётность. Материал носит информационный характер. При работе с потенциально вредоносным кодом рекомендуется соблюдать меры изоляции (виртуальная машина, песочница) и, при наличии сомнений, обращаться к квалифицированному специалисту по информационной безопасности.

Почему дата заражения полезна

При заражении вредоносным кодом часто меняются атрибуты файла: дата изменения, создания или последнего доступа. Если известно приблизительное время вторжения (например, из сообщения антивируса, alert‑системы или замеченного аномального трафика), можно отфильтровать файлы, чьи метки попадают в этот интервал, и тем самым уменьшить объём данных для ручного анализа.

Какие временные метки проверять
  • Дата изменения (mtime) — момент последней записи в файл. Часто обновляется при внедрении вредоносного кода.
  • Дата создания (ctime в Windows, birth time в некоторых файловых системах) — момент первого появления файла в файловой системе.
  • Дата последнего доступа (atime) — может измениться при чтении файла вредоносным процессом, но зависит от настроек системы и часто отключается для повышения производительности.

Выбор метки зависит от операционной системы и настроек аудита. В большинстве случаев полезно смотреть одновременно на mtime и ctime, так как они дополняют друг друга.

Как собрать список файлов по дате

Для поиска можно воспользоваться встроенными средствами командной строки или специализированными утилитами. Ниже приведены общие шаги, которые применимы к Windows, Linux и macOS.

Шаг 1: Определите ориентировочный интервал времени

Используйте доступные источники информации:

  • оповещения антивирусного решения или EDR‑платформы;
  • журналы событий системы (например, Windows Event Log, syslog, auditd);
  • сетевые логи, показывающие необычный outgoing‑traffic;
  • сообщения пользователей о странном поведении приложений.

Запишите начало и конец подозрительного периода (например, «с 02:15 10‑ноября по 03:45 10‑ноября»). Чем точнее интервал, тем меньше ложных срабатываний.

Шаг 2: Выполните поиск файлов по меткам

Windows (PowerShell):

Get-ChildItem -Path C:\ -Recurse -File |
Where-Object {$_.LastWriteTime -ge (Get-Date «2024-11-10 02:15») -and $_.LastWriteTime -le (Get-Date «2024-11-10 03:45»)} |
Select-Object FullName, LastWriteTime, CreationTime

Linux/macOS (find):

find / -type f -newermt «2024-11-10 02:15» ! -newermt «2024-11-10 03:45» -printf «%T@ %p\n» 2>/dev/null | sort -n

Эти команды выдают список файлов, чьи метки попадают в указанный диапазон. При необходимости можно добавить фильтры по расширению, размеру или расположению (например, исключить системные каталоги).

Шаг 3: Уменьшите ложные срабатывания

Многие легитимные файлы регулярно обновляются (журналы, кэш, временные файлы). Чтобы сосредоточиться на более подозрительных объектах:

  • Исключите известные папки обновлений (C:\Windows\*, /var/log/, /tmp/ и т.п.).
  • Фильтруйте по размеру: очень маленькие файлы (< 10 КБ) часто являются служебными, а очень большие (> 100 МБ) редко создаются вредоносным кодом без очевидной причины.
  • Обратите внимание на атрибуты: скрытые, системные или файлы с необычными расширениями (.exe, .dll, .js, .vbs, .ps1 в нетипичных местах).

Анализ журналов событий

Помимо файловой системы, полезно коррелировать даты с записями в журналах:

  • В Windows: журнал Security (ID 4663 – доступ к объекту), Sysmon (Event ID 11 – файл создан, ID 15 – файл изменен).
  • В Linux: audit.log (правила auditd на открытие, запись, изменение), /var/log/auth.log (привилегированные действия), /var/log/syslog.
  • На macOS: unified log (log show) и auditd при включённом аудите.

Поиск записей за тот же интервал времени может указать на конкретные процессы, которые работали с файлом, и помочь подтвердить вредоносность.

Применение антивирусных и EDR‑решений

Современные защитные продукты часто хранят внутренние метки времени обнаружения. Если вы знаете, что антивирус уже сработал, можно:

  • Посмотреть карантин или историю угроз — там обычно указывается дата и время первого обнаружения.
  • Экспортировать список обнаруженных файлов и сравнить его с результатами поиска по датам; совпадения повышают уверенность в находке.
  • Если антивирус не сработал, многие решения позволяют запустить «ретроспективный скан» с указанием пользовательского временного окна, что аналогично поиску по меткам, но с использованием сигнатурной базы.

Пошаговый порядок действий
  1. Соберите все доступные сведения о предполагаемом времени инцидента (оповещения, журналы, сообщения пользователей).
  2. Определите точный интервал начала и конца подозрительного периода.
  3. Запустите поиск файлов по меткам изменения/создания в этом интервале, исключив известно безопасные каталоги.
  4. Отфильтруйте результат по размеру, расположению и атрибутам, оставив файлы, вызывающие подозрение.
  5. Сравните полученный список с записями в системных журналах за тот же период, ищите совпадения по путям и процессам.
  6. Запустите антивирус/EDR‑скан на оставшихся файлах (можно в изолированной среде или песочнице).
  7. При подтверждении угрозы изолируйте файл, соберите доказательства (хэш, путь, время) и выполните процедуру реагирования согласно политике безопасности вашей организации.

Типичные ошибки и как их избежать
  • Игнорирование смещения часовых поясов. Если система использует UTC, а журналы записаны в местное время, интервал может быть смещён. Всегда проверяйте настройки временной зоны и приводите все timestamps к одному формату.
  • Опора только на одну метку. Некоторые вредоносные программы меняют только дату создания, оставляя дату изменения неизменной. Проверяйте обе метки.
  • Поиск по всему диску без исключений. Сканирование системных и кэш‑папок генерирует тысячи ложных срабатываний и замедляет работу. Заранее составьте список исключений.
  • Неучёт влияния антивируса на метки. Некоторые решения при карантине изменяют дату файла. Если вы видите файл с датой, совпадающей с временем работы антивируса, проверьте, не является ли он карантинным объектом.
  • Полагаться только на дату без анализа содержимого. Файл может быть легитимным, но просто обновлён в подозрительный период (например, обновление ПО). Всегда дополняйте поиск анализом сигнатур или поведения.

Сценарии применения

Сценарий А: Подозрение на заражение через фишинговое письмо

Пользователь открыл вложение в 10:20, спустя несколько минут появился необычный трафик на внешний IP. Интервал для поиска: 10:15–10:35. Выполняем поиск файлов с mtime/ctime в этом окне в каталогах загрузок и временных файлов, проверяем журналы Sysmon на запуск процессов из этих мест, сканируем найденные файлы антивирусом.

Сценарий Б: Обнаружение аномального поведения сервера

IDS зафиксировал попытку эксплуатаии уязвимости в 03:00–03:10 UTC. Ищем файлы в веб‑корне и каталогах скриптов, изменённые в этот период, сверяем с логами веб‑сервера и auditd, проверяем на наличие веб‑шеллов.

Сценарий В: Инцидент на рабочей станции после посещения вредоносного сайта

Пользователь сообщает о всплывающем окне в 14:45. Интервал 14:40–14:50. Ищем newly created исполняемые файлы в профиле пользователя (%AppData%, %LocalAppData%), а также изменения в автозапуске (реестр, планировщик задач).

Практические рекомендации и следующий шаг
  • Фиксируйте исходный интервал времени сразу после получения первого сигнала об инциденте; это уменьшит объём последующего анализа.
  • Автоматизируйте регулярный сбор baseline‑списка файлов с их метками (например, раз в день) и сравнивайте его с текущим состоянием — так можно быстро увидеть новые или изменённые объекты.
  • При работе в корпоративной среде используйте централизованное решение для сбора временных меток (SIEM, файловый интегрити‑мониторинг) — это упрощает корреляцию с событиями безопасности.
  • Если после всех проверок файл остаётся подозрительным, но антивирус не обнаруживает угрозу, рассмотрите отправку образца в онлайн‑песочницу (например, VirusTotal, Hybrid Analysis) для динамического анализа.
  • Документируйте все шаги: исходный интервал, использованные команды, полученные списки, результаты сканирования и принятые решения. Это упростит последующее расследование и отчётность.

Материал носит информационный характер. При работе с потенциально вредоносным кодом рекомендуется соблюдать меры изоляции (виртуальная машина, песочница) и, при наличии сомнений, обращаться к квалифицированному специалисту по информационной безопасности.

PEFile.ru