Определение даты, когда файл впервые попал в систему, помогает сузить круг поиска и сосредоточиться на тех объектах, которые наиболее вероятно связаны с инцидентом. Ниже описаны методы, которые позволяют использовать временные метки файлов и системные журналы для выявления подозрительных элементов.
- Почему дата заражения полезна При заражении вредоносным кодом часто меняются атрибуты файла: дата изменения, создания или последнего доступа. Если известно приблизительное время вторжения (например, из сообщения антивируса, 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 в нетипичных местах).
- Шаг 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‑решений Современные защитные продукты часто хранят внутренние метки времени обнаружения. Если вы знаете, что антивирус уже сработал, можно: Посмотреть карантин или историю угроз — там обычно указывается дата и время первого обнаружения. Экспортировать список обнаруженных файлов и сравнить его с результатами поиска по датам; совпадения повышают уверенность в находке. Если антивирус не сработал, многие решения позволяют запустить «ретроспективный скан» с указанием пользовательского временного окна, что аналогично поиску по меткам, но с использованием сигнатурной базы.
- Пошаговый порядок действий Соберите все доступные сведения о предполагаемом времени инцидента (оповещения, журналы, сообщения пользователей). Определите точный интервал начала и конца подозрительного периода. Запустите поиск файлов по меткам изменения/создания в этом интервале, исключив известно безопасные каталоги. Отфильтруйте результат по размеру, расположению и атрибутам, оставив файлы, вызывающие подозрение. Сравните полученный список с записями в системных журналах за тот же период, ищите совпадения по путям и процессам. Запустите антивирус/EDR‑скан на оставшихся файлах (можно в изолированной среде или песочнице). При подтверждении угрозы изолируйте файл, соберите доказательства (хэш, путь, время) и выполните процедуру реагирования согласно политике безопасности вашей организации.
- Типичные ошибки и как их избежать Игнорирование смещения часовых поясов. Если система использует 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%), а также изменения в автозапуске (реестр, планировщик задач).
- Сценарий А: Подозрение на заражение через фишинговое письмо Пользователь открыл вложение в 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) для динамического анализа. Документируйте все шаги: исходный интервал, использованные команды, полученные списки, результаты сканирования и принятые решения. Это упростит последующее расследование и отчётность. Материал носит информационный характер. При работе с потенциально вредоносным кодом рекомендуется соблюдать меры изоляции (виртуальная машина, песочница) и, при наличии сомнений, обращаться к квалифицированному специалисту по информационной безопасности.
Почему дата заражения полезна
При заражении вредоносным кодом часто меняются атрибуты файла: дата изменения, создания или последнего доступа. Если известно приблизительное время вторжения (например, из сообщения антивируса, 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‑решений
Современные защитные продукты часто хранят внутренние метки времени обнаружения. Если вы знаете, что антивирус уже сработал, можно:
- Посмотреть карантин или историю угроз — там обычно указывается дата и время первого обнаружения.
- Экспортировать список обнаруженных файлов и сравнить его с результатами поиска по датам; совпадения повышают уверенность в находке.
Если антивирус не сработал, многие решения позволяют запустить «ретроспективный скан» с указанием пользовательского временного окна, что аналогично поиску по меткам, но с использованием сигнатурной базы.
Пошаговый порядок действий - Соберите все доступные сведения о предполагаемом времени инцидента (оповещения, журналы, сообщения пользователей).
- Определите точный интервал начала и конца подозрительного периода.
- Запустите поиск файлов по меткам изменения/создания в этом интервале, исключив известно безопасные каталоги.
- Отфильтруйте результат по размеру, расположению и атрибутам, оставив файлы, вызывающие подозрение.
- Сравните полученный список с записями в системных журналах за тот же период, ищите совпадения по путям и процессам.
- Запустите антивирус/EDR‑скан на оставшихся файлах (можно в изолированной среде или песочнице).
- При подтверждении угрозы изолируйте файл, соберите доказательства (хэш, путь, время) и выполните процедуру реагирования согласно политике безопасности вашей организации.
Типичные ошибки и как их избежать - Игнорирование смещения часовых поясов. Если система использует 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) для динамического анализа.
- Документируйте все шаги: исходный интервал, использованные команды, полученные списки, результаты сканирования и принятые решения. Это упростит последующее расследование и отчётность.
Материал носит информационный характер. При работе с потенциально вредоносным кодом рекомендуется соблюдать меры изоляции (виртуальная машина, песочница) и, при наличии сомнений, обращаться к квалифицированному специалисту по информационной безопасности.
Материал носит информационный характер. При работе с потенциально вредоносным кодом рекомендуется соблюдать меры изоляции (виртуальная машина, песочница) и, при наличии сомнений, обращаться к квалифицированному специалисту по информационной безопасности.
