Назад | Перейти на главную страницу

Изменение атрибута файла аудита файлового ресурса Windows Server

Моя цель - определить, какой пользователь установил атрибут «Скрытый» для файла в локальной общей папке.

Я включил аудит доступа к общим файлам в соответствии с этим статья. Вкратце: добавлена ​​запись групповой политики для включения записи определенных доступов в журнал событий + включен аудит на уровне папок для всех типов доступа.

В результате в журнале событий получаются такие записи:

Subject:
    Security ID:        Domain\Username
    Account Name:       Username
    Account Domain:     Domain
    Logon ID:       0x329558

Object:
    Object Server:      Security
    Object Type:        File
    Object Name:        E:\share\filename.xml
    Handle ID:      0xfc4
    Resource Attributes:    S:AI

Process Information:
    Process ID:     0x4
    Process Name:       

Access Request Information:
    Accesses:       WriteAttributes

    Access Mask:        0x100

Какие именно атрибуты установил пользователь? Это то, что указано в атрибутах ресурсов? Они не выглядят так, как будто имеют в виду «Скрытый», и я не получаю никаких других записей в журнале событий типа WriteAttributes (я тщательно просматриваю через PowerShell). И какой-то процесс определенно устанавливает этот скрытый флаг.

Вопросы:

Аудит файлов / общих ресурсов не дает полной информации о том, что было изменено. Атрибуты ресурсов предназначены для функции динамического контроля доступа, чтобы предоставить детальную информацию о критериях классификации DAC, вызвавших событие аудита.

ProcMon на сервере может работать, но нужно быть осторожным при его настройке. Он должен быть настроен на отбрасывание отфильтрованных событий, сбор только событий файлов, сохранение в резервный файл (не в виртуальную память) и конкретную операцию (SetBasicInformationFile) и, возможно, путь. Затем вы должны экспортировать конфигурацию в файл PMC и использовать его при запуске. Также рекомендуется указать / Runtime в секундах, затем переместить / переименовать файл, когда он закончится, и перезапустить, потому что ProcMon иногда дает сбой и может отрицательно повлиять на систему.

Вы должны иметь возможность сделать это с помощью простого пакетного сценария, в котором вы многократно выполняете dir /b /a:h а затем оцените уровень ошибки. В /b переключатель является необязательным, но показывает вывод каталога в минимальном формате.

Когда вы запустите эту команду, она вернет УРОВЕНЬ ОШИБКИ 1, если скрытые файлы не найдены, что вам и нужно. Если файл скрыт, он вернет ERRORLEVEL, равный 0, что вам не нужно, и именно здесь вы можете что-то запустить.

Теперь это не скажет вам, кто спрятал файл, но если вы вызываете его достаточно часто (скажем, каждые 30 секунд), то у вас, по крайней мере, будут временные рамки относительно того, когда это произошло, и тогда вы сможете коррелировать его. с 4663 событиями, которые произошли как раз в то время. Я полагаю, у вас уже есть аудит в этой папке?

Вы можете вызвать этот сценарий из любого планировщика, хотя на самом деле это хороший сценарий для СобытиеSentry Light Утилита, которая имеет встроенный планировщик, который может запускать оповещения по электронной почте в зависимости от уровня ошибки любого запускаемого вами скрипта. Он даже включает вывод скрипта. Эта функция называется «планировщик приложений». Конечно, вы также можете написать свой собственный сценарий и инициировать электронное письмо с помощью PowerShell, VBScript или чего-то вроде blat.exe.

Часть аудита может быть самой сложной, если аудит Windows недостаточно детализирован, чтобы кого-то поймать. просто скрытие файла. Но даже тогда аудит родительской папки должен показывать некоторую активность, например, список каталогов.