IBCOURSES / СПРАВОЧНИК ИБ

HIDS / Wazuh FIM: изменился контролируемый файл

К ответу ↓

FIM сообщает об изменении контролируемого файла или атрибутов относительно сохранённого состояния. Для определения инициатора нужен доступный who-data или отдельный аудит.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

HIDS / Wazuh FIM: изменился контролируемый файл

FIM сообщает об изменении контролируемого файла или атрибутов относительно сохранённого состояния. Для определения инициатора нужен доступный who-data или отдельный аудит.

Условия появления записи

Установите агент, manager и путь, на котором ожидается изменение. FIM наблюдает выбранные объекты по действующей конфигурации, поэтому перед выводом нужна карта охвата на момент события. Сверьте режим: периодическая проверка, realtime или who-data дают разную детализацию. Зафиксируйте установленную версию и ruleset, список исключений и доступный период хранения. Эта карточка описывает обработанный manager alert, а не исходный системный вызов и не универсальное событие любого HIDS. Для чтения уже собранных данных менять настройки мониторинга не требуется.

Как найти нужные записи

Пример jq читает локальную JSONL-копию alerts.json с объектом alert в каждой строке. Он не обращается к агенту и не изменяет контролируемый файл. Замените ID агента и путь на исследуемые, затем добавьте временные границы с учётом формата ваших данных. Если экспорт содержит hit._source или другую оболочку, сначала осмотрите структуру и явно выберите объект источника; приведённый фильтр рассчитан на прямую форму manager. Сохраните исходный файл отдельно от результата выборки, чтобы фильтрация не стала единственным сохранившимся свидетельством.

Что показывает пример

Путь /srv/demo/app.conf находится в modified-событии; changed_attributes сообщает об изменении sha256. Разные условные значения до и после показывают, какие поля сравнивать, но не являются хешами настоящего файла. В примере нет who-data, поэтому пользователя или процесс установить из него нельзя. Rule 550 и decoder отражают базовое правило в прочитанном официальном ruleset; локальное дочернее правило может дать другой номер и уровень. Для выбора события надёжнее совместно читать тип syscheck.event, агент и путь, а не искать только число 550.

Интерпретация и проверка изменения

Сначала опишите, какой атрибут действительно различается. Изменение прав и изменение содержимого — разные наблюдения; не переносите вывод с одного на другое. Затем сопоставьте время с заявкой, развёртыванием, обновлением пакета или действиями владельца приложения. Наличие согласованного изменения не должно автоматически закрывать все соседние события: проверьте, совпали ли объект, исполнитель и ожидаемый результат. Отсутствие согласования также не делает событие доказанной атакой. Если нужен просмотр различий содержимого, учитывайте, был ли report_changes доступен и не содержит ли экспорт чувствительные данные.

Следующий шаг

При наличии who-data проверьте audit.process и audit.user в исходном alert и сопоставьте их с отдельным аудитом хоста. Если этих полей нет, запросите процессные свидетельства за обоснованное окно; не назначайте владельца файла автором изменения. Для Linux может помочь сохранённая цепочка Audit, для Windows — журнал файлового доступа при действовавшем аудите. После проверки сохраните таблицу «наблюдение — подтверждающий источник — предел вывода». Решение о восстановлении файла или блокировке относится к отдельной процедуре реагирования, а не к чтению этого события.

Если записи нет

Проверьте, входил ли путь в охват, существовало ли исходное состояние и не действовало ли исключение. Сверьте режим, расписание и состояние агента, затем наличие данных на manager. Отсутствие alert в интерфейсе может относиться к порогу правил или доставке в indexer, поэтому разделяйте эти этапы. Пустой результат по rule 550 также возможен при локальном дочернем правиле: повторите поиск по агенту, пути и типу. Зафиксируйте период и проверенные условия; отсутствие доступной записи не подтверждает неизменность файла. Ошибка чтения файла, отказ в доступе или ошибка разбора JSON не являются пустой выборкой. Для этого шага нужны права чтения выданной копии; при их отсутствии запросите доступную копию у владельца источника, сохранив сообщение об ошибке.

Поля и область применения

Исходное полеСмысл и ограничения
timestamp / agent.id / agent.nameВремя alert и агент, к которому относится наблюдение; ключи сопоставлять в контексте manager.
rule.id / decoder.nameРезультат обработки manager; базовый ID может заменяться пользовательским дочерним правилом.
syscheck.path / syscheck.eventМониторируемый путь и тип изменения: modified или deleted.
syscheck.modeРежим обнаружения, например realtime/whodata/scheduled; он влияет на детализацию и время.
syscheck.changed_attributesИмена изменившихся атрибутов для modified; поле не обязано присутствовать при удалении.
syscheck.sha256_before / syscheck.sha256_afterСравнивать лишь при наличии обоих значений и подходящем типе события.
syscheck.audit.process / syscheck.audit.userКонтекст who-data при доступности; обычный FIM alert не гарантирует атрибуцию пользователя.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Синтетический сокращённый manager alert FIM modified

Фрагмент журнала. Сконструированный фрагмент формы alerts.json по документации Wazuh. Это не индексная оболочка _source. Хеши условные; до/после намеренно различаются для объяснения. Базовое rule.id=550 нужно сверить с установленными правилами.

{
  "timestamp": "2026-11-03T09:30:00.000+0000",
  "agent": {
    "id": "007",
    "name": "hids-lab-01"
  },
  "rule": {
    "id": "550",
    "level": 7
  },
  "decoder": {
    "name": "syscheck_integrity_changed"
  },
  "location": "syscheck",
  "syscheck": {
    "path": "/srv/demo/app.conf",
    "mode": "realtime",
    "event": "modified",
    "changed_attributes": [
      "sha256"
    ],
    "sha256_before": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "sha256_after": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  }
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

jq, чтение уже полученной JSONL-копии manager alerts.json

jq -c 'select(.agent.id == "007" and .syscheck.event == "modified" and .syscheck.path == "/srv/demo/app.conf") | {timestamp, agent, rule, decoder, syscheck}' alerts.jsonl

Первоисточники

Изменение контрольного значения не доказывает атаку; FIM без who-data не устанавливает процесс или человека.

Связанные материалы

Как пользоваться техническим справочником

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

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

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

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.