autoit 无文件攻击 看来大多数都是编译成exe 而不会直接脚本执行 因为要在用户机器上安装autoit太繁琐
AutoIt 恶意软件
什么是恶意软件?它的目标是绕过计算机防御,感染目标,并在可能的情况下经常留在系统上。各种规避技术取决于作者的技能和预期受害者的防御能力之间的混合。恶意软件中使用最广泛的策略之一是混淆。混淆以打包程序、加密程序和字符串操作的形式出现,如果有效使用,它可以大大增加分析样本和识别威胁所需的时间和资源。
通常,许多恶意软件威胁是用脚本语言编写的,并与运行时一起编译成可执行文件。虽然 PowerShell 和 Python 恶意软件继续流行,但另一种流行的恶意软件开发语言是 AutoIt。AutoIt 是一种脚本语言,合法地用于自动化 Windows 图形用户界面 (GUI) 和基本任务。但威胁参与者也在使用 AutoIt 框架绕过带有混淆威胁的防病毒检测。AutoIt 与恶意软件密切相关,以至于 AutoIT 的网站上有一篇 wiki 文章“解决”了这样一个事实,即合法的 AutoIt 二进制文件经常被 Antivirus 检测为恶意软件。
这是对我们最近检测到的 AutoIT 脚本的分析。This file drops a BitPaymer ransomware variant.。正如在分析中所看到的,它使用乱码变量和函数名、垃圾代码、预定义的 switch-case 操作以及对被普通算法混淆的 Unicode 数组中的大部分代码进行了严重混淆。在对 Notepad++ 中的代码进行去混淆后,最大限度地减少代码块,这会从头开始构建恶意软件并将恶意软件投放到毫无戒心的受害者身上。尽管如此,在它执行一些检查以不感染恶意软件作者之前。
分析 AutoIt 脚本:从编译二进制到纯文本脚本
最近我遇到了一些用于恶意软件检测和逆向工程的示例文件。由于这些文件是恶意的,最好在隔离的感染网络中打开它。以下是 WatchGuard Panda AD360 如何检测我分析的 AutoIt 脚本的示例。
这证实了该文件是可疑的!随后,我使用了一个孤立的网络进行进一步分析。
AutoIT 编译选项
您需要了解的第一件事是 AutoIt 为其用户提供了两种不同的编译选项:已编译的脚本或独立的可执行文件。
- 使用编译后的脚本,恶意负载将显示为至少两个文件:一个是编译后的脚本,另一个是合法的 AutoIt 解释器。
- 使用独立的可执行文件,恶意有效负载将显示为单个 .exe 文件,该文件是 AutoIt 解释器,已编译的脚本作为资源嵌入其中。
反编译
使用 AutoIt 反编译,我们现在可以开始提取和分析 .au3 文件。
打开文件,我们可以看到,恶意脚本被混淆了。
在我们的分析过程中,我们在恶意 AutoIt 脚本中发现了一些有趣的数据,我们仔细检查了这些数据以了解其工作原理。
- 代码用十六进制字符填充。
十六进制字符位置不正确;这就是为什么如果您尝试将其转换为 ASCII 结果是不正确的。需要注意的一点是,其中一个函数使用原始十六进制值从头开始创建另一个文件。如果 AutoIT 脚本位于 64 位环境或 32 位环境中,它会创建不同的文件。
- 使用 python – 正则表达式
有什么比编写我们自己的脚本来 DE 将代码混淆成更易读的东西更好的方法来规避他们使分析变得困难的尝试。
答案是这个正则表达式: (r'PIkUFK\(\”([0-9.]*)\”,([0-9])\)')
- 我们进一步截断文件擦除所有的while循环——目标是擦除垃圾/额外代码——我们在记事本++中轻松实现了这一点
使用搜索和替换,我们使用以下正则表达式来删除一些代码。
最后不得不删除所有的LF/CR。
下面我们可以看到一个区别——第一张图片是完全混淆的,第二张图片显示了经过 PIkUFK 函数运行的反混淆函数后的明文。
AutoIt 脚本使用技巧并检查系统中的文件和计算机名称,以避免被反恶意软件引擎检测到。它还检查 API GetTickCount 以检测沙盒模拟。此外,脚本会检查域“OJtmGmql.OJtmGmql”,如果域处于活动状态则退出。如果这些随机通过,它会注入 shellcode。
此外,代码将 shellcode 注入内存并首先创建一个名为“JFTZRATSJPATTZLFCUTTH”的互斥体,然后获取解密的 PE 文件,注入并执行它。最后,有效载荷被解密并在内存中运行,以免被防病毒软件捕获。
结论
结果是提出了混淆代码的最终流程。这个函数之后的代码集根本不是一个函数,这意味着它很可能是事实上的“主”函数。因此,将逐行描述该行为:
- 检查计算机名称是否为“DESKTOP-Qo5QU33”、“NfZtFbPfH”、“tz”或“ELICZ”。如果是,则脚本终止。这些名称由 AV 模拟器使用。
- “NfZtFbPfH”——卡巴斯基
- “tz”——Bitdefender
- “ELICZ” – 平均
- “DESKTOP-Qo5QU33” – 攻击者机器名称
- 检查名为“C:\aaa_TouchMeNot_.txt”的文件是否存在,如果存在,则终止。
- 前 5 行基本上是杀死开关。作者可能使用这些来测试脚本而不是感染自己。如果你有那些计算机名或那个文件,你基本上就不会受到这个特定的影响
- 将原始文件名复制到另一个文件名。
- 对 Kernel32.dll 进行 DLLCall 并将错误模式设置为 8006,它等于:
- SEM_NOALIGNMENTFAULTEXCEPT – 0x0004
- SEM_NOGPFAULTERRORBOX – 0x0002
- SEM_NOOPENFILEERRORBOX – 0x8000
- 它还执行 ping 操作并在成功运行后终止脚本
- 最后运行脚本并再次调用计时函数。
像这些 AutoIt 脚本这样的混淆恶意软件说明了为什么高级端点保护服务如此重要。威胁参与者比以往任何时候都更容易创建规避有效载荷,通过传统的基于签名的工具并通过将代码注入其他进程的内存来发起无文件攻击。
新蠕虫帮助传播无文件版本的 Bladabindi RAT
Bladabindi RAT 的更新版本是无文件的,现在可以通过可移动 USB 和其他存储设备进行传播。
趋势科技研究人员发现了一种新的蠕虫病毒,它既无文件又通过可移动 USB 驱动器和其他存储设备传播。
在他们的博客文章中,The Trendies 发现该蠕虫安装了新的更新版本的 Bladabindi (njRAT/Njw0rm)——他们编写的远程访问工具 (RAT) 具有无数的后门功能。它可以进行键盘记录,以及执行分布式拒绝服务 (DDoS) 攻击。
这种类型的可定制性和适应性使其使用时间比通常用于这些类型的 RAT 的时间更长。
AutoIt 是一种 Windows 免费软件脚本语言,用于创建后门有效负载。FileInstall 命令用于将有效负载以及主脚本编译为单个可执行文件。研究人员指出,这使得蠕虫的有效载荷——后门——难以检测。
为了了解有关 RAT 的更多信息,研究人员使用 AutoIt 脚本反编译器来确定有效负载的实际功能。
他们的研究发现,它会从系统的 %TEMP% 目录中删除任何名为 Tr.exe 的文件,以便它可以安装自己的 Tr.exe 版本。这是随后执行的文件,蠕虫还会在 %STARTUP% 目录中为该文件设置快捷方式。
为了传播,RAT 会将自己的隐藏副本放置在受感染系统上的任何可移动驱动器上。它还将可移动驱动器上的所有原始文件从其根目录移动到一个名为“sss”的已创建文件夹中。
Tr.exe 是一个 AutoIt 编译的可执行脚本,然后将其放入可移动驱动器。
然后,它访问名为 AdobeMX 的自动运行注册表 --HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 以执行 PowerShell,以便通过反射加载加载编码的可执行文件。这意味着从内存而不是从系统磁盘加载可执行文件。
这种反射加载是蠕虫被称为无文件的原因,因为可执行文件直接从注册表加载到 PowerShell 的内存中。由于有效载荷不是来自系统磁盘,因此很难通过标准防病毒软件进行检测。
研究人员发现 RAT 已经过 .NET 编译,并使用商业代码保护软件进行混淆处理。
一旦 RAT 被激活,它就会成为一个数据窃取系统和后门。它能够在浏览器会话期间窃取凭据、捕获网络摄像头镜头以及执行攻击者指定文件的下载和执行。它还创建了一个防火墙策略,将 PowerShell 的进程添加到系统中允许的程序列表中。
来自命令和控制服务器端口 1177 上的任何文件都作为 Trojan.exe 存储在 %TEMP% 文件夹中。
趋势科技研究人员提供了相当标准的缓解建议:
用户,尤其是仍在工作场所使用可移动媒体的企业,应注意安全卫生。限制和保护可移动媒体或 USB 功能或 PowerShell 等工具的使用(特别是在具有敏感数据的系统上),并主动监控网关、端点、网络和服务器的异常行为和指标,例如 C&C 通信和信息盗窃。
相关文章:
— Larry Loeb 为上世纪的许多主要“死树”计算机杂志撰稿,除其他外,他还担任 BYTE 杂志的顾问编辑和 WebWeek 的高级编辑。
BLADABINDI,也称为 njRAT/Njw0rm ,是一种远程访问工具 (RAT),具有无数后门功能——从键盘记录到执行分布式拒绝服务(DDoS)——自首次出现以来,它已在各种网络间谍活动中重新散列和重用出现了。事实上,BLADABINDI 的可定制性和看似在地下的可用性使其成为一种普遍的威胁。恰当的例子:上周,我们遇到了一种蠕虫(被趋势科技检测为 Worm.Win32.BLADABINDI.AA),它通过可移动驱动器传播并安装无文件版本的 BLADABINDI 后门。
虽然仍不清楚恶意文件是如何实际到达受感染系统的,但其传播程序表明它是通过可移动驱动器进入系统的。除了是一种灵活且易于使用的脚本语言之外,BLADABINDI 对 AutoIt 的使用也是值得注意的。它使用AutoIt (FileInstall命令)将有效负载和主脚本编译为单个可执行文件,这会使有效负载(后门)难以检测。
图 1:显示已编译 AutoIt 脚本的常见指标的屏幕截图(突出显示)
技术分析
我们使用 AutoIt 脚本反编译器来分解可执行文件的 AutoIt 脚本,发现脚本的 main 函数首先从系统的 %TEMP% 目录中删除任何名为Tr.exe的文件,以便它可以在其上安装自己的Tr.exe版本。删除的文件在终止任何同名进程后执行。它还将自己的副本放在同一目录中。为了持久性,它在%STARTUP%目录中添加了文件的快捷方式。
为了传播,它会在受感染系统上发现的任何可移动驱动器上安装其自身的隐藏副本。它还将删除一个快捷方式文件 (.LNK) 并将可移动驱动器的所有原始文件从其根目录移动到创建的名为sss的文件夹中。
图 2:显示反编译脚本的代码快照
图 3:代码快照显示 AutoIt 的 FileInstall 命令如何用于将 AutoIt 脚本与任何文件捆绑,然后在脚本执行期间加载文件
图 4:显示快捷方式如何添加(顶部)以及它如何通过可移动驱动器传播(底部)的代码快照
删除的Tr.exe实际上是另一个 AutoIt 编译的可执行脚本 (Trojan.Win32.BLADABINDI.AA)。反编译它会发现它包含一个 base-64 编码的可执行文件,它将写入注册表 HKEY_CURRENT_USER\Software 中名为Valuex的注册表值。
它还将为持久性创造另一个价值。它将使用名为AdobeMX的自动运行注册表 (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run) ,该注册表将执行 PowerShell 以通过反射加载(从内存而不是系统磁盘加载可执行文件)加载编码的可执行文件。
由于可执行文件直接从注册表加载到 PowerShell 的内存中,因此我们能够转储恶意可执行文件所在的特定地址。我们发现它是 .NET 编译的,它使用商业代码保护软件进行混淆。
图 5:显示 PowerShell 加载编码的可执行文件的屏幕截图
BLADABINDI/njRAT 有效载荷
BLADABINDI 后门的变体使用water-boom[.]duckdns[.]org作为其命令和控制 (C&C) 服务器,端口为 1177。与 BLADABINDI 的其他和以前的迭代一样,这个无文件版本的 C&C 相关 URL使用动态域名系统 (DNS)。这可能允许攻击者隐藏服务器的实际 IP 地址或根据需要更改/更新它。
从 C&C 服务器下载的所有文件都以Trojan.exe的形式存储在 %TEMP% 文件夹中。它使用字符串 5cd8f17f4086744065eb0992a09e05a2 作为其互斥体以及受影响机器中的注册表配置单元。它使用值 tcpClient_0作为其 HTTP 服务器,它将接收来自受感染机器的所有被盗信息。但是,由于该值设置为 null,所有被盗信息将被发送到同一个 C&C 服务器。
当后门运行时,它会创建一个防火墙策略,将 PowerShell 的进程添加到系统中允许的程序列表中。BLADABINDI 的后门功能如图 7 所示,其中包括键盘记录、检索和执行文件以及从 Web 浏览器窃取凭据。
图 6:显示 BLADABINDI 变体配置的代码快照(顶部)以及它如何创建防火墙策略以将 PowerShell 添加到允许运行的程序列表(底部)
最佳实践和趋势科技解决方案
蠕虫的有效载荷、传播和在受影响系统中无文件传递后门的技术使其成为重大威胁。用户,尤其是仍在工作场所使用可移动媒体的企业,应注意安全卫生。限制和保护可移动媒体或 USB 功能或 PowerShell 等工具的使用(特别是在具有敏感数据的系统上),并主动监控网关、端点、网络和服务器的异常行为和指标,例如 C&C 通信和信息盗窃。
用户和企业还可以使用趋势科技端点解决方案,例如 Trend Micro™ Security、Smart Protection Suite和 Worry-Free Business Security , 它们都包含行为监控功能以检测无文件恶意软件攻击。这有助于组织在执行或执行行为之前找出可以阻止恶意软件的恶意行为。防毒墙网络版还可以包括一个 设备控制 功能,可以防止 USB 和光驱被访问,从而防止类似于本文中讨论的攻击。带有 XGen™ 端点安全的趋势科技™ 防毒墙网络版™ 将高保真机器学习与其他检测技术和全球威胁情报相结合,以全面防御高级恶意软件。
妥协指标 (IOC)
相关哈希(SHA-256):
- c46a631f0bc82d8c2d46e9d8634cc50242987fa7749cac097439298d1d0c1d6e —Worm.Win32.BLADABINDI.AA ==>https://app.any.run/tasks/1d09542c-ec24-439d-9155-66beb0578a6f/
- 25bc108a683d25a77efcac89b45f0478d9ddd281a9a2fb1f55fc6992a93aa830 — Win32.BLADABINDI.AA
相关恶意网址:
- water[-]boom[.]duckdns[.]org (C&C 服务器)