无文件攻击并不是真正意义上的没有文件,而是指其尽可能不落地磁盘文件,同时尽可能采取一些隐藏自己的行为,其可以在内存、注册表、或者利用系统合法工具执行恶意命令,从而达到绕过传统安全软件检测的方法。
一、无文件攻击的常见类型:
灰色工具型:利用系统提供的合法工具,如:powershell、cmd、psexec、perl等,去执行恶意命令。
潜伏型:为了让病毒母体被删除后以及每次开机后还能继续执行恶意代码,持久化潜伏成为一种常见的无文件攻击方式。通过将恶意代码存储在注册表、WMI、系统进程(进程注入)、MBR、定时任务等地方,可以让恶意代码隐蔽地自动执行。
脚本型:利用vbs、vba、js、cscript等脚本去执行恶意命令。
内存型:利用系统、应用漏洞去执行一些内存的一些攻击,例如:缓冲区溢出、ROP、堆栈攻击、布局shellcode等。
二、无文件攻击可能会造成的危害:
无文件勒索: 攻击者通过系统、应用漏洞,来加载一些远程恶意载荷,对数据进行加密,实现无文件的勒索。
无文件钓鱼: 在一些场景中,攻击者会将恶意代码植入至正常文档,通过邮件、沟通工具等方式分发到用户环境中去,用户在点击后将在后台调用系统的合法程序去执行自己的恶意命令,从而实现无文件钓鱼攻击。
无文件数据窃取: 攻击者可以通过远程去加载一些系统允许的网络路径,加载远程模块,通过加载的模块可以实现对业务数据进行窃取。
三、无文件攻击的防护手段:
在终端场景中:
攻击者通常利用钓鱼邮件或是某些软件漏洞发起攻击,并调用Powershell、WMI、PsExec等系统自有工具远程下载执行恶意命令,具有隐蔽性强、攻击成功率高、破坏力大、溯源困难等特点。基于特征签名、网络流量、系统日志的传统检测手段很难有效应对无文件攻击,很多勒索病毒、挖矿木马甚至恶意后门程序大多数是通过无文件攻击实现。
内存保护系统摆脱了对特征签名、网络流量、系统日志等采用静态特征检测方式的依赖,采用行为分析技术,深入Powershell、WMI等脚本解释器内部监控进程行为,能有效检测和发现无文件攻击行为,并能对攻击进行阻断。
在服务器场景中:
内存马是以Web系统为主要攻击目标,获取对Web应用服务器的远程控制,并以此为跳板横向攻击。内存马因其隐蔽性强、成功率高而备受攻击者青睐,不仅被网络黑客广泛应用,还成为近两年实网攻防演练中的红方标配手段。
内存保护系统采用了RASP的技术理念,很好地实现了对内存马的有效检测和防护。同时,与传统RASP技术应用产品相比,内存保护系统具有以下几个优点:
一、数据分析过程主要在Web容器外部进行,最大限度降低对业务内存的占用,降低影响,确保业务系统运行的稳定性;
二、采用轻侵入模式,部署或升级过程均不涉及业务系统重启;
三、基于行为链结合内存行为进行判断,提升检测精确度,降低误报;
四、能通过动态枚举发现内存中已驻留的WebShell,提高检测能力。