好吧,这篇文章的名字听起来可能不像“恶意软件入门”或“如何检测和阻止一个民族国家”那样令人兴奋,但我保证它很重要,所有 DFIR 分析师都应该知道!让我们来讨论一下几乎每一次入侵中都可能遇到的情况:滥用远程桌面协议 (RDP) 进行横向移动。这可不是漏洞利用或零日漏洞。它实际上只是利用了你、你的管理员或普通用户每天都在使用的工具。这正是它如此有效的原因!
这篇博文将分为两部分,第一部分将重点介绍用于调查 RDP 的事件日志和生成的 ID。第二部分将重点介绍生成的工件。
概要:
-
如果您使用 RDP,威胁行为者 (TA) 可能也会使用它
-
如果你不使用 RDP,TA 可能仍会使用这个
-
RDP 是 Windows 原生的
-
其他远程管理和监控 (RMM) 工具可以使用此协议
-
有一些工件将显示传入和传出的 RDP 连接
-
记录的日志将显示传入和传出的 RDP 连接
-
本文提到的每个事件日志都可能被恶意行为者删除或翻转
-
显示 RDP 活动的日志可以轻松清除(日志转发!)
-
RDP 可以根据用户和组进行限制,并支持多因素身份验证 (MFA)
-
RDP 生成“交互式”会话,这意味着凭证存储在内存中,可能会被 TA 窃取
-
内置的 Windows 控件可以进一步强化 RDP 会话
-
RDP 也可能被称为终端服务或 MSTSC(Microsoft 终端服务器客户端)
-
Windows 可能会在某些“RDP”专用日志中记录手动键盘登录。请谨慎操作,切勿在未进一步关联或未检查源 IP 地址和登录类型的情况下立即跳转到 RDP 连接。
-
熟悉您的登录类型至关重要。如需复习,请参阅以下 Microsoft 文章:https://learn.microsoft.com/en-us/windows-server/identity/securing-privileged-access/reference-tools-logon-types
好的,我们可能都知道 RDP 是什么,但如果你读过我之前的博客,你就会知道我喜欢把我的博文面向所有读者,所以让我们简单介绍一下 RDP 是什么。RDP 即远程桌面协议,它运行在端口“3389”上,允许你通过远程连接从一个系统连接到另一个系统。RDP 被认为是一个“交互式”会话,这意味着一旦连接成功,你就会进入桌面和图形用户界面 (GUI)。如果你想了解更多信息,请查看以下资源:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/remote/understanding-remote-desktop-protocol
https://www.cloudflare.com/learning/access-management/what-is-the-remote-desktop-protocol/
那么,现在让我们开始深入探讨它的细节吧!如上所述,RDP 几乎在每一次入侵中都以某种方式出现。这可能是攻击者使用Ngrok等工具建立 RDP 隧道,创建用户并将其添加到 RDP 组,或者使用现有的被盗账户在网络上进行 RDP!您可能还会看到单个本地管理员帐户被盗,然后用于在网络上进行 RDP。如果是本地管理员帐户,该怎么做?密码重用!如果您的环境使用本地管理员帐户,并且在每个系统上都使用相同的密码启用了该帐户,则攻击者可以并且将使用此用户名和密码对连接到几乎每个主机。即使您为某些用户禁用了 RDP,您最好相信攻击者很可能会尝试将他们被盗用/创建的帐户添加到 RDP 组中!这篇文章不一定会讨论检测规则,但您可以看到为什么拥有环境基线和日志转发以检测何时将用户添加到特权组或修改防火墙规则以允许端口“3389”很重要。
在调查 RDP 活动时,我们来讨论一下几个方面。如上所述,RDP 连接会创建大量文件和日志事件,因此很容易确定是否使用了 RDP 以及从何处使用。您可以在 Windows 事件日志、防火墙日志以及 Windows 文件(例如用户助手、预取等)中看到这些信息,我们将在下文中讨论这些内容。请记住,源系统和目标系统上会存在不同的文件。一个文件显示出站 RDP 连接,我们将其称为“源”,另一个文件显示入站 RDP 连接,即“目标”。请注意,正如“概要”中所述,RDP 可能被称为终端服务。
注意:根据您查看事件日志的位置/方式,路径可能会有所不同。例如,浏览 C:WindowsSystem32Winevtlogs 中的事件日志可能与通过 Windows 事件查看器并使用事件查看器管理单元浏览事件日志不同。在这种情况下,以下大多数日志可能位于事件查看器中的“应用程序和服务日志”>“Microsoft”>“Windows”中。其中大多数将是“操作”事件日志。
Windows 事件日志
记录 RDP 活动的重要事件日志
-
安全
-
终端服务 - RDP客户端
-
终端服务-本地会话管理器
-
远程桌面服务 - RDP 核心 TS
-
终端服务 - 远程连接管理器
-
Sysmon
与 RDP 相关的事件 ID
4624
安全事件日志(目标系统) - 4624 可能是您熟悉的事件 ID。本质上,这些只是登录事件。因此,当 TA 建立 RDP 连接时,正如您所想象的,这将生成 4624 事件。您经常看到的 RDP 登录是类型 10 和类型 7。类型 10 是 RDP 连接,类型 7 是重新连接/解锁,具体取决于连接。如前所述,如果您需要复习登录类型,请查看此处的Microsoft 文章。确保您也在查找类型 7 连接,因为当 TA 使用现有的 RDP 连接/会话时,可能会记录这些连接。请注意,安全事件日志可能会根据系统的不同而快速滚动。
4778
安全事件日志(目标系统) - 与上面描述的 7 类登录事件类似,当会话通过终端服务重新连接时,会生成 4778 个事件 ID。虽然您可能能够将此事件 ID 与其他事件 ID 关联起来,但它仍然是一个非常适合记录和搜索 RDP 事件 ID 的事件 ID。
4779
安全事件日志(目标系统) - 这与上述事件 ID(4778)直接相关,并在用户断开终端服务会话时记录。
4648
安全事件日志(源系统) - 生成的事件称为“显式登录”。此类事件在多个远程连接(不仅仅是 RDP)中都会出现。这指示何时使用一个系统/凭据连接到另一个系统/凭据。这通常会记录启动过程,例如 MSTSC/终端服务/RDP。
1024
终端服务 RDP 客户端(源系统) - 这是一个非常重要且有用的事件 ID,与 1102 事件 ID 一致,并记录目标主机名。它可以显示何时使用 RDP 连接到目标系统。此事件日志的优点在于它专门用于 RDP,并且不像安全事件日志那样频繁地滚动,尽管它仍然可以由技术顾问清除。
1102
终端服务 RDPClient(源系统) - 与上述事件 ID 类似,用于显示出站 RDP 连接,但记录目标 IP 地址。
1149
TerminalServices - RemoteConnectionManager(目标系统) - 在搜索 RDP 连接时,这是一个非常棒的事件 ID 和事件日志。它记录了连接主机的源 IP 和用户名。
21 - 25
TerminialServices - LocalSessionManager(目标系统) - 这些是我最喜欢的事件ID和事件日志,因为我个人使用这些事件ID和日志取得了极大的成功,并且在调查RDP时非常依赖它们。就我个人而言,在搜索RDP活动时,我会首先查看这些事件日志/事件ID。事件21、22和25记录登录、会话启动和重新连接;而事件23和24记录断开连接和注销。这些事件将记录源IP和用户名。请注意,如果源IP地址列为“LOCAL”,则您可能正在查看通过键盘进行的本地手动登录。情况并非总是如此,但如果您遇到这种情况,则需要注意并进一步进行关联。
131
远程桌面服务 - RDP Core TS(目标系统) - 同样,数据越多越好!此事件将记录连接尝试。请注意“尝试”一词。此事件 ID 不会记录成功的连接,但它可以记录暴力破解尝试并列出源 IP 和用户名。
98
远程桌面服务 - RDP Core TS(目标系统) - 此事件 ID 与上述(131)事件 ID 直接相关,并将记录成功的连接。
如您所见,虽然安全事件日志显然非常出色,但还是有专门记录 RDP 活动的日志。这只会给分析师提供更多数据,例如安全日志的滚动更新(这种情况比我希望的更频繁),或者技术顾问只专注于清除安全事件日志,而留下这些日志供我们查看!这些专用日志通常噪音较小,可以记录多年的 RDP 活动。
再次强调,请注意源 IP 地址,以及它是否被列为“本地”;Windows 也经常以奇怪的方式记录 RDP 登录,所以不要总是依赖单一来源!在创建时间线时,您应该能够将这些日志和事件 ID 与其他信息关联起来,以了解通过 RDP 进行的横向移动。
现在,由于生成的许多事件非常相似,我不会为每个事件发布一张图片,但让我们看下面的几个!
理想情况下,您需要使用专用的事件查看工具或解析器。但是,为了方便截图,我将使用老式的 Windows 事件查看器!
所以,我们先来看一下比较棘手的问题。下图中,我们可以看到目标系统上的终端服务 - LocalSessionManager 事件日志中,源 IP 被列为“LOCAL”。请记住,这可能只是普通的手动键盘登录,并不代表 RDP 操作。记住,“目标”系统是远程主机正在连接的系统。
现在,下面这个很可能表明 RDP 是在这里建立的,因为源地址被列为 IP 地址。
现在让我们查看来自源系统(即发起 RDP 连接的系统)的事件。下图显示的是来自“RDPClient”事件日志的事件。
有了这些信息,赶紧行动起来,开始调查 RDP 的横向移动攻击!追踪连接系统,看看它们来自哪里!找到主机名,开始追踪吧!
原文始发于微信公众号(Ots安全):横向移动 - 远程桌面协议 (RDP) 事件日志
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论