横向移动,是攻击者侵入企业系统时,获取相关权限及重要数据的常见攻击手法。了解横向移动的原理有助于个人和企业更好地维护网络安全。
中安网星特此推出了横向移动科普系列,本系列共有三篇文章,我们会以简单轻松的话语为大家讲解横向移动的内容。
近年来,随着网络攻击、勒索事件频发,企业安全防护需求迅速上升,传统安全防护中以密码和权限管理为核心的单一防护模式愈发不能满足目前的网络安全环境。因而,深入了解攻击思路,“对症下药”,是目前网络安全行业发展的重要方向。
本篇文章将就“横向移动”这一典型攻击行为进行简单阐述,从攻击者视角还原“横向移动”攻击过程中的典型场景,为深入剖析“横向移动”攻击行为提供简单参考。
简单来讲,横向移动是指攻击者成功攻击一台计算机后,由该计算机横向跨越到另一台计算机,获取相关权限,进而窃取敏感信息的活动。
从定义上来看,我们不难发现,“横向移动”攻击的主要目标是企业关键信息及相关管理权限,而横向跨越的攻击属性也表明这一攻击行为多数情况下发生在企业内网中。
换个角度来讲,也正是由于企业内网中计算机存在聚集性,以及内网中一些集权管理设备储存有大量身份凭证信息及关键数据,使得企业内网更容易成为攻击者的目标,也就成为了横向移动的重灾区。
基于这样的前提,本篇文章将以“企业内网中的横向移动”攻击路径为例,尽量全面的展示“横向移动”攻击的思路与方法。
企业内网中的横向移动
假设一家企业将保存有所有计算机用户账号密码信息的文件存放在域控主机上,同时设置只有管理员才可以查看。
现在有一位经验丰富的黑客想要窃取该文件。
Step 1 : 【信息收集】
首先黑客通过一系列攻击手段进入一台普通员工的计算机,但是这台计算机上只有该员工平时工作使用的PPT,文件等内容,没有高敏感信息。
此时他将收集域内信息,探查可能保存机密文件和敏感信息的主机位置,确定横向移动的目标。
分析后,黑客发现该企业采用的是AD域来管理内网计算机用户,根据经验得知,域控上存储有所有计算机用户的账号密码信息,于是他决定横向移动到域控主机。
Step 2 :【域控登录】
一般情况下,域控主机设置有高加密型的登录验证方式,如果黑客能够获得域控主机的登录密码,那么他就可以伪装成正常用户登录。
在采用kerberos登录验证的域环境中,正常用户登录时先输入密码在Kerberos服务器上进行验证,验证成功后,该服务器会发送给用户一个凭证证明其合法性,用户利用该凭证才可以登录计算机使用内网资源。
但一般情况下,域控主机的密码不会在普通主机上留下记录,也较难通过暴力破解的方式获取明文密码。
此时,黑客会在已控制的普通主机上查找与目标主机和环境相关的信息,获知目标主机开放的端口、存在的漏洞等,然后利用该漏洞渗透目标主机获取凭证,再使用哈希传递、黄金白银票据等方式进行登录。
尽管黑客完成了登录步骤,但是在最终的文件获取环节上,域控通常还有一道防线,即“权限限制”。
Step 3 : 【权限获取】
这正是我们设置的第二层防护——对特定文件实行白名单制度,限制用户查看权限。
这种情况下,黑客通常会通过一些提权手法来突破限制,比如系统溢出漏洞提权、数据库提权、系统配置错误提权等,我们将这类手法统称为“权限提升”。
横向移动与权限提升同属攻击链的上下游位置。就攻击效果来说,前者主要体现在被控制计算机的数量,后者主要体现在对单个计算机控制的程度,一个作用于扩大作战区域,一个作用于收刮区域资源。
所以现在黑客离窃取我们的用户信息文件只差最后一步了——通过权限提升的方法来获取相应文件的查看权限。
最终,通过横向移动、登录突破、权限提升的过程,黑客完成了对关键信息与敏感数据的获取。除此以外,还能以域控主机为跳板,横向移动到其它域内主机,通过已获取的密码直接登录目标主机,执行远程命令,完成域内控制,进而以关键信息与权限为由,实施勒索行为。
结语
通过上文的攻击实例,我们展示了一个相对简单的“横向移动”攻击链路模型。
实际上,在横向移动攻击过程中,攻击者不仅可以运用相关技术与思路访问共享文件夹、凭证等敏感信息,也可以通过“横向移动”的方法渗透其它主机,窃取商业数据、财务信息等。正因如此,“横向移动”的技术与攻击思路被广泛应用于网络攻击,尤其是针对企业用户的APT(高级可持续性威胁)攻击中。
企业内网中的横向移动(二)
横向移动是在复杂的内网攻击中被广泛应用的一种方式,也是APT(高级可持续威胁)攻击的重要组成部分。横向移动主要在APT的后续攻击中发挥作用,用于窃取大量信息资产以及进行更深入的渗透。
除APT威胁事件以外,当前企业所面临的勒索问题和内部威胁也大多与〝横向移动〞有关。接下来我们将分别讨论横向移动是如何威胁密码安全、主机安全以及信息安全的:
横向移动威胁
威胁密码安全
黑客横向移动的过程可能导致密码失窃,从而威胁到计算机内文件数据的安全。
在企业办公网络中,大部分办公电脑都设置有密码、登录凭证,用以防止数据等相关私密文件被他人查看。这种情况下,黑客想要横向移动到加密主机,就要通过一些手段来获取密码,或窃取登录凭证。
与其他的攻击方式相同,“弱口令”是黑客获取密码最简单的一类途径。尤其是主机RDP相关的弱口令,这类系统远控桌面服务的弱口令一旦被黑客利用,就能通过“撞库”等方式暴力破解,进而实现内网计算机的远程控制。
而黑客窃取登陆凭证的方式主要包括:lsass内存读取、注册表读取、ntds 数据库读取等。在通过一系列手段窃取到登陆凭证后,黑客就能通过哈希传递、票据传递的方式登录目标主机。
以上两种方式作为黑客横向移动的初始步骤,被广泛应用于APT攻击及横向移动攻击相关的威胁事件中。 例如,在前不久的美国燃油管道勒索攻击事件中,darkside攻击团伙从文件、内存和域控制器中收集凭据,并利用这些凭据来登录其它主机,再对重要数据和控制端口进行加密,进而实施勒索。 由此可见,横向移动造成的密码失窃严重威胁到包括关键基础设施在内的多种网络设施安全。
威胁主机安全
黑客在横向移动中使用远程控制目标主机的方式,导致主机安全受到威胁。 由于Windows系统自带连接远程主机执行命令的功能。在黑客获得账号密码的情况下,可以通过IPC(进程间通信)连接目标主机,建立安全通道,在该通道传输加密数据。而Windows的计划任务功能也常被黑客利用来定时激活病毒木马,达到长期威胁内网主机的目的。
除了windows系统自带功能,黑客还经常使用一些工具来进行远程控制:
Psexec由于其强大的提权和远程命令执行能力,在横向移动中应用非常普遍。它不仅能以system权限来运行指定应用程序,还能在本机生成命令提示符窗口,只要输入命令,就能在远程主机上执行并返回结果。
Psexec被众多安全厂商加入查杀黑名单后,近几年,通过调用WMI来进行远程操作的工具也屡见不鲜。(WMI是一项Windows管理技术,通过它可以访问、配置、管理几乎所有计算机资源。)
相比于Psexec,使用WMI执行远程命令基本不会在远程主机上留下日志,让黑客的行为显得更隐蔽。调用WMI来进行横向移动的工具包括WMIEXEC.exe、WMIEXEC.vbs脚本、Invoke-Command.ps1脚本和Invoke-WMIMethod.ps1脚本。其中WMIEXEC.vbs脚本可以获取远程主机的半交互式Shell,执行单条命令并返回显示结果。(Shell为用户提供了可以访问操作系统内核服务的界面)
威胁信息安全
黑客进行横向移动攻击,会窃取和泄漏大量信息,直接威胁信息安全。 几乎所有针对企业进行攻击的事件都与信息窃取相关。一旦突破安全边界进入内网,黑客们就会使用各种手段横向移动渗透内网其它主机,尤其是敏感信息存放主机。
在勒索攻击事件中,最常见的勒索方式是:攻击者将信息加密后,以公开其机密数据的方式要挟赎金。 比如,著名的勒索攻击团伙海莲花,其常用手法是在内网中建立立足点后使用Cobalt Strike进行横向移动。通过Cobalt Strike扫描内网中存在的各类漏洞和配置问题,利用扫描结果进一步控制其它主机。最终窃取包括商业机密、机密谈话日志和进度计划等在内的各种资料,严重威胁制造、媒体、银行、酒店和基础设施的网络安全。
横向移动威胁的特点
由上,我们可以总结出横向移动威胁的特点,即威胁面大,威胁性强。
如何理解威胁面大?
从目标对象来说,横向移动威胁的不是某一台主机,而是多台主机,甚至整个内网。从黑客目的来说,黑客要利用他掌握的信息威胁企业,必须掌握到关键且大量的数据,就要通过横向移动不断扩大资产范围。
如何理解威胁性强?
黑客为了造成更大影响,通常选择重要的信息系统,如金融、电信、交通、能源等计算机系统,利用横向移动进行大面积网络攻击,导致系统瘫痪,严重影响基本的社会生活。如前文提到的美国燃油管道勒索攻击事件,和爱尔兰医疗服务机构遭受Conti勒索软件攻击事件,还有加拿大保险公司guard.me遭受网络攻击事件…… 另外,横向移动造成的影响让企业在后续恢复中也面临较大的困难。企业需要消耗许多人力财力对本次攻击溯源,找到并修补内网存在的漏洞,还需要耗费大量时间精力还原被黑客破坏的文件等资源,重新启动业务系统。
企业内网中的横向移动(三)
黑客横向移动的手段已经非常成熟。除了病毒中的自动化横向移动模块,目前也已经有许多横向移动的工具被广泛使用。
因此,对横向移动的防护是目前内网安全防护中的重中之重。其核心目标是,即使黑客进入企业内网,也能通过一系列防护手段阻止他渗透到更多主机,为相关权限及关键数据提供安全防护。
我们可以得知,攻击者在横向移动过程中,其最终目的是登陆目标主机并窃取机密数据。
因此我们必须采取多种防护措施,以防止攻击者窃取密码或进行凭证传递。除此之外,还可利用监控手段来探查攻击者的踪迹,并增加系统配置以提高域内安全性。 接下来将会详细介绍以上所述:
一、防止攻击者窃取密码
在使用WDigest(摘要式身份验证)的系统中,密码会以明文形式存储在内存,攻击者通过Mimikatz可以直接抓取密码。为了防止密码泄露,我们可以关闭WDigest。
但该功能只有在Windows Server 2012以上版本的系统才能被关闭,而在Windows Server 2012以下版本的系统中只能通过安装补丁KB2871997来解决问题。
KB2871997支持RDP 网络登录,即在登录过程中使用登录令牌来进行身份验证。这种方法不会在RDP服务器中存储用户凭证,用户注销时,也会清除主机缓存中的凭证,以此来保护凭证安全。
同时,KB2871997支持创建“受保护的用户”组。只要把域功能级别设置为Windows Server 2012 R2,系统就会创建受保护的组,在该组中的用户只能使用Kerberos协议进行身份验证。相比于WDigest,Kerberos验证方式更安全,因为它不会在内存中存储明文密码。 想要防止密码被盗的话,除了安装补丁,我们还需要对攻击者常用的工具进行防范,比如Mimikatz。
由于Mimikatz与内存(LSASS进程)交互需要Debug权限,我们可以将拥有Debug权限的本地管理员从Administrators组中移出。这样,当攻击者以本地管理员身份登录时,就没有权限使用Mimikatz从内存导出密码。
二、防护哈希传递攻击
通过以上手段,我们能有效防止黑客从系统中窃取明文密码,但是当黑客窃取到了用户凭据,使用哈希传递等手段登录系统时,并没有一个能彻底解决哈希传递的方法,我们只能减轻这种攻击。 这里介绍两种方法——Defender ATP和微软管理层模型。
Defender ATP : 是微软提供的一种安全工具,它能检测攻击者访问LSASS进程的行为。如果发现某时刻LSASS进程被读取的内存数量过多,就会报警,提示管理员“敏感凭据内存读取”。
微软管理层模型 : 将不同权限的用户划分到不同层级,并规定高层级不能登录低层级。举例来说,将能够访问网络上所有关键服务器的管理员划分为第0级,将工作站管理员划分为第2级,那么即使黑客窃取到了关键服务器管理员的凭证,以管理员身份也无法登录关键服务器。
三、监控异常活动
攻击者横向移动过程通常难以被察觉,但我们可以分析其行为特征,监控是否有存在满足其特征的活动来确定系统是否被入侵。 对于在目标范围内安装恶意软件的横向攻击行为,我们可以监控应用安装情况。例如当安装应用的时间固定在一个时间段,而其它时间段的安装行为都将被认为是异常的。
攻击者进行横向移动攻击的另一个典型行为就是窃取信息。通过监控文件创建行为和SMB传输文件行为,可以发现远程文件复制活动;通过监控可移动介质上的文件访问,能识别可移动介质复制行为;通过监控多文件写入共享能发现共享文件污染行为等。 如果攻击者已进入内网,为了防止他横向移动到更多主机,我们可以监测内网中活跃的用户账号,将这些账户设置为高风险账户,降低其权限,阻止其使用内网资源。 监控内网中的异常活动,能帮助我们发现攻击者侵入企业内网的行为,以便及时采取措施阻止其损害企业利益。
四、更改系统配置
给系统配置防火墙是防范一般网络攻击的重要手段,对横向移动攻击也能起到一定的作用。比如,通过配置防火墙的进站/出站规则阻止445端口的连接,能防范利用SMB协议漏洞的攻击;启用防火墙禁止RDP流量能防止RDP远程连接系统;启动域防火墙能阻止DCOM对象实例化。 此外,我们也可以通过配置Windows系统规则来防范横向移动攻击。
当攻击者利用Windows打印机后台处理程序来执行特权操作时,我们可以禁用“允许打印后台处理程序接收客户端连接”,也可以直接禁用打印后台处理程序服务。 当系统遭受NTLM中继攻击时,我们可以禁用NTLM并切换成Kerberos验证,或启用SMB签名和LDAP签名等。(NTLM中继攻击:攻击者劫持受害者会话,将受害者凭证转发到其它服务器获取信任) 正确配置系统规则,不仅能防范横向移动攻击,还能保护系统资源的合法使用。
攻击者进行横向移动的手法多种多样,以上方法并不能完全防范横向移动攻击。要有效阻止横向移动,需要分析具体事件来制定有针对性的防护措施。
尤其是在企业等组织机构中,由于内网的复杂性,攻击团伙的手段也比较高超,一般的防护手段不能有效地防范横向移动攻击,要保护企业内网安全,最好选择专业的运营团队。