远程桌面协议(RDP)是 Windows 环境中最常见的入口点之一——无论是对系统管理员还是恶意攻击者而言。理解 RDP 相关事件 ID 的链路 使防御者能够重建会话活动、识别未授权访问,并关联登录、重连和注销行为。
本文将拆解 关键 RDP 事件 ,并以时间线可视化 的方式呈现 RDP 会话的完整生命周期。
当一个有效的 RDP 会话建立时,将触发以下事件 ID :
| 事件 ID | 描述 | 日志来源 |
|---|---|---|
| 1149 | 用户身份验证成功 | RemoteConnectionManager |
| 4624 (Type 10/7) | 登录成功 | Security.evtx |
| 21, 22 | Shell 启动 / 会话登录 | LocalSessionManager |
RDP 成功登录
提示:始终关联 1149 + 4624 来确认 RDP 登录。Type 10(RemoteInteractive)是最有力的证据。
攻击者偏好对 RDP 发起暴力破解攻击。使用以下事件追踪失败的登录尝试:
| 事件 ID | 描述 | 日志来源 |
|---|---|---|
| 1149 | 尝试已发起(仍会触发!) | RemoteConnectionManager |
| 4625 | 账户登录失败 | Security.evtx |
关注高频率的 4625 事件后紧跟一个成功的 4624——这是暴力破解成功的典型特征。
会话可能因空闲超时或网络中断而断开连接。以下是追踪方式:
| 事件 ID | 事件含义 | 来源 |
|---|---|---|
| 24, 40 | 会话已断开 | LocalSessionManager |
| 4634 | 账户已注销 | Security.evtx |
| 4779 | 会话已从 Window Station 断开 | Security.evtx |
| 25 | 会话重连成功 | LSM |
| 4778 | 会话已重连 | Security.evtx |
事件 40 中的原因代码可以指示断开连接是手动操作、空闲超时还是网络丢失导致的。
RDP 会话断开(关闭窗口)
RDP 会话断开(通过开始菜单主动断开)
RDP 会话重连
RDP 会话的尾声会记录最终的清理操作:
| 事件 ID | 含义 | 来源 |
|---|---|---|
| 23 | 注销成功 | LSM |
| 4647 | 用户发起注销 | Security.evtx |
| 9009 | 桌面窗口管理器已退出 | System.evtx |
使用事件 4647 来区分用户主动注销与强制注销。
RDP 会话注销
假设你观察到以下事件序列:
- 针对用户
admin的大量4625失败事件 - 一条成功的
1149+4624(Type 10) - 随后快速出现
4634注销
这可能表明一次暴力破解攻击成功后,攻击者立即进行了侦察 并随即注销。
结合以下上下文数据进一步分析:
- 登录时间在工作时间之外
- 非企业内部 IP 地址
- 异常的主机名或会话持续时间
以下是一个概念性的时间线:
[00:00] -> Event 1149: Auth attempt
[00:01] -> Event 4624: Success login (Type 10)
[00:02] -> Event 21/22: Shell/session initiated
[00:30] -> Event 40: Disconnected
[00:31] -> Event 25: Reconnected
[01:00] -> Event 4647: Logoff initiated
[01:00] -> Event 9009: DWM closed
这样的可视化时间线有助于威胁狩猎和事后调查分析。
RDP 事件取证不仅仅是检测暴力破解攻击——更重要的是从日志中构建完整的攻击叙事。通过关联 Security.evtx、System.evtx和 TerminalServices日志中的事件 ID,你可以高保真地重建攻击者的行为轨迹 。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


