如何在真实的会话中从ETW提供程序“Microsoft-Windows-Security-Auditing”捕获事件?

brc7rcf0  于 2023-03-19  发布在  Windows
关注(0)|答案(1)|浏览(233)

我最近使用ETW从内置提供程序收集事件,我使用logman来消费事件并将其保存到一个.etl文件中,如下所示:

logman create trace evt -p Microsoft-Windows-RPC -ets

......做了手术之后

logman stop evt -ets

然后我得到了一个evt.etl文件,其中包含来自这个提供程序的事件。

PS > Get-WinEvent -Path .\evt.etl -Oldest | Select-Object Id, Message

Id Message

---------

0
5 Client RPC call started.     InterfaceUuid:  {e60c73e6-88f9-11cf-9af1-0020af6e72f4}  OpNum:  0x8     Protocol:      LRPC     N...
4 RPC Log Event. ...
...

但是,当我对“Microsoft-Windows-Security-Auditing”执行同样的操作时,在停止会话后,evt.etl文件中什么也没有。

PS > logman start trace evt -p Microsoft-Windows-Security-Auditing -ets
 The command completed successfully.

然后注销并登录以生成事件

PS C:\Advs> logman stop evt -ets 
The command completed successfully.

但是我在生成的evt.etl文件中什么也没有得到。

PS \> Get-WinEvent -Path .\evt.etl -Oldest
Get-WinEvent : No events were found that match the specified selection criteria.
At line:1 char:1

+ Get-WinEvent -Path .\\evt.etl -Oldest
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (:) [Get-WinEvent], Exception
    + FullyQualifiedErrorId : NoMatchingEventsFound,Microsoft.PowerShell.Comma
   nds.GetWinEventCommand`
  
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

但是,我可以在eventvwr中看到事件,在“Windows日志”-“安全”中,事件详细信息显示它们的来源是“Microsoft-Windows-Security-Auditing”。

System
    Provider
        [ Name]  Microsoft-Windows-Security-Auditing         
        [ Guid]  {54849625-5478-4994-A5BA-3E3B0328C30D} 
...

我找了一些解决办法,但都不管用。
Using "Microsoft Windows Security Auditing" provider in real-time consumer with ETW (Event Tracing for Windows)
https://serverfault.com/questions/599169/how-can-i-get-sesecurityprivilege-enabled
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/2fb8b309-e205-4362-9345-75fe4a13fc92/rule-setup-account-privileges-failed-on-sql-server-2008-sp-3?forum=sqlsetupandupgrade
一个三个...
我想这可能是一个特权问题,所以我咨询了上面的问题,作为系统运行,并启用了我的SeSecurityPrivilege(以及列出的所有其他特权)。

PS \> whoami
nt authority\\system
PS \> whoami /priv
...
SeSecurityPrivilege             Manage auditing and security log          Enabled
...                                                                       Enabled
# All privileges enabled

但是做完这些之后,我还是没有得到任何事件。
这是一台Windows Server 2012 R2机器。失败后我在另一台Windows 10机器上尝试了完全相同的方法,得到了相同的结果。
谢谢你的帮助。

wlwcrazw

wlwcrazw1#

多亏了我的导师,他给了我解决办法。
原来这个提供程序是受保护的,只有Windows创建的跟踪才能从它读取。不能用它创建跟踪,但可以打开Windows创建的现有跟踪。另外,需要以SYSTEM身份运行。
参考:

相关问题