加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

无文件攻击的4种基本技术介绍

发布时间:2018-10-19 23:01:17 所属栏目:业界 来源:luochicun
导读:无文件攻击事件这几年呈现了高速发展状态,成为了网络攻击中的一个重要力量。不过,很多人对无文件攻击的概念,还不是很了解。虽然此前关于无文件攻击的攻击事件和案例,我们也介绍过不少,但有些东西还是没有讲透,今天我们就来讲讲无文件攻击的4种基本技
副标题[/!--empirenews.page--]

无文件攻击事件这几年呈现了高速发展状态,成为了网络攻击中的一个重要力量。不过,很多人对“无文件攻击”的概念,还不是很了解。虽然此前关于“无文件攻击”的攻击事件和案例,我们也介绍过不少,但有些东西还是没有讲透,今天我们就来讲讲无文件攻击的4种基本技术。

“无文件攻击”这一术语往往会让人产生歧义,比如无文件攻击就代表真的没有攻击文件吗?没有文件又如何实施攻击?如何检测?如何防御……,其实“无文件攻击”只是一种攻击策略,其出发点就是避免将恶意文件放在磁盘上,以逃避安全检测。有一点需要明确,就是无文件恶意软件也要使用文件。

最初,“无文件攻击”是指没有持久驻留在内存中的恶意代码的攻击,不过随着攻击技术的迭代,该术语的指代面越来越广了,现在安全行业已将那些依赖文件系统,以实现恶意代码激活和驻留的恶意软件也成为“无文件恶意软件”。由于在无文件恶意软件攻击中,系统变得相对干净,传统的杀毒软件很难或根本无法识别这种感染并及时通知技术人员进行防御,所以这种攻击越来越普遍。

其实,“无文件”这一术语也在不同的时间点是有不同含义的,早在2012年,有文章最初就使用了“无文件恶意软件”这一词汇。但是,为了应对无文件攻击的挑战,就需要消除这一术语的歧义,以了解它涵盖的各种技术。因此识别它如何影响特定的环境和防御策略就变得非常重要。

据GoogleTrends的监测结果显示,“无文件恶意软件”此前有过很多不同的称呼,比如: “无形恶意软件”、“零足迹攻击”或“无/宏恶意软件攻击”。这些词早在2012年到2014年之间就零星的出现过。不过随着这一技术的使用频率增加,网络安全人员对这一术语的集中讨论却发生在2015年,直至2017年随着网络安全的概念深入人心,无文件恶意软件”这个词也被定了下来并被大众所熟知。

无文件攻击

尽管存在杀毒软件和应用程序白名单等反恶意软件的控制措施,但无文件攻击也包含各种应对策略,允许攻击者进行有针对性的攻击。下面概述了无文件攻击所涉及的方法,旨在为无文件攻击的防御提供明确的概念和理论指导。现在,就让我们来看看无文件攻击所包含的具体技术,以及它们为什么常常能利用这些技术逃避现有的检测。

技术1:恶意文件所发挥的作用

许多专业安全分析人员通过长期的跟踪分析,确认无文件的攻击其实是包含各种文件的。在这种情况下,攻击者提供恶意文件通常会作为电子邮件附件,用于以下其中一种目的:

  • 恶意文件可以充当其他文件的灵活容器:例如,攻击者可以在Microsoft Office文件中嵌入JavaScript文件,并对收件人进行社交工程攻击,当受害者打开嵌入的文件时,恶意文件就开始执行所带的脚本了。另外,可以携带恶意文件的其他文件类型包括PDF和RTF。由于此功能是特定应用程序才包含的一项功能,因此杀毒软件的技术通常不会干扰这些文件的使用。
  • 恶意文件可以携带执行恶意代码的漏洞:如今的文件功能越来越复杂,不过功能多的同时所包含的攻击面也就增大,比如攻击者可以利用诸如解析漏洞之类的漏洞。在这种情况下,攻击者就可以在受损应用程序的内存中触发捆绑的shellcode,执行攻击,即使不将代码保存到文件系统,攻击者也可以在发起攻击。
  • 文件可以执行传播过程中的恶意逻辑,如今的文件都支持强大的脚本功能,例如Microsoft Office执行VBA宏的功能。这些功能允许攻击者在没有编译可执行文件的情况下实现恶意逻辑,这就是利用了许多杀毒工具在区分恶意脚本和良性脚本方面的弱点。文件脚本功能包括启动程序和下载恶意代码。

虽然文件驻留在攻击端的文件系统上,但攻击者可以不将这些传统恶意可执行文件放置在磁盘上。在许多情况下,这些文件会直接在攻击目标的内存中执行恶意代码,这也是无文件攻击的重要组成环节。有关攻击者如何使用这些文件发起攻击的详细案例,请参阅Omri Moyal关于滥用Microsoft Office支持DDE的文章。还有一篇文章是关于“攻击者如何将自己插入对话以传播恶意软件”,请点此查看。

技术2:恶意脚本所发挥的作用

为了避免将恶意代码编译成传统可执行文件的目标,无文件攻击的开发者需要在利用无文件属性进行攻击时依赖恶意脚本。除了文件原来就支持的脚本之外,如上所述,攻击者可以直接在Microsoft Windows上运行的脚本提供了以下攻击优势:

  • 这些恶意脚本可以与操作系统进行交互,而不受某些应用程序(如Web浏览器)可能对脚本施加的限制。
  • 与经过编译的恶意可执行文件相比,杀毒软件更难检测和控制这些恶意脚本。
  • 这些脚步提供了许多灵活的攻击机会,可以将恶意逻辑分散到多个进程中,以逃避检测。
  • 这些脚步在被混淆处理后,减缓安全分析师的分析速度,为进一步逃避检测提供时间。Microsoft Windows包括PowerShell,VBScript,批处理文件和JavaScript的脚本解释器,攻击者调用并运行这些脚本的工具包括powershell.exe,cscript.exe,cmd.exe和mshta.exe。通过添加适用于Linux的Windows子系统,Microsoft可以在攻击端上提供更多脚本技术。有关企业在限制这些工具的滥用方面所面临的挑战的一个案例,请参阅Gal Bitensky在讨论Invoke-NoShell实用程序的文章。

攻击者可以使用现成的混淆脚本的框架,而不必自己来实现这种复杂的逃避策略。这些措施包括Daniel Bohannon开发的适用于PowerShell和Invoke-DOSfuscation框架的Invoke-Obfuscation。具体案例,请参考Minerva对Emotet的脚本混淆的分析。

技术3:与本地程序交互

关于无文件攻击的讨论通常包括滥用Microsoft Windows中内置的众多实用程序,这些工具允许对手从攻击的一个阶段转移到另一个阶段,而无需依赖编译的恶意可执行文件。这种经营方式有时被称戏称为“靠土地为生(living off the land)”。

一旦攻击者的恶意代码可以与本地程序交互,那么文件感染程序就开始启动,此时攻击者就可以开始滥用操作系统内置的实用程序来下载其他恶意控件,启动程序和脚本,进而窃取数据,大肆感染,保持持久性攻击等。攻击者为了与本地程序交互,调用了许多工具,其中包括regsvr32.exe,rundll32.exe,certutil.exe和schtasks.exe。关于攻击者如何以这种方式滥用内置二进制文件、库和脚本描述,请参阅Oddvar Moe的LOLBAS项目。

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读