如果使用“/netonly”参数通过“runas”运行 Windows 程序,是否有办法查看该程序在网络上使用哪些凭据?类似于您在任务管理器、“tasklist”或 Get-Process 中看到某个用户正在运行某个进程的方式?
答案1
以任何具有管理权限的用户身份执行以下操作。当然,这只有效后已启动的进程——runas /netonly
访问了网络资源。
- 使用提升的权限打开命令行 (以管理员身份运行)并输入
klist sessions
。 - 搜索其中所述的会话
Negotiate:NewCredentials
(来自/netonly
交换机➜登录类型 9)并且包含执行命令的用户名runas
。 - 记下会话 ID,例如0x154f7a8。
- 输入命令
klist -li 0x154f7a8
。这将显示此会话的所有 Kerberos 票证。Kerberos 票证授予用于该runas /netonly
命令的用户帐户。如果该命令未返回任何票证,则该进程尚未访问网络资源,因此尚未收到票证。在这种情况下,我认为你唯一的机会是使用类似米米卡茨从内存中读取缓存的凭据。