导语:对于IT人员和Windows用户来说,Microsoft终端服务远程桌面协议(RDP)是一个非常好用的工具,可以交互式使用或管理远程Windows系统。然而,美国网络安全公司Mandian的安全研究人员也观察到有攻击者在使用RDP时,利用了受攻击的域名证书,
对于IT人员和Windows用户来说,Microsoft终端服务远程桌面协议(RDP)是一个非常好用的工具,可以交互式使用或管理远程Windows系统。然而,美国网络安全公司Mandian的安全研究人员也观察到有攻击者在使用RDP时,利用了受攻击的域名证书,来进行跨网络攻击。
要了解攻击者如何利用RDP,请看以下示意图。
1.来自人力资源部的一名工作人员无意中通过与钓鱼邮件的交互安装了恶意的后门;
2.后门恶意软件从Mimikatz运行密码窃取功能,以获取存储在内存中的凭证,用于访问系统的任何用户帐户;
3.后门会为攻击者的命令和控制(C2)服务器创建了一个网络通道;
4.攻击者使用被破坏的凭证,通过网络通道登录到人力资源管理员的系统;
5.为了获取财务信息,攻击者使用Active Directory枚举命令来标识财务部门使用的基于域的系统;
6.攻击者使用RDP和受损的人力资源管理员帐户连接到财务部门的系统;
7.攻击者使用Mimikatz在财务系统中提取凭证,从而获得使用系统的财务人员的缓存密码,以及最近登录到系统进行故障排除的IT管理员访问缓存的密码;
8.使用RDP,攻击者利用人力资源管理员的帐户、财务雇员的帐户和IT管理员雇员的帐户登录到环境中的其他系统。
9.攻击者将数据分类到人力资源管理员的系统;
10.攻击者通过内置的RDP复制和粘贴功能窃取文件。
用于识别此类活动的最佳做法是建立远程桌面网络协议基准,要做到这一点,安全研究人员必须首先了解其特定环境的正常行为,然后开始根据意外的模式配置检测。可以帮助确定基于上述场景的实用检测技术的问题包括:
1.企业的人力资源工作人员或财务人员会经常使用RDP吗?
2.企业的人力资源开发人员是否同时在用同一账号登录财务系统?
3.企业的人力资源工作人员或财务人员是否同时在使用多个目标系统?
4.企业的人力资源工作人员或财务部门的系统是否被用于RDP的源系统?
5.企业的IT管理员是否是从不属于IT网络部分的源系统记录RDP?
6.企业的关键服务器是否有来自不属于IT网络部分的源系统的登录?
7.企业的关键服务器是否有来自用户帐户的RDP登录,这些用户帐户与企业的人力资源工作人员或财务人员是否相关?
8.是否需要用单个用户帐户启动来自多个源系统的RDP连接?
尽管开发一个自定义的流程来确定用户帐户范围,源系统以及在组织环境中利用RDP的目标系统可能需要一段时间,但对这些数据进行规范化和审核将使公司的员工更深入地了解用户帐户行为,以及检测意外活动。
通过事件日志跟踪RDP
第一步是通过使用事件日志来确定这种网络典型行为,RDP登录可以在涉及的源和目标系统上生成文件、事件日志和注册表构件。“如何通过跟踪事件日志检测感染行为”一文详细描述了调查人员如何在源和目标系统上发现异常行为。
为了达到发现异常行为的目的,企业的基准方法将重点放在目标系统上记录的3个高保真登录事件:
“TerminalServices-LocalSessionManager”日志中的EID 21和EID 25,通常位于1.“%systemroot%\Windows\System32\winevt\Logs\Microsoft-TerminalServices-LocalSessionmanager%3Operational.evtx”;
2.“安全”日志中通常位于“%systemroot%\Windows\System32\winevt\Logs\Security.evtx”中的EID 4624类型10登录条目;
当成功的交互式本地或远程登录事件发生时,将在目标系统上创建如下图所示的EID 21条目。
EID 21样本结构
下图中所示的EID 25条目是在已经与先前建立的RDP会话系统重新连接的目标系统上创建的,该系统未通过正确的用户注销而终止。例如,关闭RDP窗口(它将生成EID 24),而不是通过开始菜单注销(这将生成EID 23)。
EID 25样本结构
EID 4624条目是在发生任何类型的登录时在目标系统上创建的。有关RDP身份验证的证据,我将重点关注带有Logon Type 10的EID 4624条目,如下图所示,这对应于RDP身份验证。
Logon Type 10的EID 4624样本结构
这些事件日志条目提供了从一个系统到另一个系统成功的RDP认证的证据,对于大多数安全团队来说,要收集这些事件日志数据,必须将日志转发到聚合平台,比如安全信息和事件管理平台(SIEM)平台,或者使用像FireEye的终端安全性(HX)设备这样的取证工具收集。提取数据后,必须对数据进行处理和堆栈,进行频率分析(frequency analysis)。这篇文章的赝本都是基于唯一的用户帐户,源系统和目标系统生成的日志数据。
对于EID 21和EID 25,用户帐户和源系统在事件日志字符串中被捕获,而目标系统是记录事件的系统。请注意,记录在日志中的“源网络地址”可以是主机名或IP地址。你的数据处理器除了会从映射IP地址和主机名中获取有用的信息外,还能获得动态主机配置协议(DHCP)。如果你能了解有哪些系统与特定的用户帐户或业务单元相关,将极大地有助于分析日志数据。如果你的企业没有跟踪到这些信息,则你应该要求在资产管理数据库中创建或捕获该文档,以实现自动关联。
识别缺乏一致性
通过对事件日志的分析,一旦RDP活动在你的环境中被进行了基准化分析,安全分析人员就可以开始识别偏离业务需求和规范化模式的RDP活动。请记住,区分合法和异常的RDP活动可能需要时间。
在将IP地址映射到主机名时,DHCP日志不仅会被证明是有用的,而且与特定业务单元关联的系统和用户帐户的文档也可以帮助审查和关联观察到的RDP活动的可疑或良性行为。除了检测与预期不一致的RDP活动外,调查人员可以根据此基准,注意到RDP是否是正常的登录。
检测异常的指标
通过使用SIEM关联技术,分析人员可以按帐户,源系统和目标系统对RDP活动进行堆栈,以确定以下与指标相关的元素数量,这将加深安全人员对RDP活动的理解:
1.每个用户帐户的源系统;
2.每个用户帐户的目标系统;
3.每个源系统的用户帐户到目标系统的路径;
4.每个源系统的用户帐户;
5.每个目标系统的用户帐户。
6.源系统到每个用户帐户的目标系统路径;
7.每个用户帐户的RDP登录总数;
8.每个源系统的RDP登录总数;
9.每个目标系统的RDP登录总数;
10.每个源系统的目标系统;
11.每个目标系统的源系统;
这个指标列表并不详尽,如果需要,可以通过包含时间戳的元数据进行扩展。
总结
虽然基准RDP活动可能不易识别威胁演员不利用这种技术,或采取额外的步骤融入合法的用户活动,它会不断地帮助分析师更好地理解在其特定环境中正常行为是什么样子,可能最终确定异常或未经授权的活动的潜在指标。
下面的建议可以帮助你最大限度地提高RDP基线练习的有效性,同时还可以减少你的环境中攻击者使用RDP的机会:
1.禁用终端用户工作站和笔记本电脑上的远程桌面服务,以及不需要服务远程连接的系统。
2.如果需要使用RDP连接,则需要结合主机和基于网络的控件,以确保RDP连接必须从特定的跳转盒和集中管理服务器启动,以便远程连接到终端。
3.基于主机的防火墙规则明确禁止了入站RDP连接所提供的保护,特别是对于那些可能在组织管理基础设施之外的位置使用其系统的远程用户。使用基于主机的防火墙规则:
3.1.默认拒绝入站RDP连接;
3.2.当需要时,根据需要明确允许仅与来自与授权跳转框相关的IP地址的入站RDP;
4.使用“拒绝登录远程桌面服务”安全设置,以防止标准用户使用RDP连接到终端。
理想情况下,该设置还应该禁止RDP访问终端上的特权帐户(例如域管理员、服务帐户),因为攻击者通常会利用这些类型的帐户横向移动到环境中的其他敏感系统。
5.通过以下方式阻止本地帐户使用RDP:
5.1.安装KB2871997,并将SID “S-1-5-114: NT AUTHORITY\Local account and member of Administrators group”添加到“拒绝通过远程桌面服务”的终端上的安全设置,这可以通过使用组策略来实现。
5.2.使用诸如Microsoft LAPS这样的解决方案,将内置的本地管理员帐户的密码随机化。
6.确保在 “TerminalServices LocalSessionManager Operational” 事件日志内的EID 21、EID 23、EID 24和EID 25被捕获并转发到SIEM或日志聚合器。
7.确认在“安全”事件日志内的EID 4624被捕获并转发到SIEM或日志聚合器。
8.将“TerminalServices LocalSessionManager Operational”和事件日志的最大容量增加到至少500 MB,这样就可以通过使用组策略首选项(GPP)来修改注册表项“HKLM\ Microsoft\ Microsoft\Windows\CurrentVersion\ microsoftwindows – terminalservice -LocalSessionManager/操作”中的“MaxSize”注册表值。
9.将“安全”事件日志的最大容量增加到至少1GB。
10.对被清除(EID 1102)的“安全”和 “TerminalServices LocalSessionManager Operational” 事件日志进行监控。
11.创建并定期更新将用户帐户和主机名映射到业务单元的文档。
12.确保DHCP日志被存档,并且在登录事件的时候可以很容易地将源系统IP地址与它们的主机名关联起来。