远程桌面协议(Remote Desktop Protocol,简称RDP)是用于远程控制系统较流行的通信协议之一,适用于当前大多数Windows操作系统,通过提供图形用户界面,允许用户远程访问服务器或其他计算机。Microsoft甚至将其定位为管理运行Windows系统Azure虚拟机的默认方法。
由于RDP是一种非常流行的协议,攻击者一旦获取访问权限,就会使用其转移到其他系统,所以,RDP也成功吸引了攻击者的目光。因为他们意识到,相较于利用没有必胜把握的漏洞,使用RDP这种远程访问工具明显更加高效——只需获得正确的凭据即可访问企业网络。
根据最近的X-Force报告,窃取访问这些系统的凭据是暗网上利润最可观的生意之一,不过,这些直接暴露的服务器并不是攻击者使用(或者说滥用)RDP的唯一系统,他们的目标之一是融入常规流量。
RDP如何运行?
在深入探讨RDP威胁和防御之前,最好先了解一下它是如何运行的。RDP是一个双向通信协议。它可以将服务器的屏幕输出传输到客户端;将键盘和鼠标的输入内容从客户端传输到服务器;这个过程是非对称的,因为大多数数据都是从服务器到客户端,但客户端返回数据很少。客户端和服务器在建立通信之前必须经历多个阶段。
客户端连接后,就与服务器使用设置(例如屏幕分辨率)、支持功能与许可证信息达成一致。然后,它们就RDP安全类型达成一致,并从两种支持模式中进行选择:一是标准模式,基于RC4;二是增强模式,其中RDP依赖于其他协议,例如TLS或CredSSP。
最后,客户端与服务器必须就所需的通道数量达成一致。所谓通道即单独的数据流,每个数据流都有自己的ID,从而构成远程桌面协议。这些通道可以重定向对文件系统的访问,或启用客户端与服务器之间的剪贴板共享。
RDP相关漏洞及APT组织
BlueKeep
2019年,研究人员发现了RDP中的一个关键漏洞,称为“BlueKeep”,利用该漏洞(CVE-2019-0708)可远程执行随机代码,无需用户执行任何操作,同时无需有效凭证。这些事实结合起来可能会导致蠕虫——可以在易受攻击的系统间自我传播的恶意软件。几年前出现的Wanncry恶意软件中曾发现过了类似事情。BlueKeep的显著特点是它可以连接到较老的Windows系统。这迫使微软采取奇怪的步骤为其不再支持的系统版本制作新补丁。
DejaBlue
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确实存在诸多风险,而且攻击者对远程访问工具的兴趣也日趋高涨,但这并不意味着组织不能以安全和可控的方式部署它们。如果组织充分考虑上述预防措施,并设置了足够的日志记录和监控策略,应该会收到不错的效果。
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】