Подложная учетная запись в штатном менеджере учетных записей (Win)

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

Приманка не работает на Windows Server 2008 из-за отсутствия штатного менеджера учетных записей.

Приманка представляет собой подложную учетную запись в штатном менеджере учетных записей Windows (Credential manager). В запись добавляются имя пользователя и пароль, а также имя ресурса (например, fqdn сервера), к которому относятся учетные данные.

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

По этой причине не допускается использование приманки на терминальных серверах, чтобы исключить возможность потери контроля над ней. По умолчанию размещение этой приманки запрещено на терминальных серверах, но при необходимости его можно разрешить через параметр allow_deploy_on_ts = true в конфигурации приманки.

После перезагрузки модуля приманка принимает существующие данные УЗ, если credName, credType и username совпадают с ожидаемыми.

Для мониторинга состояния приманки проверяется наличие записи от имени имперсонированного пользователя в штатном менеджере учетных данных Windows.

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

  • Входа под подложной учётной записью.

  • Запроса билетов Kerberos для подложной учётной записи.

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

# Учетные данные в штатном менеджере учетных записей Windows # Credential manager — раздел "Windows Credentials" - name: fake_creds_in_wincred kind: WinCred enabled: true spec: username: svc-update-service credName: wsus.lab.ru credType: domain minPassLen: 16 maxPassLen: 25 allowDeployOnTS: false regKey: SYSTEM\CurrentControlSet\Control\Terminal Server remediation: enabled: true strategy: recreate mode: infinite backoffSchedule: - 5s - 30s - 60s

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

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

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

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

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

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

Подсекция spec

  • username — имя подложного пользователя. Обязательное поле. Рекомендуется выбирать имя реально существующей УЗ в домене, и исходить из того, что данная учетная запись не используется или ее использование контролируется, доступ к ней разрешен только с определенных хостов.

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

  • credName — название ресурса. Обязательное поле.

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

  • credType — тип учетной записи. Обязательное поле. Определяет как Windows интерпретирует учетные данные. Допустимые значения: domain, generic.

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

  • minPassLen — минимальная длина пароля. Опциональное поле. Пароль от учетной записи генерируется случайном образом. Значение должно быть > либо = 1 и < либо = maxPassLen.

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

  • maxPassLen — максимальная длина пароля. Опциональное поле. Значение должно быть > либо = 1 и > либо = minPassLen.

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

  • allowDeployOnTS — возможность размещения приманки на терминальном сервере. Опциональное поле. Если false, модуль проверяет предопределенный в конфигурации приманки regKey и не устанавливает её в случае определения терминального сервера.

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

  • regKey — путь к ключу реестра для идентификации терминального сервера. Опциональное поле.

    Значение по умолчанию: SYSTEM\CurrentControlSet\Control\Terminal Server.

Подсекция 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].