浅谈无文件落地攻击

传统的恶意软件(.exe 、 .ps1)攻击感染一个系统之前会把恶意文件(.exe、.ps1)复制到目标磁盘中并修改注册表并连接到此文件来达到一个长期隐藏的目的。

据CrowdStrike统计,80%的成功入侵,使用无文件攻击。

无文件攻击是什么?

与传统的攻击思路不同,无文件攻击采用一种不写入目标磁盘的手法攻击,而不写入磁盘中则无法被杀软检测出一些病毒特征码,也可以很好的绕过杀软。

那么不写入磁盘又真的无文件吗?答案当然是否定的,无文件攻击并非是不写入文件,无文件攻击这个名词只是一种攻击思路,是将恶意文件内容以脚本形式存在计算机中的内存注册表子项目中或者利用系统合法工具以逃避安全检测。

做过红日2的朋友应该都用到过CSweb钓鱼马,利用msfCVE-2019-2725模块反弹shellmsf伪造恶意exe文件触发shell的弹取等等这些都算是无文件落地攻击

传统的恶意软件攻击流程:

1.投放恶意PE(可移植可执行文件)到目标磁盘驱动器中。
2.执行。
3.长期隐藏-需要修改注册表并连接到此恶意PE。

无文件落地攻击流程:

1.远程加载恶意脚本。
2.注入内存。
3.写入注册表(或者自运行)。

传统技术抵御病毒的缺陷

这里引用CrowdStrike《无文件攻击白皮书》中的一段原话来介绍一下传统病毒防御为什么很难搞定无文件落地攻击

1)传统防病毒(AV)旨在寻找已知恶意软件的特征码。由于无文件攻击没有恶意软件,所以AV没有可检测的特征码。

2)基于机器学习(ML)的反恶意软件方法,在应对无文件攻击时,面临着与传统AV相同的挑战。ML动态分析未知文件,并将其区分为好的或坏的。但是我们已经注意到,在无文件攻击中,没有要分析的文件,因此ML无法提供帮助。

3)白名单方法包括列出一台机器上所有良好的进程,以防止未知进程执行。无文件攻击的问题在于,它们利用易受攻击的合法白名单应用程序,并利用内置的操作系统可执行文件。阻止用户和操作系统共同依赖的应用程序,并不是一个好的选项。

4)使用失陷指标(IOC)工具来防止无文件攻击也不是很有效。本质上,IOC类似于传统的AV签名,因为它们是攻击者留下的已知恶意制品。然而,由于它们利用合法的进程,并且在内存中操作,所以无文件攻击不会留下制品,因此IOC工具几乎找不到任何东西。

5)另一种方法涉及沙箱,它可以采取多种形式,包括基于网络的爆破和微虚拟化。由于无文件攻击不使用PE文件,因此沙盒没有什么可爆破的。即便真有东西被发送到沙箱,因为无文件攻击通常会劫持合法进程,大多数沙箱也都会忽略它。

无文件落地攻击类型

灰色工具型

利用系统提供的合法工具,如:powershellcmdpsexecperl等去执行恶意命令。

因为这里所给的合法工具是为管理员维护计算机环境以及对网络、系统的管理,杀软不仅仅要保证这些工具的正常工作也需要防止其被恶意的使用,所以容易被黑客利用。

潜伏型

为了让病毒母体被删除后以及每次开机后还能继续执行恶意代码,持久化潜伏成为一种常见的无文件攻击方式。通过将恶意代码存储在注册表WMI系统进程(进程注入)、MBR定时任务等地方,可以让恶意代码隐蔽地自动执行。

脚本型

利用powershell、VB.script、bat、javaSrtipt等脚本去执行恶意命令。

内存型

利用系统、应用漏洞去执行一些内存的一些攻击,例如:缓冲区溢出ROP(二进制漏洞)、堆栈攻击、布局shellcode等。

都不细说了,主要了解,涉及到的东西挺多的,目前水平有限,无法讲解。

案例测试

利用meterpreter测试一个无文件落地的实例,先做一个stager结构的exe文件,放入win机。

浅谈无文件落地攻击_第1张图片

payload选择 windows/meterpreter/reverse_tcp,最后监听

 我们把exe文件放入windows中再点击

 成功了,到这里还没完,我们如何在这里构造一个无文件落地呢?先用ps查看Windows的进程信息

浅谈无文件落地攻击_第2张图片

可以看到msf.exeWindows中运行着,只要是以shellcode或者内存代码进去的,都可以做进程的迁移,所以我们可以在这里找一个可以让我们把msf.exe的进程迁移过去即可,在msf中用migrate指令加进程的uid即可完成迁移(不过要注意有些进程无法迁移)

浅谈无文件落地攻击_第3张图片

ps看一下进程情况

浅谈无文件落地攻击_第4张图片

可以看到没有msf.exe了,而我们的msfshell还在运行,因为我们已近把进程迁移到uid2452中了,与此同时我们如果删除Windows中的msf.exe也没有用,这里不好演示删除前后的区别,大家可以自己测试一下。

这里如果攻击过程中被PC机的主人发现了2452进程的问题,直接强制结束则会导致shell退出,如下

浅谈无文件落地攻击_第5张图片 

当然这也假设,将进程迁移后的隐藏性很强一般是发现不了的。

参考:

CrowdStrike《无文件攻击白皮书》解析 - 安全内参 | 决策者的网络安全知识库

常见的windows下无文件落地攻击手法 - FreeBuf网络安全行业门户

百度安全验证

你可能感兴趣的:(内网渗透,安全,linux,系统安全,网络,windows)