Windows 日志中的目标用户名与主题用户名

Windows 日志中的目标用户名与主题用户名

查看 Windows 事件日志时,我看到提到了两种用户:主题用户名和目标用户名。

对于身份验证日志(例如 4624 登录事件),我理解主题用户名是执行身份验证的用户,即系统。而目标用户名是尝试进行身份验证的用户。

但是,对于进程创建(eventcode 4688)这样的日志,主体用户是谁,目标用户又是谁呢?

我唯一能想到的是,如果使用模拟令牌,那么主体可以是执行操作的用户,而目标可以是代表其执行操作的用户。但我不认为这是正确答案。

有任何想法吗?

答案1

这是事件 ID 4624
"account was successfully logged on"

尝试登录的用户可能与登录的用户不同。
因此,我们有主题用户名和目标用户名。

这是事件 ID 4688
"new process has been created"

某个用户正在启动某个新进程。因此,我们有主题用户名。
新进程可能由同一用户拥有。
那就是当使用创建进程A,这是很常见的。

我们还可以使用创建进程作为用户A&创建进程与登录名&创建进程WithTokenW,其中我们有目标用户名。
在这些情况下,主题用户名与目标用户名不同。

以下是 C++ 示例:


BOOL CreateProcessWithLogonW(
  [in]                LPCWSTR               lpUsername,
  [in, optional]      LPCWSTR               lpDomain,
  [in]                LPCWSTR               lpPassword,
  [in]                DWORD                 dwLogonFlags,
  [in, optional]      LPCWSTR               lpApplicationName,
  [in, out, optional] LPWSTR                lpCommandLine,
  [in]                DWORD                 dwCreationFlags,
  [in, optional]      LPVOID                lpEnvironment,
  [in, optional]      LPCWSTR               lpCurrentDirectory,
  [in]                LPSTARTUPINFOW        lpStartupInfo,
  [out]               LPPROCESS_INFORMATION lpProcessInformation
);

在这种情况下,我们在此处有目标用户名详细信息:


  [in]                LPCWSTR               lpUsername,
  [in, optional]      LPCWSTR               lpDomain,
  [in]                LPCWSTR               lpPassword,
  [in]                DWORD                 dwLogonFlags,

因此,即使事件 ID 为 4624 和事件 ID 为 4688,拥有主题用户名和目标用户名也是非常必要的。

相关内容