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 徹底搜尋)。並且某些程序肯定會設置此隱藏標誌。
問題:
- 此事件日誌條目是否包含有關應用程序實際設置的屬性的資訊?
- 我還能如何跟踪此活動?Process Monitor 沒有擷取單個 SetBasicinformationFile 事件,但文件仍然隱藏!
您應該能夠通過一個簡單的批處理腳本來完成此操作,您可以在其中重複執行
dir /b /a:h
然後評估錯誤級別。該/b
開關是可選的,但以最低限度的格式顯示目錄輸出。當您執行此命令時,如果沒有找到隱藏文件,它將返回 ERRORLEVEL 1,這正是您想要的。如果一個文件被隱藏,那麼它將返回一個 0 的 ERRORLEVEL,這是您不想要的,這就是您可以觸發某些東西的地方。
現在,這不會告訴你是誰隱藏了文件,但如果你經常呼叫它(比如每 30 秒一次),那麼你至少會有一個關於它何時發生的時間框架,然後你應該能夠關聯它大約在那個時候發生了 4663 個事件。我假設您已經在此文件夾中進行了審核?
您可以使用任何調度程序呼叫此腳本,儘管這實際上是EventSentry Light實用程序的一個很好的方案,它具有一個內置調度程序,可以根據您執行的任何腳本的錯誤級別觸發電子郵件警報。它甚至包括腳本的輸出。該功能稱為“應用程序調度程序”。當然,您也可以編寫自己的腳本並使用 PowerShell、VBScript 或類似 blat.exe 的東西觸發電子郵件。
如果 Windows 審計不夠精細,無法捕捉到某人只是隱藏文件,那麼審計部分可能是最棘手的。但即便如此,對父文件夾的審核也應該顯示一些活動,例如目錄列表。