浅谈无文件攻击

无文件威胁

https://docs.microsoft.com/en-us/windows/security/threat-protection/intelligence/fileless-threats

无文件威胁到底是什么?术语“无文件”表示威胁不会出现在文件中,例如仅存在于计算机内存中的后门。但是,没有针对无文件恶意软件的定义。该术语被广泛使用,有时用来描述确实依靠文件进行操作的恶意软件家族。

攻击涉及执行,持久性或信息盗窃等功能的多个阶段。攻击链的某些部分可能没有文件,而其他部分可能以某种形式涉及文件系统。

为了清楚起见,无文件威胁分为不同类别。

无文件恶意软件的综合图
图1.无文件恶意软件的综合图

无文件威胁可以通过其切入点进行分类,这表明无文件恶意软件如何到达计算机。它们可以通过漏洞利用,受威胁的硬件或常规执行的应用程序和脚本来到达。

接下来,列出入口点的形式。例如,漏洞利用可以基于文件或网络数据,PCI外设是一种硬件向量,而脚本和可执行文件是执行向量的子类别。

最后,对感染的宿主进行分类。例如,Flash应用程序可能包含各种威胁,例如,利用漏洞,简单的可执行文件以及来自硬件设备的恶意固件。

分类可帮助您对各种无文件威胁进行划分和分类。有些是更危险的,但也更难以实现,而其他一些则尽管不十分先进(或正因为如此),却更常用。

通过这种分类,您可以根据无文件威胁在被感染的计算机上留下多少指纹来收集三种主要类型的无文件威胁。

类型I:未执行任何文件活动

完全无文件的恶意软件可以被视为不需要在磁盘上写入文件的恶意软件。首先,这种恶意软件将如何感染计算机?一个示例是目标计算机接收利用EternalBlue漏洞的恶意网络数据包。该漏洞允许安装DoublePulsar后门,该后门最终仅驻留在内核内存中。在这种情况下,没有文件或任何数据写入文件。

受感染的设备还可能在设备固件(例如BIOS),USB外设(例如BadUSB攻击)或网卡固件中隐藏了恶意代码。所有这些示例都不需要磁盘上的文件即可运行,并且理论上只能驻留在内存中。恶意代码将在重新启动,磁盘重新格式化和重新安装操作系统后幸免于难。

由于大多数防病毒产品都没有检查固件的能力,因此这种类型的感染可能特别难以检测。如果产品确实具有检查和检测恶意固件的能力,则在此级别上,与威胁的补救有关的挑战仍然很大。这种类型的无文件恶意软件需要高度的复杂性,并且通常取决于特定的硬件或软件配置。这不是可以轻松,可靠地利用的攻击媒介。虽然很危险,但这种威胁并不常见,并且对于大多数攻击而言都不切合实际。

类型II:间接文件活动

恶意软件还有其他方法可以在机器上实现无文件存在,而无需进行大量的工程工作。这种类型的无文件恶意软件不会直接在文件系统上写入文件,但最终可能会间接使用文件。例如,使用Poshspy后门攻击者,在WMI存储库中安装了恶意的PowerShell命令,并配置了WMI筛选器以定期运行该命令。

可以通过命令行执行此类安装,而无需在文件上已有后门。无需接触文件系统,就可以安装该恶意软件并在理论上运行它。但是,WMI存储库存储在CIM对象管理器管理的中央存储区中的物理文件上,通常包含合法数据。即使从技术上来讲,感染链确实使用了物理文件,也可以将其视为无文件攻击,因为WMI存储库是无法检测和删除的多用途数据容器。

类型III:操作所需的文件

某些恶意软件可以具有某种无文件的持久性,但并非没有使用文件来进行操作。这种情况的一个示例是Kovter,它在注册表中为随机文件扩展名创建了一个shell打开动词处理程序。打开具有这种扩展名的文件将导致通过合法工具mshta.exe执行脚本。

Kovter注册表项的图像
图2. Kovter的注册表项

调用开放式动词时,将启动注册表中的关联命令,从而执行一个小的脚本。该脚本从另一个注册表项读取数据并执行它,从而导致最终有效负载的加载。但是,要首先触发打开动词,Kovter必须删除一个以该动词为目标的扩展名相同的文件(在上面的示例中,扩展名是.bbf5590fd)。它还必须设置一个自动运行键,该键配置为在机器启动时打开此类文件。

Kovter被认为是无文件威胁,因为文件系统没有实际用途。具有随机扩展名的文件包含垃圾数据,这些垃圾数据无法用于验证威胁的存在。如果存在恶意内容,则存储注册表的文件是无法检测和删除的容器。

按感染主机分类无文件威胁

在描述了广泛的类别之后,我们现在可以深入研究细节并提供感染宿主的细目分类。这种全面的分类涵盖了通常称为无文件恶意软件的全景。它推动我们努力研究和开发新的保护功能,以中和各种攻击并确保恶意软件不会在军备竞赛中占上风。

漏洞利用

基于文件的(类型III:可执行文件,Flash,Java,文档):初始文件可能会利用操作系统,浏览器,Java引擎,Flash引擎等来执行Shellcode并在内存中传递有效载荷。当有效载荷是无文件的时,初始输入向量是一个文件。

基于网络的(类型I):利用目标计算机中的漏洞的网络通信可以在应用程序或内核的上下文中实现代码执行。例如WannaCry,它利用SMB协议中以前修复的漏洞在内核内存中提供后门程序。

