共计 2239 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | 由于 RDP 是一种非常流行的协议,攻击者一旦获取访问权限,就会使用其转移到其他系统,所以,RDP 也成功吸引了攻击者的目光。 |
远程桌面协议 (Remote Desktop Protocol,简称 RDP) 是用于远程控制系统较流行的通信协议之一,适用于当前大多数 Windows 操作系统,通过提供图形用户界面,允许用户远程访问服务器或其他计算机。Microsoft 甚至将其定位为管理运行 Windows 系统 Azure 虚拟机的默认方法。
由于 RDP 是一种非常流行的协议,攻击者一旦获取访问权限,就会使用其转移到其他系统,所以,RDP 也成功吸引了攻击者的目光。因为他们意识到,相较于利用没有必胜把握的漏洞,使用 RDP 这种远程访问工具明显更加高效——只需获得正确的凭据即可访问企业网络。
根据最近的 X -Force 报告,窃取访问这些系统的凭据是暗网上利润最可观的生意之一,不过,这些直接暴露的服务器并不是攻击者使用(或者说滥用)RDP 的唯一系统,他们的目标之一是融入常规流量。
在深入探讨 RDP 威胁和防御之前,最好先了解一下它是如何运行的。RDP 是一个双向通信协议。它可以将服务器的屏幕输出传输到客户端; 将键盘和鼠标的输入内容从客户端传输到服务器; 这个过程是非对称的,因为大多数数据都是从服务器到客户端,但客户端返回数据很少。客户端和服务器在建立通信之前必须经历多个阶段。
客户端连接后,就与服务器使用设置(例如屏幕分辨率)、支持功能与许可证信息达成一致。然后,它们就 RDP 安全类型达成一致,并从两种支持模式中进行选择:一是标准模式,基于 RC4; 二是增强模式,其中 RDP 依赖于其他协议,例如 TLS 或 CredSSP。
最后,客户端与服务器必须就所需的通道数量达成一致。所谓通道即单独的数据流,每个数据流都有自己的 ID,从而构成远程桌面协议。这些通道可以重定向对文件系统的访问,或启用客户端与服务器之间的剪贴板共享。
2019 年,研究人员发现了 RDP 中的一个关键漏洞,称为“BlueKeep”,利用该漏洞 (CVE-2019-0708) 可远程执行随机代码,无需用户执行任何操作,同时无需有效凭证。这些事实结合起来可能会导致蠕虫——可以在易受攻击的系统间自我传播的恶意软件。几年前出现的 Wanncry 恶意软件中曾发现过了类似事情。BlueKeep 的显著特点是它可以连接到较老的 Windows 系统。这迫使微软采取奇怪的步骤为其不再支持的系统版本制作新补丁。
2019 年 8 月,研究人员公布 DejaBlue——它不是一个漏洞,而是一系列漏洞,类似于 BlueKeep,允许攻击者在没有任何形式的身份验证情况下劫持易受攻击的系统。与 BlueKeep 不同的是,DejaBlue 的漏洞位于较新版本的 Windows 中。有时候,攻击者无需滥用漏洞,只要简单地利用配置错误就能进行攻击。RDP 安全中一些常见的风险包括:弱用户登录凭据; 未对 RDP 登录服务器的行为进行记录或监控,这些系统允许攻击者随意尝试蛮力或密码喷洒攻击; 未经任何网络过滤公开暴露的系统。
经常利用 RDP 实施攻击的组织包括:APT41、FIN6、FIN7 等组织使用 RDP 进行横向移动;FLIPSIDE 等组织使用 RDP 来窃取信息,例如,Ngrok 就是一个合法的反向代理,可以通过对 RDP 中的流量隧道化来渗漏受害者数据;WannaCry 恶意软件可以在现有的远程桌面会话中执行恶意软件,这种对会话的“窃取”行为通常称为“RDP 劫持”。
虽然存在诸多安全风险,但 RDP 仍然可以为我们提供很多价值。想要保护远程桌面服务器,需要考虑许多关键因素。
首先,补丁管理是基础,确保系统始终保持最新状态,尤其是对于关键的远程访问服务而言,其重要性不言而喻。其次,大多数情况下,组织无需向全世界公开 RDP,组织可以使用防火墙、IP 限制、通过虚拟专用网限制访问或使用即时访问,后者大大降低了风险,并且可以确保组织在需要时随时访问该服务。再次,确保不要为启用 RDP 的帐户使用易于猜测的密码。如果不需要,不要允许远程访问所有系统用户。
此外,实现某种形式的自动帐户锁定非常有意义,可以防止攻击者通过暴力破解来猜测密码。组织可能还需要启用网络级别身份验证或 NLA——这是一种缓解措施,可防止对 RDP 隧道的意外访问。
无论组织的 RDP 设置多么安全,总会有攻击者抓到机会的时候。这时,组织需要依靠日志记录和监控来分析正在发生的事情。
RDP 取证工件的重要来源包括:命令 quser、qwinsta 和 qprocess 提供有关 RDP 用户、会话和进程的信息;Microsoft-Windows-Terminal-Services-RemoteConnectionManager 和 Windows-TerminalServices-LocalSessionManager 通知客户端网络连接以及 RDP 会话的起止; 最后,Microsoft-Windows-Security-Auditing 包括认证尝试成功或失败的事件。
尽管 RDP 确实存在诸多风险,而且攻击者对远程访问工具的兴趣也日趋高涨,但这并不意味着组织不能以安全和可控的方式部署它们。如果组织充分考虑上述预防措施,并设置了足够的日志记录和监控策略,应该会收到不错的效果。