解密无文件攻击的各种姿势及最新检测方法

安全
分析无文件攻击的各种新姿势,包括:无文件勒索、无文件挖矿;分析安全顶会NDSS2020最新相关检测论文。

 " 无文件攻击 " 不代表真的没有文件,只是一种攻击策略,其出发点就是避免将恶意文件放在磁盘上,以逃避安全检测。所说的无文件,也未必是攻击全程无文件,而是其中的一部分采用了无文件攻击 [ 1 ] 。近期,受 NDSS2020 顶会文章 [ 2 ] 启发,查阅趋势科技等数篇安全报告及网页文章,认为无文件攻击是一种趋势," 离地 / 隐形 / 无文件 " 是一个目前很热门的方向。故本文围绕无文件展开调研,收集 2020 年 4 月前的相关资料,内容包括无文件勒索、无文件挖矿等最新的无文件攻击方式,并对其进行归纳、总结。同时,分析了该篇顶会文章的核心内容,进一步了解无文件攻击的检测思路。

一、无文件勒索

近期比较特别的有 ProLock(shellcode 嵌入 BMP 图像中)、WannaRen(office 激活工具中硬编码 powershell 命令),还有普通的恶意代码注入合法进程及宏结合 powershell 等。具体情况如下:

ProLock [ 3 ] (2020.4.19)

将恶意 shellcode 嵌入到 BMP 图像文件中(之前的版本 PwndLocker,嵌入到 AVI 视频中,被加密文件存在被恢复的可能),通过混淆的 powershell 代码将图像中的代码直接注入到内存中执行,达到可执行文件不落地的目的。使用 ShellCode 开发的勒索软件比宏结合 powershell 更难被安全软件识别,未来可能会成为更多勒索软件开发者的选择。

ProLock 勒索软件作者将代码嵌入一个名为 "WinMgr.bmp" 的 BMP 图像中,ShellCode 代码片段如下:

PowerShell 脚本解混淆后,将 ShellCode 直接注入内存中运行。Powershell 脚本如下:

 

 

ShellCode 注入到内存中的代码:

 

 

ProLock 勒索软件为了能够顺利加密文件,会调用 cmd 执行命令停止大量服务。这些服务包括数据库相关服务、数据备份相关服务、安全软件相关服务,如下所示:

 

 

WannaRen 勒索软件 [ 4 ] (2020.4.14)

网上某软件园的 2016office 激活工具中硬编码了 powershell 的相关命令,如下:

 

 

解码后得到可执行代码,执行后会先延时 2000 秒(大概 33 分钟),检测是否存在相关安全防护进程,针对性很强,可以看出是针对国内普通的个人用户环境。最后还是会执行一段 powershell 脚本,通过站点返回的内容作为命令执行。

FTCode 勒索软件 [ 5 ] (2020.1)

FTCode 勒索病毒是一款基于 PowerShell 脚本的勒索病毒,主要通过垃圾邮件进行传播,此勒索病毒攻击流程,如下:

 

 

FTCode 勒索病毒 PowerShell 代码,如下所示:

 

 

Sorebrect(2017/2019.1.2)

它将恶意代码注入到目标系统的合法进程 svchost.exe 中 , 然后自毁以躲避检测。

 

 

二、无文件挖矿

无文件挖矿的方式较普通,一般为利用 powershell 直接在内存中执行、通过 powershell 中嵌入 PE 文件加载等方式,同时还采用 WMI+powershell 等方式进行内存驻留。最近一篇文章 powershell 无文件挖矿病毒处置 [ 7 ] 也表明了目前无文件挖矿仍然存在。具体案例如下:

PowerGhost 2019.11 最新样本 [ 6 ] [ 7 ]

PowerGhost 是从 2018 年被发现使用 powershell 无文件方式进行攻击感染的挖矿以及 DDOS 病毒,其感染方式利用了永恒之蓝,MSSQL 爆破,SSH 爆破,wmi 以及 smb 爆破远程命令执行等,同时对 windows 和 linux 进行攻击,一旦该病毒进入内网,会在内网迅速传播。目前其主要感染地区在广东、浙江、上海以及江苏。

该病毒母体模块分为 2 个版本,x86 和 x64,x86 使用 antitrojan.ps1,x64 使用 antivirus.ps1,本次分析 x64 版本的 antivirus.ps1。当前病毒版本为 1.5。

母体 payload 分布以及执行图,antivirus.ps1 中主要分为 3 个部分,如下图:

 

 

永恒之蓝木马 [ 8 ] [ 9 ]

2019 年 4 月 3 日,腾讯安全御见威胁情报中心检测到永恒之蓝下载器木马再次更新,此次更新改变了原有的挖矿木马执行方式,通过在 Powershell 中嵌入 PE 文件加载的形式,达到执行 " 无文件 " 形式挖矿攻击。新的挖矿木马执行方式没有文件落地,直接在 Powershell.exe 进程中运行,可能造成难以检测和清除。这种注入 " 白进程 " 执行的方式可能造成难以检测和清除恶意代码。

 

 

Coinminer

2019 年第二季度,挖矿病毒也同样出现了新型变种。首先值得注意点是亚信安全最新截获了 "Coinminer.Win32.MALXMR.TIAOODCJ" 病毒,该病毒可首先利用 CVE-2019-2725 漏洞执行特定命令,以利用 PowerShell 执行恶意行为,从远端 C&C 服务器下载证书文件 cert.cer,并使用管理 Windows 中的证书组件 CertUtil 来解码文件,以达到躲避杀毒软件检测的目的。

 

 

PowershellMiner [ 10 ]

