导语:Fileless Malware是一种新概念恶意软件,利用了一些隐藏技术,使检测这类攻击变得很难。文章介绍了一些fileless恶意软件使用的技术和微软检测此类恶意软件所用的技术。

Fileless Malware新概念恶意软件,噩梦已至。本文介绍了Fileless malware的基本概念,主要讲解fileless恶意软件的技术以及如何发现此类fileless恶意软件。

2017年两个主要的勒索软件Petya 和WannaCry都使用了fileless技术。Fileless恶意软件背后的理念非常简单,如果设备中已安装有工具完成攻击者的目标,这些工具要不要标记为恶意软件呢?如果攻击者可以接管进程,在其内存空间中运行代码,然后用代码来调用设备中已安装的工具来完成攻击,那么此类攻击就很难检测。但是,攻击者如何能在系统重启后继续获取被黑系统的控制权呢?

Misfox:进入受害者网络的fileless网关

2016年4月,微软的客户联系到微软应急响应团队说受到网络勒索。勒索者扬言如果收不到钱就公布该企业的机密信息。微软应急响应团队调查了网络中的设备,识别出目标植入物,并进行了映射。该客户公司使用的第三方的反病毒产品,签名也是最新的,但是没有检测到恶意软件。

微软研究人员发现攻击者尝试用勒索软件来加密文件,但是失败了。因此,威胁攻击网络只是一个备选方案。微软团队同时发现攻击者通过两个不同的通道已经在网络中驻留了至少7个月。

第一个通道是叫做Swrort.A的后门,该后门很容易被反病毒产品检测到。

第二个通道是一款fileless恶意软件——Misfox,该恶意软件有很多特定:

· 不感染设备上的任何文件;

· 不在硬盘上留下痕迹;

· 常见的文件扫描技术无法检测。

一旦Misfox在内存中运行,就会创建一个注册表,可以运行一行PowerShell命令;启动注册表BLOB中保存的混淆过的PowerShell脚本,混淆过的PowerShell脚本含有反射PE加载器,可以加载从注册表中加载Base64编码的PE文件。

Misfox不需要任何可执行文件,但是注册表中的脚本可以确保恶意软件的长期驻留。

Fileless技术

攻击者可以用一些fileless技术让恶意软件植入物静默并可以避免被检测到。这些技术包括:

反射DLL注入

反射DLL注入是手动把恶意的DLLs加载到进程的内存中,而dll不需要在硬盘中。恶意的DLL可以位于攻击者控制的远程机器中,并通过网络通道传播,或嵌入宏、脚本等中。

内存利用

攻击者利用fileless内存利用在受害者机器中远程运行任意代码。比如UIWIX威胁就使用了EternalBlue(永恒之蓝)漏洞利用。

基于脚本的技术

脚本语言是传播只在内存中运行的payload的有效方法。脚本文件可以嵌入编码的shellcode或者二进制文件,这些文件可以运行时解密并通过.NET框架对象执行,或直接通过API不需要在硬盘中写操作。脚本还可以隐藏在注册表中,从网络流中读取,或者在命令行中运行,这些方法都是不需要在硬盘中写操作的。

WMI persistence

研究人员同时发现攻击者使用Windows Management Instrumentation (WMI)库来储存恶意脚本,之后用WMI binding周期性引用。

Fileless 恶意软件发现技术

Windows Defender AV能够拦截fileless恶意软件:

使用AMSI检测脚本技术。即使多层混淆也可以监控PowerShell和其他脚本类型。
通过扫描WMI库来检测和补救WMI persistence。
通过增强型的内存扫描技术和行为监控来检测反射性DLL注入。

Windows Defender Exploit Guard可以通过下面的技术来阻止无文件恶意软件的攻击:

用hypervisor code integrity(HVCI)技术解决kernel内存利用漏洞,这让利用kernel模式软件漏洞来注入恶意代码变地很难。
用利用保护模块(Exploit protection module)来解决用户模式内存利用的问题,这些利用缓解的办法可以用于操作系统级和单个应用级。
用攻击面减少规则(Attack Surface Reduction ,ASR)和其他的技术一起来解决基于脚本的fileless技术。

更多微软产品关于fileless恶意软件检测的内容参见https://cloudblogs.microsoft.com/microsoftsecure/2018/01/24/now-you-see-me-exposing-fileless-malware/?utm_source=securitydailynews.com

源链接

Hacking more

...