硬件

基于设备(类型I:网卡,硬盘):诸如硬盘和网卡之类的设备需要芯片组和专用软件才能运行。驻留在设备芯片组中并在其中运行的软件称为固件。尽管这是一项复杂的任务,但由于方程式间谍组织被发现正在执行此操作,因此固件可能会受到恶意软件的感染。

基于CPU(类型I):现代CPU很复杂,可能包括出于管理目的而运行固件的子系统。这样的固件可能容易受到劫持,并允许执行可能在CPU内部运行的恶意代码。2017年12月,两名研究人员报告了一个漏洞,该漏洞可能使攻击者能够在Intel的任何现代CPU中存在的管理引擎(ME)中执行代码。同时,据观察,攻击者PLATINUM具有使用英特尔主动管理技术(AMT)进行隐形网络通信的能力。,绕过已安装的操作系统。ME和AMT本质上是自治的微型计算机,它们位于CPU内并且运行在非常低的级别。因为这些技术的目的是提供远程可管理性,所以它们可以直接访问硬件,独立于操作系统,并且即使关闭计算机也可以运行。

除了在固件级别上容易受到攻击外,CPU的制造还可以将后门直接插入硬件电路中。过去已经这种攻击进行了研究并证明是可能的。据报道,某些型号的x86处理器包含辅助嵌入式的类似RISC的CPU内核,可以有效地提供后门,通过该后门,常规应用程序可以获得特权执行。

基于USB(类型I):各种USB设备都可以使用恶意固件重新编程,这些恶意固件能够通过恶意方式与操作系统进行交互。例如,BadUSB技术允许重新编程的USB记忆棒充当键盘,该键盘通过击键将命令发送到计算机,或者充当可以随意重定向流量的网卡。

基于BIOS(类型I):BIOS是在芯片组内部运行的固件。它在计算机开机时执行,初始化硬件,然后将控制权转移到引导扇区。BIOS是一个重要的组件,它在低级别运行并在启动扇区之前执行。可以使用恶意代码对BIOS固件进行重新编程,就像过去使用Mebromi rootkit进行的一样

基于虚拟机监控程序(类型I):现代CPU提供了硬件虚拟机监控程序支持,从而允许操作系统创建健壮的虚拟机。虚拟机在受限的模拟环境中运行,并且在理论上不了解该仿真。接管机器的恶意软件可能实施小型管理程序,以将其自身隐藏在正在运行的操作系统的范围之外。过去已经对这种恶意软件进行了理论分析,尽管迄今为止知之甚少,但最终还是可以观察到真正的虚拟机管理程序rootkit 。

执行和注入

基于文件的(类型III:可执行文件,DLL,LNK文件,计划任务):这是标准的执行向量。可以将简单的可执行文件作为第一阶段恶意软件启动,以在内存中运行其他有效负载,或将其注入其他合法的运行进程中。

基于宏的(类型III:Office文档):VBA语言是一种灵活而强大的工具,旨在自动执行编辑任务并为文档添加动态功能。这样,攻击者可能会滥用它来执行恶意操作,例如解码,运行或注入可执行的有效负载,甚至实施整个勒索软件,例如qkG。宏在Office进程(例如Winword.exe)的上下文中执行,并以脚本语言实现。没有防病毒软件可以检查的二进制可执行文件。Office应用程序需要用户明确同意才能执行文档中的宏,而攻击者却使用社交工程技术来诱骗用户允许宏执行。

基于脚本(类型II:文件,服务,注册表,WMI库,shell):默认情况下,JavaScript,VBScript和PowerShell脚本语言在Windows平台上可用。脚本与宏具有相同的优势,它们是文本文件(不是二进制可执行文件),并且在解释器(如wscript.exe,powershell.exe)的上下文中运行,该解释器是一个干净而合法的组件。脚本用途广泛,可以从文件中运行(通过双击它们),也可以直接在解释器的命令行上执行。在命令行上运行允许恶意软件将恶意脚本编码为自动运行注册表项内的自动启动服务,作为WMI事件订阅从WMI仓库中。此外,获得了对受感染机器的访问权限的攻击者可以在命令提示符下输入脚本。

基于磁盘的(类型II:引导记录):引导记录是磁盘或卷的第一个扇区,并且包含启动操作系统引导过程所需的可执行代码。像Petya这样的威胁能够通过用恶意代码覆盖引导记录来感染引导记录。启动计算机后,恶意软件立即获得控制权。引导记录位于文件系统外部,但可由操作系统访问。现代防病毒产品具有扫描和还原功能。

击败无文件恶意软件

在Microsoft,我们积极监控安全形势,以发现新的威胁趋势,并开发解决方案以缓解各种威胁。我们采用可抵御各种威胁的持久保护措施。通过AntiMalware扫描界面(AMSI),行为监控,内存扫描和引导扇区保护,Microsoft Defender for Endpoint](https://www.microsoft.com/windowsforbusiness?ocid=docs-fileless)甚至可以检查无文件威胁混淆。云中的机器学习技术使我们能够针对新出现的威胁扩展这些保护。

要了解更多信息,请阅读:看不见但看不见:通过行为监控,AMSI和下一代AV击败无文件恶意软件

猜你喜欢

转载自blog.csdn.net/z136370204/article/details/115183328
今日推荐