用户会话与令牌 当我们在一台 Windows 域主机上获得了 SYSTEM 权限,我们可以模仿任何在本机登陆的域用户。如果模仿的对象在域内具有其他特权,我们可以利用此来移动到其他主机甚至域。 在 Windows 本机,我们可以有这些方式来查询 进程的拥有者 我们可以使用程序 tasklist.exe 来查询进程的拥有者: tasklist.exe /v 或者 PowerShell 命令 Get-Process -IncludeUserName Get-Process -IncludeUserName 可惜的是,就 Web02 上,并没有发现其他用户的进程,但在别的主机上,也许我们会有意外收获。我们不妨以 sql_service 用户运行 cmd 程序,然后我们发现了其会话。 会话查询 我们可以通过命令 query session 来查询当前主机的会话,会话来源有交互式登陆、RDP登陆、服务执行。 query session 我们依旧没有看到其他用户的会话。虽然我们以 sql_service 身份运行了 cmd 程序,但并不属于三种来源之一。 SharpToken 我们可以使用工具 SharpToken (https://github.com/BeichenDream/SharpToken) 来枚举当前主机所有可用的令牌,需要在 SYSTEM 权限下使用。 我们之前 runas 的 sql_service 用户的令牌也能有显示 BloodHound 在 BloodHound 中,我们可以查看部分远程主机的 Sessions 信息,例如,我们从图中得知 file01 上有 John 的会话。 file01 确实当前是 john 登陆。