首页/安全/取证与溯源速查/RDP 使用痕迹收集
Windows 取证55 条

RDP 使用痕迹收集

RDP 痕迹散布多处:安全日志登录类型 10、TerminalServices 事件、Default.rdp 与 RDPCache 位图缓存。

取证与溯源速查安全更新于 2026-10-13

RDP 痕迹有哪些

RDP(Remote Desktop Protocol)默认使用 TCP 3389,在 Windows 上留下的痕迹分散在主机侧与客户端侧两类位置。主机侧看安全日志的登录类型 10(RemoteInteractive)与 TerminalServices 系列事件,能回答谁在什么时候从哪个 IP 登录了这台机器;客户端侧看 Default.rdp 与终端服务客户端的位图缓存,能回答这台机器主动连过哪台远程主机。取证时必须先分方向:入站登录与出站连接是两件事,混在一起会得出错误结论。

基本信息

适用平台Windows 7/10/11 与 Windows Server 2008 R2 及以上
主机侧来源Security 日志 4624(类型10)/4625/4778/4779;Microsoft-Windows-TerminalServices-LocalSessionManager/Operational 21/22/23/24/25;RemoteConnectionManager/Operational
客户端侧来源%USERPROFILE%\AppData\Local\Microsoft\Terminal Server Client 下的 Default.rdp、Cache 目录与 Servers 子键
关键字段TargetUserName、LogonType、IpAddress、LogonProcessName、会话 ID
前置条件安全日志需开启登录审核;终端服务 Operational 日志默认可能是关闭状态

典型使用场景

  • 确认某台服务器在事件窗口内是否被远程登录,登录来源是哪台主机或哪个公网地址
  • 区分管理员正常运维与攻击者利用被盗凭据的远程登录:看时段、来源 IP、会话时长
  • 发现内网横向:一台已失陷主机是否用 RDP 连过其他服务器
  • 还原客户端侧的连接目标:员工或攻击者在这台机器上手工连过哪些地址
  • 为处置动作提供依据:确认哪些会话要断开,哪些账号需要改密

主机侧查询

主机侧查询
# 安全日志里筛出远程交互式登录成功记录
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624; StartTime=(Get-Date).AddDays(-7)} |
  Where-Object { $_.Message -match 'Logon Type:\s+10' } |
  Select-Object TimeCreated, Message | Format-List
# 终端服务会话日志:21 登录成功、23 注销、24 断连、25 重连
wevtutil qe Microsoft-Windows-TerminalServices-LocalSessionManager/Operational /c:20 /rd:true /f:text
# 失败登录按来源 IP 聚合,看是否存在口令喷洒
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 200 |
  Where-Object { $_.Message -match 'Logon Type:\s+10' } | Select-Object TimeCreated, Message

客户端侧清单

客户端侧清单
# 位图缓存与每台目标主机的连接配置
Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Terminal Server Client" -Recurse |
  Select-Object FullName, LastWriteTime, Length | Sort-Object LastWriteTime -Descending
# 列出历史连接目标所在子目录(每条对应一台远程主机)
Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Terminal Server Client\Servers" -Recurse -File |
  Select-Object FullName, LastWriteTime

痕迹位置对照

位置含义读法要点
4624 类型 10远程交互式登录成功看 IpAddress 与 TargetUserName;同一账号短时间多来源登录即异常
4625 类型 10远程登录失败按来源 IP 聚合,连续尝试是爆破特征
LocalSessionManager 21/22/24/25会话登录、Shell 启动、断连、重连事件正文含源地址与用户名,能看到会话生命周期
Default.rdp客户端上次连接设置字段随 Windows 版本变化,作为辅助佐证
Cache 目录文件屏幕位图缓存可还原部分画面碎片,只能作为操作佐证
Servers 子目录按目标主机存放的连接配置目录名与文件内容可推出连接过的地址
LocalSessionManager/Operational 日志在部分系统上默认未启用,采集前提早检查;若为关闭状态,只能用安全日志与网络侧记录替代,并在报告中写明证据盲区。
远程桌面网关(RD Gateway)与堡垒机场景下,主机侧看到的来源 IP 是网关地址而非终端真实地址;此时要到网关或堡垒机日志里找真实来源,两侧时间线对齐后再下结论。

易错点

  • 把位图缓存还原出的画面碎片当作完整截屏描述:它只是屏幕区域的压缩片段,结论只能说“出现过程序窗口特征”,不能当作操作全过程证据
  • 混淆入站登录与出站连接:4624 类型 10 说明本机被登录,客户端的 Default.rdp 与 Cache 说明本机发起过连接,报告里方向写错会导致责任主体判断错误
  • 只看成功登录不看失败尝试:爆破与口令喷洒的证据在 4625 里,漏掉会低估攻击者的尝试次数与时间跨度
  • 忽略时区与时钟:安全日志默认记录本地时间,跨机比对前先确认各源时区与偏移,否则会话顺序会看起来错乱
  • 直接在原盘上跑采集脚本:客户端痕迹位于用户目录,分析动作会改 LastWriteTime;先在取证副本或只读挂载上操作,并记录原始时间

数据来源与参考

  • Microsoft Docs(RDP 客户端痕迹与事件)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