要点速览
-
俄罗斯高级持续性威胁组织GruesomeLarch使用了一种新的攻击手法,利用目标周边的Wi-Fi网络进行入侵。 -
攻击者主要使用了系统自带工具进行攻击。(也就是之前提到的环境利用攻击)Living Off the Land(环境利用攻击)越来越流行 -
攻击者利用了一个零日权限提升漏洞来扩大访问范围。 -
在俄罗斯入侵乌克兰前夕,攻击者针对与乌克兰相关的工作和项目展开了攻击。
2022年2月初,就在俄罗斯入侵乌克兰前夕,Volexity发现了一起迄今为止最为引人入胜且复杂的安全事件
。事情的起因是Volexity部署在某客户(以下称"机构A")网络中的一个自定义检测规则触发了警报,显示攻击者已经入侵了客户的一台服务器。在Volexity迅速展开调查时,由于面对的是一个技术娴熟且动机明确的APT组织,加上他们使用了一种前所未见的攻击手法,反而引发了更多的疑问。最终,Volexity确认这次入侵是由一个代号为GruesomeLarch
的俄罗斯威胁组织所为(也被公开称为APT28、Forest Blizzard、Sofacy、Fancy Bear等)。Volexity进一步发现,GruesomeLarch积极针对机构A,目的是收集那些在乌克兰问题上有专业知识且正在参与乌克兰相关项目的人员的信息。
这次持续一个半月的调查揭示,GruesomeLarch最终是通过连接机构A的企业Wi-Fi网络来实现入侵的。攻击者采用了一种链式攻击方法,通过入侵目标周边的多个组织来达到最终目的。令人惊讶的是,攻击者与受害者相距数千英里之遥。由于目前还没有专门描述这种攻击方式的术语,Volexity将其命名为"最近邻攻击"(Nearest Neighbor Attack)
。
最近邻攻击
考虑到地理距离如此遥远,你可能会好奇攻击者是如何成功连接到机构A的企业Wi-Fi网络的。首要条件自然是获取有效的凭证。攻击者通过对机构A的公开服务进行密码喷洒攻击来验证凭证的有效性。虽然凭证验证成功了,但由于实施了多因素认证(MFA)
,这些凭证无法用于访问机构A的公共服务。
然而,企业Wi-Fi网络只需要有效的域用户名和密码就可以认证,并不需要MFA。但攻击者身在地球另一端,无法直接连接到机构A的企业Wi-Fi网络。为了解决这个问题,攻击者转而入侵机构A办公楼附近的其他组织。他们的策略是先突破一个组织的防线,然后在其内部网络中寻找可以访问的双网卡系统(即同时连接有线网络和无线网络的系统)。
一旦找到这样一台通过有线以太网连接的系统,攻击者就会访问该系统并利用其Wi-Fi适配器。随后,他们就可以连接到机构A的企业Wi-Fi的SSID并进行认证,从而获得对机构A网络的访问权限。
这听起来可能有些匪夷所思。但Volexity发现GruesomeLarch成功入侵了不止一个与机构A相邻的组织。他们成功找到并控制了附近组织的一台双网卡系统,利用这台系统连接到了机构A的企业Wi-Fi网络。
Volexity认为这代表了一种全新的攻击类型,此前从未有过相关描述:攻击者先入侵一个组织,然后利用获取的凭证对物理位置相近的其他组织的Wi-Fi网络发起攻击。需要强调的是,仅有这些凭证并不足以访问客户的环境,因为所有面向互联网的资源都需要多因素认证(MFA)。但是,Wi-Fi网络并没有MFA保护,这意味着只要能接近目标网络并有有效凭证就可以连接。
本文将详细介绍Volexity在事件调查过程中观察到的战术、技术和程序(TTP),深入剖析最近邻攻击的运作方式及其防范措施。
捕捉幽灵的踪迹
这个故事始于2022年2月4日,当时Volexity在其客户(机构A)的网络中发现了可疑活动。这个发现源于Volexity开发的一个自定义规则触发的警报,该规则用于监控写入并执行于C:ProgramData
根目录的文件。经调查发现发生了以下活动:
-
一个名为 C:ProgramDataservtask.bat
的文件被写入并执行。 -
这个 servtask.bat
文件调用了微软的命令行注册表工具和PowerShell来运行以下命令: -
reg save hklmsam C:ProgramDatasam.save
-
reg save hklmsecurity C:ProgramDatasecurity.save
-
reg save hklmsystem C:ProgramDatasystem.save
-
Powershell -c "Get-ChildItem C:ProgramDatasam.save, C:ProgramDatasecurity.save, C:ProgramDatasystem.save ^| Compress-Archive -DestinationPath C:ProgramDataout.zip"
这立即引起了Volexity威胁检测与响应团队的高度警惕,因为他们发现敏感的注册表配置单元被导出并压缩成了一个ZIP文件。下一步调查方向已经很明确:团队立即深入分析系统的EDR事件历史,并准备部署Volexity Surge Collect Pro来收集系统内存(RAM)和关键磁盘数据。
对EDR日志的分析揭示了一些有趣的发现,这些活动发生在之前提到的事件前后:
-
有人使用一个普通用户账号通过RDP登录了服务器。 -
一个名为 DefragmentSrv.zip
的文件出现在该用户的目录下,并使用系统上安装的WinRAR图形界面版本解压。 -
两个文件 DefragmentSrv.exe
和DefragmentSrv.bat
被写入并执行;这个过程最终导致servtask.bat
的写入和执行。 -
一个名为 wayzgoose52.dll
的文件也被写入到一个伪造的目录C:ProgramDataAdobev3.80.15456
中。
Volexity急于收集这些文件作为事件响应调查的一部分。不幸的是,团队遇到了两个重大问题。第一个问题是,在收集系统内存的过程中,系统被关闭了。这种情况非常不理想,因为它导致了可能对调查有用的易失性数据的丢失。这些文件的部分组件可能还留存在内存中,本可以帮助恢复和分析。尽管遇到这个挫折,Volexity还是设法重新启动了服务器并收集了取证数据来支持调查。但第二个问题是,Volexity发现攻击者已经删除了所有已识别的文件和文件夹。不仅如此,Volexity还发现攻击者使用了微软自带的工具(https://docs.microsoft.com/en-us/troubleshoot/windows-server/windows-security/use-cipher-to-overwrite-deleted-data)
Cipher.exe
来覆盖删除的文件,从而掩盖了他们的踪迹。虽然这不是Volexity第一次遇到攻击者使用反取证手段来掩盖踪迹,但这是Volexity首次见到有人使用Cipher.exe
工具来做这件事。
调查的死胡同
在最初的事件之后,攻击者沉寂了一段时间。与此同时,Volexity利用收集到的各种取证数据继续调查。调查过程中遇到了一些挑战。首先,Volexity确实找到了一个连接到受害服务器的IP地址,但不清楚它与什么有关,而且当时已经无法访问。此外,Volexity在机构A的办公室部署了网络安全传感器,但几乎没有记录到攻击者的活动。令人沮丧的是,一些通常能够迅速获取线索、指明调查方向的常规手段,这次却都无功而返。
调查一度陷入停滞,直到攻击者再次出现。当攻击者重返时,Volexity终于得到了一些答案。Volexity发现攻击者使用的IP地址段与机构A的企业Wi-Fi网络有关,网络中的一台域控制器充当DHCP服务器。然而,检查DHCP日志后发现,并没有Volexity关联到攻击者的IP地址的记录。又一个可能的线索成了死胡同。
无线网络带来转机
调查进行到后期,Volexity了解到该组织有一个无线控制器,用于管理其无线网络、接入点和所有相关基础设施。这个控制器还保存了详细的日志,包括信号强度、已连接设备、已认证用户账号等信息。Volexity获得了对无线控制器的访问权限,这是调查的第一个重大突破。获取访问权限后不久,Volexity就找到了攻击者的IP地址,并将其与一个已认证的域用户和MAC地址关联起来。
有了这些新信息,Volexity检查了机构A的RADIUS日志,找到了与这个用户和MAC地址相关的认证事件。在早期的入侵日志中也出现了相同的MAC地址和用户账号。不过,Volexity发现从1月下旬开始,还有使用相同MAC地址但不同用户名的认证记录。Volexity了解到,1月份观察到的那个账号密码已经过期并被用户更新。这显然让攻击者无法继续使用那个账号,但他们在2月初用无线控制器中发现的另一个账号重新获得了访问权限。
这些新发现促使Volexity检查了机构A一个可用于认证的面向互联网的Web服务的日志。该服务本身有MFA保护,但可以用来验证凭证是否有效。检查这些日志后,Volexity发现在1月和2月期间,攻击者对这个服务进行了密码喷洒攻击,成功入侵了三个账号。其中两个账号就是Volexity从无线控制器和RADIUS日志中发现的那些。第三个账号当时还未被使用。
Volexity现在确定攻击者是使用从互联网服务暴力破解获得的凭证来连接网络的。但是,还不清楚攻击者是从哪里物理连接到企业Wi-Fi的。进一步分析机构A无线控制器的数据显示了攻击者具体连接的无线接入点,并将它们叠加到大楼布局图和具体楼层上。Volexity发现攻击者一直连接到位于大楼靠街一端靠窗会议室的同一组三个无线接入点。这给了Volexity第一个证据,说明"攻击不是来源于大楼内部"。难道是攻击者在街上进行近源攻击?所有可能性都没有被排除,但Volexity离真相已经不远了。
莫信邻里,尤其是你的邻居
在调查过程中,Volexity与机构A合作采取了各种补救措施,实施了防范措施,并改进了日志记录和网络可见性不够理想的各个方面。这最终让Volexity在调查中取得了重大突破,弄清楚了到底发生了什么。
尽管重置了各种凭证,包括从密码喷洒攻击中发现的三个账号,攻击者仍然掌握着有效的域凭证。攻击者再次获得了对机构A企业Wi-Fi的访问权限,但由于现在有了可见性和日志记录,Volexity迅速采取了行动。Volexity现在能够从机构A网络中所有连接Wi-Fi的系统的活动中获取完整的数据包捕获,不管这些系统在哪里连接。分析这些数据包捕获记录显示,攻击者的系统发出了NetBIOS名称服务(NBNS)查询,暴露了它的计算机名和所属的活动目录域。这个活动目录域揭示了攻击者究竟是从哪里连接的——就是一个位于马路对面的组织(以下称"机构B")。
Volexity设法与机构B取得联系并与他们合作进一步调查这件事。在这里,Volexity最终发现了攻击者的作案手法,以及最近邻攻击是如何运作的。在与机构B的配合下,Volexity找到了那台连接到机构A的Wi-Fi网络的系统。分析表明,这台系统是在攻击者使用特权凭证从机构B网络内的另一个系统通过RDP连接后被入侵的。这台系统是双网卡的,通过有线以太网连接互联网,同时还有一个可以同时使用的Wi-Fi网卡。攻击者找到这台系统后,使用了一个自定义PowerShell脚本来检查其无线网卡范围内的可用网络,然后使用已经获取的凭证连接到机构A的企业Wi-Fi。这个自定义PowerShell脚本中嵌入的C#代码(经过编辑)可在这里(https://github.com/volexity/threat-intel/blob/main/2024/2024-11-22%20GruesomeLarch/wifi_ps1_redacted.cs
)查看。
对机构B系统的进一步分析显示,入侵者有两种访问其网络的方式。第一种是使用允许他们连接到VPN的凭证,这个VPN没有MFA保护。Volexity还发现证据表明攻击者是从另一个附近组织(以下称"机构C")的网络连接到机构B的Wi-Fi的。
攻击者花了很大力气入侵多个组织,这样他们就可以通过Wi-Fi和/或VPN连接串联起来,最终达到机构A的网络。Volexity的团队既震惊又松了一口气,因为他们现在有了这次攻击手法的解释和证据。
Volexity根据MAC地址和SSID信息确定了机构C的身份并与其联系。但是,机构C选择不向Volexity提供继续调查所需的关键数据。无论如何,所有这些发现让Volexity完全理解了攻击者的操作方式,使团队能够自信地向机构A推荐进一步的缓解措施和补救指导。此时,攻击者已经被切断了对机构A企业Wi-Fi的访问,此后再也没有观察到他们连接到这个网络。
最后一击:访客Wi-Fi
在最后一次观察到威胁活动一个多月后,在采取了各种补救措施之后,Volexity又收到了一个警报,显示客户机构A的网络中出现可疑活动。调查这个活动时,Volexity发现同一个威胁组织设法重返网络,并正通过多个内部系统进行代理。幸运的是,Volexity能够快速调查这起事件,并通过多个系统追溯到其源头:一台连接在机构A访客Wi-Fi网络上的系统。
虽然访客Wi-Fi网络本应该与存放高价值目标数据的企业有线网络完全隔离,但事实上有一个系统可以同时访问Wi-Fi网络和企业有线网络。有了一个未被重置的账号的凭证,加上Wi-Fi网络并非完全隔离的事实,攻击者得以重新进入企业有线网络,最终重新获得对高价值目标数据的访问权限。
为了实现这种跳转,攻击者使用Windows工具netsh
设置了一系列端口转发。以下是使用的示例命令:
cmd.exe /C netsh advfirewall firewall add rule name="Remote Event Log Management SMB" dir=in action=allow protocol=tcp localport=12345 > C:WindowsTempMSI28122Ac.LOG 2>&1
cmd.exe /C netsh interface portproxy add v4tov4 listenaddress=172.33.xx.xx listenport=12345 connectaddress=172.20.xx.xx connectport=445 > C:WindowsTempMSI2cBfA24.LOG 2>&1
通过分析网络流量和机构A无线控制器的日志,再次确定了发起这些活动的源系统。Volexity发现这次攻击者是从机构C连接进来的。Volexity再次联系了机构C,并与机构A合作采取新的补救措施来解决这次新的入侵。
自从这次与访客Wi-Fi网络相关的最后活动以来,Volexity再也没有观察到任何可以归因于最近邻攻击的活动。
攻击技术特点
在入侵过程中,GruesomeLarch主要采用了系统自带工具的攻击方式,利用标准的微软协议进行横向移动。以下各节详细介绍了一些从这次事件中观察到的特点,这些特点可以用来检测GruesomeLarch或使用类似行为或技术的其他威胁组织。
1.使用Cipher.exe
在入侵过程中,攻击者使用现代Windows系统自带的Cipher.exe
工具删除了他们创建的文件:
他们使用以下功能来覆写特定文件夹中已删除的数据:
cmd.exe /c cipher /W:C
微软文档是这样描述的:
这样做的效果是攻击者可以使用Windows原生功能安全地删除他们的工具,而不需要引入新工具或编写自己的代码,从而使取证分析人员更难恢复攻击者的工具。
在这次事件中,攻击者在使用这个工具时非常细致,Volexity发现的每个被写入磁盘的文件后来都被这个工具删除了。值得注意的是,在Volexity处理过的众多事件响应中,这是首次发现攻击者使用这种技术来清理痕迹。
2.通过VSSAdmin导出Ntds.dit
另一个观察到的战术是尝试通过创建卷影复制来窃取活动目录数据库。这是一个常见的技术,Volexity已经见过好几年了。这个流程在公开资料中有详细记录,包含以下在这次事件中看到的关键组件:
-
创建卷影复制,例如:
vssadmin create shadow /for C: /quiet
-
从卷影复制中获取 ntds.dit
文件和SYSTEM注册表配置单元的副本:
copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1WindowsNTDSNTDS.dit [dest]
copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1WindowsSystem32configSYSTEM [dest]
-
下载复制的文件。为了下载这些较大的文件,攻击者使用PowerShell命令进行压缩:
powershell -c "& { Add-Type -Assembly 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::CreateFromDirectory($path1', '$path2');}" > C:WindowsTempb2rMBPL.tmp 2>&1
防病毒和终端检测与响应(EDR)产品自然可能会将这种行为检测为潜在的恶意行为。但是,为了获得额外的检测机会,组织可以创建自定义EDR签名来寻找具有以下特征的特权账号:
-
任何使用 vssadmin.exe
的行为 -
从VolumeShadowCopy目录复制或移动文件 -
显示内联压缩文件的PowerShell命令
3.数据分段窃取
在这次事件中,大多数数据都是被复制回攻击者连接到Wi-Fi的系统。但是,在一些情况下,Volexity观察到攻击者将数据暂存在面向公网的Web服务器的目录中。这些文件随后通过外部下载被窃取。
这是Volexity在各种入侵中经常看到攻击者使用的一种技术。监控这种活动可能很困难,但如果组织能够监控Web服务器上意外的文件或异常的大文件传输,就有机会检测到这种行为。即使做不到这一点,确保Web日志正常工作并被保存也能在日后的调查中提供帮助。
归因分析
最初,Volexity无法将这次入侵归因于已知的威胁组织。攻击者主要使用系统自带工具,他们使用的任何工具或IP地址都让Volexity难以确定可能的嫌疑人。然而,一旦Volexity确定了内部被针对的目标是谁以及针对的是什么,就立即怀疑这是俄罗斯威胁组织的活动,但具体是哪一个呢?
直到2024年4月,微软发布了一份研究报告,介绍了_Forest Blizzard_(Volexity称之为GruesomeLarch)使用的一个名为GooseEgg的入侵后工具。这个工具被用于利用CVE-2022-38028零日漏洞,这是Microsoft Windows打印后台处理程序服务中的一个权限提升漏洞。在他们的报告中,微软详细列出了该框架使用的几个关键文件名、文件夹路径和命令,特别是以下内容:
-
Servtask.bat
-
Wayzgoose52.dll
-
DefragmentSrv.exe
-
C:ProgramData[var]v%u.%02u.%04u
这些完全相同的文件名和路径在Volexity调查的事件中也被观察到。微软的报告还显示了servtask.bat
文件中的命令,这与Volexity在最初入侵活动中看到的完全相同,其中注册表配置单元被保存并压缩成一个名为out.zip
的文件。不过,正如本文攻击技术特点一节所述,这些文件已经被使用Cipher.exe
工具安全删除。
微软的文章指出GooseEgg"至少从2020年6月就开始使用,可能早在2019年4月就已经存在。"Volexity可以确认这个工具在2022年2月就已经被使用。对CVE-2022-38028的利用也解释了最初的受害系统是如何被入侵的。基于这个工具的使用(微软表示这个工具是该威胁组织独有的),Volexity高度确信本文描述的活动可以归因于GruesomeLarch。
结论
通过此次调查,Volexity发现威胁行为者为达成网络间谍目标,展现出极强的创造力与战术执行能力
。"最近邻攻击
"实质上是一种近距离入侵手法,但攻击者无需现场操作,既规避了人员身份暴露的风险,又能获得与近距离物理接触同等的攻击效果。攻击者可以远在千里之外,却能实现近在咫尺的渗透
。
各组织机构需要重新审视Wi-Fi网络可能带来的安全隐患。近年来,业界在互联网入口的攻击面收缩方面投入了大量精力,或是部署了多因素认证,或是直接关闭了相关服务。然而,Wi-Fi网络却未能得到同等程度的重视。是时候将企业Wi-Fi网络的安全防护标准提升到与VPN等远程访问服务相同的水平了
。
此次攻击得手的关键在于目标Wi-Fi系统的安全管控相比邮件或VPN等资源较为薄弱。攻击者虽远在天边,却找到了规避这些管控的方法。具体攻击流程如下:
-
首先攻陷目标周边的某个机构 -
在该机构网络中寻找同时具备有线和无线连接的双网卡系统 -
探测被控双网卡系统可以接收到的Wi-Fi网络信号 -
针对这些Wi-Fi网络所属机构的账号进行暴力破解 -
利用破解得来的凭据接入相邻的Wi-Fi网络
通过"最近邻攻击"手法,攻击者能够以跳板的方式依次渗透多个机构。整个过程无需部署任何恶意程序,仅依靠合法的用户凭据即可完成。攻击者还善用系统自带工具来规避EDR产品的检测。
为防范和发现类似攻击,Volexity建议采取以下措施:
-
对环境中异常使用netsh和Cipher.exe的行为进行监控和告警 -
针对程序在非常规位置(如C:ProgramData根目录)运行的情况制定专门的检测规则 -
对互联网入口服务的数据外传行为进行检测和识别 -
将Wi-Fi网络与有线网络进行物理隔离,尤其是当有线网络中包含敏感资源时 -
加强Wi-Fi网络的访问控制,如引入多因素认证或基于证书的解决方案 -
监控设备间的网络流量,重点识别通过SMB传输的敏感数据文件(如凭据信息、ntds.dit、注册表文件等)
原文始发于微信公众号(独眼情报):【红队案例】APT组织利用目标附近的 Wi-Fi 网络做跳板进行全新类型的近源攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论