2018 年 3 月,利用 WMI+Powershell 方式实现的无文件攻击行为,其目的是长驻内存挖矿。由于此攻击没有本地落地文件,难以察觉,企业利益默默受到侵害。此次攻击,具备无文件攻击特性,所有模块功能均加载到内存中执行,没有本地落地文件。为了迅速在内网传播,采用了 SMB 弱口令爆破攻击和 " 永恒之蓝 " 漏洞攻击,二者只要有一种能成功,就可以横向感染到其它主机。病毒直接使用 powershell.exe 进行挖矿,CPU 占用率达到 87%,其脚本功能是从 wmi 类中读取挖矿代码并执行。

 

 

如上图,原始病毒体为 info*.ps1(64 位系统对应 info6.ps1,32 位系统对应 info3.ps1), 其为 Powershell 脚本,被加载后内存存在 4 个模块,分别为挖矿模块、Minikatz 模块、WMIExec 模块、MS17-010 攻击模块。

攻击顺序如下:

1. 首先,挖矿模块启动,持续进行挖矿。

2. 其次,Minikatz 模块对目的主机进行 SMB 爆破,获取 NTLMv2 数据。

3. 然后,WMIExec 使用 NTLMv2 绕过哈希认证,进行远程执行操作,攻击成功则执行 shellcode 使病原体再复制一份到目的主机并使之运行起来,流程结束。

4. 最后,如 WMIExec 攻击失败,则尝试使用 MS17-010" 永恒之蓝 " 漏洞攻击,攻击成功则执行 shellcode 使病原体再复制一份到目的主机并使之运行起来(每感染一台,重复 1、2、3、4)。

此病毒采用的是 WMI+Powershell 的内存驻留方式,模块以服务形式存在,每 5600 秒可自动触发一次。

三、无文件攻击检测

由于其通常在内存中运行避免落地文件,同时 powershell 脚本易混淆检测困难,传统的基于文件的反病毒软件很难检测到此类攻击。故 NDSS2020 上有学者提出针对离地攻击检测的有效手段 [ 2 ] ,笔者认为也可以推广到一般的无文件攻击检测。

引入概念:离地攻击,只使用预安装的软件并且攻击者没有在系统上安装额外的二进制可执行文件。带有宏、VB 脚本、powershell 脚本或者使用系统命令(如 netsh 命令)的文档属于离地攻击的范围。当使用 dual-use tools 时,若是 Mimikatz 等被下载时,不能被称为离地攻击 [ 11 ] [ 12 ] 。

 

 

问题描述:现有的反病毒软件检测方法很难检测到该类攻击,分析检测该攻击所要具备的条件。

解决方式:依赖于内核级的起源监控,捕获每个目标程序的动态行为。通过嵌入起源数据构建异常检测模型,检测偏离先前观察到的历史程序运行时的行为,因此可以检测以前看不到的攻击。使用神经嵌入模型,使得一个进程起源图中的不同部分投射到 n 位数值向量空间中,这个空间中,相似的组件在地理位置上更接近。使用基于密度的新颖检测方法,检测起源图中的异常因果路径。

文章贡献:设计并实现了 provedetector,基于起源的系统,用于检测伪装技术的隐蔽恶意软件;为了保证较高的检测精度和效率,提出了一种新的路径选择算法来识别起源图中潜在的恶意部分;设计了一个新的神经嵌入和机器学习管道,自动为每个程序建立一个轮廓并识别异常进程;用真实的恶意软件进行系统评估,通过几个可解释性的研究证明了其有效性。

 

 

其核心 ProvDetector 分为四部分:图构建、特征提取、嵌入和异常检测。部署监控代理,按照定义收集系统数据放入数据库。定期扫描数据库检查是否有新添加的进程被劫持。对于每个进程,先构建起起源图(图构建)。然后从源点图选择路径子集(特征提取)并将路径转换为数值向量(嵌入)使用一个新颖的检测器来获得嵌入向量的预测并报告最终决定(异常检测)。

实验评估:评估其检测精度,使用精度、召回率及 F1-Score 来度量。

 

 

同时,对检测结果进行解释,指出为什么检测结果是正确的,给出了理论证明。分析其运行性能,训练、检测时的开销项及开销,评估其企业实用性。是一篇工作量很大、很有意义的优质文章。

据赛门铁克报告显示,在 2019 年上半年,隐秘恶意软件占所有攻击的 35%,增长了 364%,这些攻击成功的可能性是传统攻击的 10 倍。较隐蔽的攻击措施、更高的成功率,使得无文件攻击逐渐火热。同时由于其难以捕捉、难以检测的特性,给传统防御技术带来了巨大的挑战。

 

责任编辑:华轩 来源: 嘶吼网
相关推荐

2019-03-26 09:11:32

无文件恶意软件

2021-03-10 10:05:59

网络钓鱼攻击黑客

2018-12-18 08:53:47

2019-04-10 10:03:52

2018-01-20 22:01:11

2018-12-19 08:52:55

无文件攻击信息安全恶意代码

2012-10-23 10:19:28

2018-10-18 13:18:38

无文件攻击恶意软件网络攻击

2016-03-01 11:47:16

2020-01-03 11:04:54

安全测试渗透

2022-07-28 11:54:03

恶意软件网络攻击无文件

2021-12-13 09:41:28

DNS污染攻击网络安全

2021-06-03 14:14:25

无文件攻击PowerShell恶意攻击

2024-06-28 08:00:00

端口扫描安全

2017-05-02 09:55:02

2024-01-15 00:25:59

2019-12-01 22:34:42

提权web安全漏洞

2023-08-17 12:37:35

2009-10-09 10:46:17

2017-12-11 10:40:14

点赞
收藏

51CTO技术栈公众号