Внедрение подложного файла (Win/Lin)

Описание приманки

Приманка представляет собой файл, созданный по предопределенному пути с заданным содержимым. После перезагрузки конфигурации модуль принимает существующий файл, если его содержимое совпадает с ожидаемым. Содержимое файла передается в plain text или base64. Для ОС Linux возможно указать права доступа, владельца и группу для файла. Для ОС Windows эти атрибуты игнорируются.

Для мониторинга состояния приманки проверяется хеш SHA256 содержимого файла.

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

  • Содержимого файла.

  • Прав доступа к файлу.

  • Владельца файла или его группы.

Пример конфигурации

# Создание подложного файла с ключами SSH - name: ssh_keys kind: FileDecoy enabled: true spec: path: /home/user/.ssh/fake_id_rsa payload: | -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA...fake key content... -----END RSA PRIVATE KEY----- contentEncoding: plain mode: "600" owner: user group: user remediation: enabled: true strategy: recreate mode: fixed maxAttempts: 3 backoffSchedule: - 5s - 30s - 60s

Описание конфигурации

Вводные параметры

  • name — имя приманки, обязательное поле.

  • kind — тип приманки, обязательное поле.

  • enabled — признак активности приманки, обязательное поле.

    Значение false отключает приманку.

Подсекция spec

  • path — абсолютный путь к файлу, обязательное поле. Поддерживается ~ для домашней директории.

  • payload — содержимое файла, обязательное поле. Может быть любым текстом или base64 строкой в зависимости от contentEncoding.

  • contentEncoding — формат payload. Опциональное поле. Допустимые значения: plain, base64.

    Значение по умолчанию: plain.

  • mode — права доступа к файлу в восьмеричном формате, опциональное поле. Формат: 3 - 4 восьмеричные цифры (например 644, 0755). Диапазон: 0000 - 07777.

    Операционная система: только для ОС Linux, в ОС Windows игнорируется.

    Значение по умолчанию: пустая строка (система сама определит права).

  • owner — имя владельца файла, опциональное поле. Требуется указывать реально существующее в системе имя пользователя. Применяется только совместно с group.

    Операционная система: только для ОС Linux, в ОС Windows игнорируется.

    Значение по умолчанию: пустая строка.

  • group — имя группы файла, опциональное поле. Требуется указывать реально существующее в системе имя. Применяется только совместно с owner.

    Операционная система: только для ОС Linux, в ОС Windows игнорируется.

    Значение по умолчанию: пустая строка.

Подсекция remediation

Подсекция remediation является опциональной и содержит параметры автоматического восстановления приманки:

  • enabled — признак активности автоматического восстановления, обязательное поле.

    Значение false отключает восстановление.

    Значение по умолчанию: true.

  • strategy — стратегия автоматического восстановления приманки, обязательное поле.

    Возможные значения:

    • recreate (по умолчанию) — пересоздание приманки.

    • alert — оповещение о падении приманки.

  • mode — режим автоматического восстановления приманки, обязательное поле.

    Возможные значения:

    • fixed (по умолчанию) — ограниченное количество попыток восстановления.

    • infinite — неограниченное количество попыток восстановления.

  • maxAttempts — количество попыток автоматического восстановления приманки. Обязательное поле, если mode: fixed. При mode: infinite параметр игнорируется, попытки продолжаются до успеха.

    Значение по умолчанию: 3.

  • backoffSchedule — промежуток времени между попытками автоматического восстановления приманки, опциональное поле.

    Определяется списком значений времени, спустя которое осуществится следующая попытка восстановления. Если попыток больше элементов списка, используется последний временной интервал.

    Значение по умолчанию: [5s, 30s, 60s, 5m, 15m, 30m, 60m].