查看原文
其他

非恶意软件攻击浅析

一次性进群,长期免费索取教程,没有付费教程。

教程列表见微信公众号底部菜单

进微信群回复公众号:微信群;QQ群:16004488


如今,非恶意软件攻击的数量呈上升趋势。根据调研机构波洛蒙研究所的一项调查,2017年,29%的组织遭遇无文件攻击。而在2018年,这一数字可能会增加到35%。


那么,什么是非恶意软件攻击?它们与传统威胁有何不同?它们为什么如此危险?以及如何防止它们发生?以下将会给出每个问题的答案。


什么是非恶意软件攻击?


非恶意软件或无文件攻击是一种网络攻击,其中在文件系统并不存在恶意代码。而与在传统恶意软件的帮助下进行的恶意攻击相反,非恶意软件攻击不需要在受害者的机器上安装任何软件。基本上,黑客已经找到了一种方法来改变Windows对自身的攻击,并使用内置的Windows工具进行无文件攻击。


非恶意软件攻击背后的想法非常简单:黑客并不使用可能被标记为恶意软件的自定义工具,而是使用已存在于设备上的合法工具,接管合法的系统进程,并在其内存空间运行恶意代码。这种方法也被称为“离地(living off the land)”攻击。

非恶意软件攻击通常发生的方式


  • 用户打开受感染的电子邮件或访问受感染的网站。

  • 攻击工具包扫描计算机中的漏洞,并使用它们将恶意代码插入Windows系统管理工具之一。

  • 无文件恶意软件在可用的DLL中运行其有效负载,并在内存中启动攻击,隐藏在合法的Windows进程中。


无文件恶意软件可以从受感染的网站或电子邮件下载,作为受感染应用程序的恶意代码引入,甚至甚至分布在零日漏洞中。


为什么非恶意软件攻击如此危险?


无文件恶意软件带来的主要挑战之一是它不使用传统的恶意软件,因此没有任何反恶意软件可以用来检测它的签名。因此,检测无文件攻击极具挑战性。


为了更好地理解它们为什么构成这么大的危险,以下来看看最近的一些无文件攻击的例子。


无文件恶意软件的第一个例子是终止驻留(TSR)病毒。TSR病毒有一个从它们开始的机构,但是一旦恶意代码加载到内存中,可执行文件就可能被删除。


使用JavaScript或PowerShell等脚本中的漏洞的恶意软件也被认为是无文件的。即使是臭名昭著的勒索软件攻击WannaCry和Petya也将无文件技术用作其杀戮链的一部分。


另一个非恶意软件攻击的例子是UIWIX威胁。就像WannaCry和Petya一样,UIWIX使用EternalBlue漏洞。它不会删除磁盘上的任何文件,而是允许安装位于内核内存中的DoublePulsar后门程序。


非恶意软件攻击是如何工作的?


由于非恶意软件攻击使用默认的Windows工具,因此他们设法将其恶意活动隐藏在合法的Windows进程之后。因此,对于大多数反恶意软件产品来说,它们几乎无法检测到。


主要的非恶意软件攻击目标


黑客需要获得尽可能多的资源,同时保持其恶意活动未被发现。这就是为什么大多数无文件攻击都集中在两个目标中的一个的原因:

  • Windows Management Instrumentation(WMI) 

  • PowerShell 

根据目标的类型,无文件攻击可以运行在内存中,也可以利用软件脚本中的漏洞。


攻击者出于几个原因选择了WMI和PowerShell:首先,这两种工具都嵌入到每个现代版本的Windows操作系统中,这使得黑客更容易传播他们的恶意代码。其次,关闭这些工具并不是一个好主意,因为它会极大地限制网络管理员的工作。但是,有些专家建议禁用WMI和PowerShell作为防止无文件攻击的预防措施。


非恶意软件攻击的4种常见类型


无文件恶意软件有很多种类和变体。以下列出了四个最常见的类型:


  • 无文件持久性方法 - 恶意代码即使在系统重新启动后也会继续运行。例如,恶意脚本可能存储在Windows注册表中,并在重新启动后重新感染。

  • 仅限内存的威胁 - 攻击通过利用Windows服务中的漏洞在内存中执行其有效内容。重新启动后,感染消失。

  • 双用途工具 - 现有的Windows系统工具用于恶意目的。

  • 不可移植的可执行文件(PE)文件攻击——一种使用合法Windows工具和应用程序的双用途工具攻击,以及PuthSeBar、cScript或WScript等脚本。


非恶意软件攻击技术


为了执行非恶意软件攻击,黑客使用不同的技术。以下是最常用的四个技术:


  • WMI持久性 - WMI存储库用于存储可通过WMI绑定定期调用的恶意脚本。

  • 基于脚本的技术 - 黑客可以使用脚本文件来嵌入编码的shellcode或二进制文件,而无需在磁盘上创建任何文件。这些脚本可以即时解密,并通过.NET对象执行。

  • 内存漏洞利用 - 无文件恶意软件可能使用受害者机器上的内存漏洞远程运行。

  • 反射式DLL注入 -将恶意DLL加载到进程的内存中,而无需将这些DLL保存在磁盘上。恶意DLL可以嵌入到受感染的宏文件或脚本中,也可以托管在远程计算机上,并通过分阶段的网络通道传播。


现在是讨论企业如何保护免受非恶意软件攻击的方式的时候了。


5种防止非恶意软件攻击的方法


专家们提供了不同的方式来防止和阻止无文件恶意软件:从禁用最易受攻击的Windows工具到使用下一代反恶意软件解决方案。以下五个建议可能有助于保护企业的网络免受非恶意软件攻击。


1、禁用不必要的管理框架。大多数非恶意软件威胁都基于PowerShell或WMI等管理框架中的漏洞。攻击者利用这些框架在受害者的机器上秘密执行命令,而感染则存留在其内存中。因此,最好在任何可能的地方禁用这些工具。

2、禁用宏。完全禁用宏可防止系统上运行不安全和不受信任的代码。如果使用宏是企业最终用户的需求,则可以对受信任的宏进行数字签名,并限制任何其他类型的宏的使用。

3、监视未授权的流量。通过不断监控来自不同设备的安全设备日志,可以检测企业网络中的未授权流量。记录一组基线以更好地理解网络操作流程,并能够检测任何异常,例如与未经授权的远程设备通信或传输大量数据的设备。

4、使用下一代端点安全解决方案。与传统的反恶意软件相比,一些端点解决方案具有能够执行基本的系统行为分析的启发式组件。由于某些类型的恶意软件具有一组特定的通用行为特征,基于启发式的方法可以阻止某些看似基于行为的威胁的活动,从而阻止可能的攻击来传递其全部有效负载。如果出现误报,最终用户可能会通过人工授权继续该过程。

5、保持所有设备更新。补丁程序管理在保护企业系统和防止可能的违规行为方面发挥着重要作用。通过及时提供最新的修补程序,可以有效提高系统防范非恶意软件攻击的级别。


无文件攻击的增加主要是因为它们很难通过标准的反恶意软件解决方案进行检测。虽然有效检测非恶意软件威胁对人们来说仍然是一个挑战,但这些提示可能有助于防止可能发生的攻击。

【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存