【问题标题】:How to check if session is being shadowed in Windows Terminal Server如何检查会话是否在 Windows 终端服务器中被隐藏
【发布时间】:2019-10-08 11:01:20
【问题描述】:

假设以下场景:

  1. 我使用 RDP 登录终端服务器(Windows Server 2012 R2 或 2016)
  2. 另一个用户使用“mstsc.exe /shadow”命令连接到我的会话。
  3. 我收到确认访问的消息,我同意。
  4. 然后,过了一会儿,我想检查一下我的会话是否仍处于阴影中。

有没有办法执行这个检查?任何命令、Win32 API、WMI 查询? 到目前为止,我只能发现rdpsaproxy.exe 程序是在影子会话中启动的。这几乎足够了,但是当用户在提示接受初始阴影请求时拒绝访问时,该程序也会继续运行。因此,在检查会话中检测到 rdpsaproxy 的存在并不足以说明有人在监视我。

【问题讨论】:

  • 我注意到 RdpSa.exe 程序在会话被隐藏时启动,它创建命名事件信号量,其名称为“RDPSchedulerEvent”,后跟一些数字。仅当接受影子请求时才创建此对象。这纯粹是试错法,但似乎有效。我已将示例程序放到 github:github.com/macmacy/chkshadow

标签: windows rdp terminal-services


【解决方案1】:

您可以将通知任务绑定到 Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational 事件日志的事件:

  • 20503 - 影子观察开始
  • 20504 - 影子观察停止
  • 20506 - 阴影控制已启动
  • 20507 - 阴影控制已停止

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多