我想通过设置相关的SACL和使用审计事件来监视给定密钥及其子项和值的registry修改。
我已经在registry项上设置了SACL并将其configuration为监视Everyone的所有修改尝试:
ACE的屏幕截图
但是,我注意到,当通过命令行reg命令创build新值时,将会生成一个审计事件:
reg add hklm\SYSTEM\CurrentControlSet\Services\TestService /v DeleteFlag /t REG_NONE /d 1
尽pipe使用C#代码创build新密钥时不会生成事件。 例如:
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\Services\TestService\"); key.SetValue("DeleteFlag", "1", RegistryValueKind.DWord); key.Close();
当事件不是由我直接创build的,也没有事件发生。 例如运行写入registry的“sc create”:
sc create haithamtest2 binpath="c:\temp\123.exe"
为什么发生这种情况? 任何方式来获得这些事件?