首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文详解基于脚本的攻击

攻击者总是在寻找新的方法来逃避检测。由于大多数端点安全产品能够较好地处理基于文件的攻击,而对无文件攻击的处理能力较弱。目前在无文件攻击的案例里,基于脚本的样本比例比较高,基于脚本、避免文件落地的攻击方式成为了攻击者绕过大多数传统安全产品的绝佳方法。

脚本可提供初始访问权限,实现逃避检测并促进感染后的横向移动。攻击者将直接在计算机上使用脚本,或者将其嵌入到发送给受害者的电子邮件附件如Office文档和PDF中。本文概述了当前的脚本威胁情况以及最常见的脚本攻击方法。

基于脚本的攻击的兴起

基于脚本的攻击从2017年开始变得越来越流行,Ponemon Institute发布的2020端点安全报告显示:现在基于脚本的攻击已占所有攻击的40%。值得注意的是,在横向移动和感染中滥用合法应用程序和诸如PowerShell之类的本地工具的现象激增。

许多恶意威胁都在使用脚本。例如,下载PE文件的脚本可以将其保存到磁盘中,也可以在内存中运行,这取决于其复杂程度。该脚本还可以执行其他恶意操作,例如收集有关受害者的信息,包括计算机名称甚至保存的密码。

脚本可以是一系列简单的系统命令,也可以是用脚本语言编写的程序。常见的脚本语言有VBScript,JavaScript和PowerShell。与应用程序不同,脚本不需要编译为机器码,而是直接由计算机解释执行。用Perl脚本语言的创建者Larry Wall的话来说:“脚本是给演员的东西,而程序是给观众的东西。”

攻击者如何利用脚本?

提到基于脚本的攻击,就不得不介绍他们常常利用的工具PowerShell。PowerShell是用于命令行管理和脚本语言的配置管理和任务自动化的框架。它提供对Microsoft Windows Management Instrumentation(WMI)和Component Object Model(COM)的访问,利用这一工具,系统管理员可以将IT管理流程自动化。而与此同时,它也成为了攻击者在系统中立足的有效且通用的工具。

在许多情况下,PowerShell允许攻击者侵入受害者的系统,因为使用PowerShell可使攻击者获得他们需要的权限,在系统中执行横向移动,以及与其他Windows应用程序进行交互。

攻击者在攻击中使用PowerShell将恶意代码直接加载到内存中,而无需写入磁盘,从而绕过了许多端点安全产品。攻击者还可以使用PowerShell通过Metasploit或PowerSploit等框架自动执行数据窃取和感染。

与其他类型的攻击一样,在基于脚本的攻击中,攻击者通常使用网络钓鱼攻击来入侵受害者的主机,这种网络钓鱼攻击包含一个dropper ,例如PDF,RTF,Office文件或存档。在大多数情况下, 这个dropper 将运行一个脚本,该脚本可以是VBA宏,也可以是其他类型的脚本,例如PowerShell,JavaScript或HTA。

在某些情况下,这些脚本充当下载程序,要么将PE文件下载到磁盘之后删除,要么将PE文件注入到另一个进程,要么下载另一个脚本来执行下一阶段的攻击。极少数情况下,脚本包含整个恶意逻辑。另外,攻击者可以利用类似Adobe Acrobat等的文档阅读器中的漏洞来进行下一阶段的攻击。无论是基于脚本的恶意软件,还是基于文件的恶意软件攻击(包括著名的勒索软件和金融恶意软件活动),都在广泛使用droppers。

一组攻击样本显示,有75%的无文件活动使用脚本,其中大多数是PowerShell,HTA,JavaScript,VBA中的一个或多个。

例如,总部位于伊朗的OilRig组织使用的Helminth Trojan使用脚本编写恶意代码。他们在攻击过程中,利用了Microsoft Word文档文件中编号为CVE-2017-0199的漏洞  。该脚本由Windows进程执行。这一脚本会运行HTML可执行文件mshta.exe。一旦执行,脚本将启动攻击,就会将Helminth Trojan以PowerShell和VBS脚本的形式下载到本地并执行。

脚本的使用为攻击者带来了哪些好处?

1、脚本易于编写和执行,难以理解且极其多态。此外,攻击者可以利用多种类型的脚本文件来进行攻击,其中最受欢迎的是PowerShell,JavaScript,HTA,VBA,VBS和批处理脚本。

2、由于基于脚本的无文件攻击发生在内存中,因此传统的静态文件检测变得无效。另外,脚本使事后溯源分析变得复杂,因为许多与攻击有关的恶意脚本仅存在于计算机的内存中,并且可能通过重启系统而被覆盖或删除。

3、基于脚本的攻击几乎可以在所有Windows系统上运行,从而增加了潜在的攻击面和感染机会。

基于脚本的攻击的一个主要缺点是,除非通过漏洞利用进行部署,否则运行脚本必须进行用户交互。例如,在大多数情况下,脚本要么作为脚本文件包含在需要用户操作的电子邮件中,要么作为VBA宏包含在要求用户启用宏的文档中。

其他基于脚本的威胁

HTML应用程序(HTA)是一个Microsoft Windows文件,用于在Internet Explorer上运行,该文件将HTML代码与Internet Explorer支持的脚本(例如VBScript或JScript)结合在一起。HTA文件通过Microsoft HTA引擎mshta.exe执行,该引擎具有本地用户的特权而不是Internet Explorer的受限特权,并且可以访问文件系统和注册表。

恶意的HTA文件允许脚本使用本地用户特权运行计算机,从而实现下载和运行可执行文件或其他脚本。尽管这被认为是一种旧的攻击手段,但许多基于脚本的攻击仍在继续使用HTA文件,因为这些文件可以作为附件发送,由其他脚本下载或从恶意网站重定向。

VBScript是Microsoft Visual Basic的脚本版,它是一种基于VBA(Visual Basic for Applications)的Microsoft脚本语言。VBS代替了VBA提供的完整应用程序开发,提供了更直接的用法,实现系统管理员的任务自动化。与用于类似用途的PowerShell十分相似,VBScript经常出现在基于脚本的攻击中。

如何防御基于脚本的攻击?

基于脚本的攻击很多没有落地到磁盘,属于无文件攻击。通过使用启发式分析和行为分析( the use of heuristics and behavioral analysis),从而进行内存检测和相关行为的收集分析,可以达到检测、防御脚本攻击的目的。我们之前也写过如何防护无文件攻击的文章,感兴趣的同学欢迎来学习~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200821A04RTF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券