恶意软件分析– Ursnif Trojan

2022-04-22 13:51:23 浏览数 (2)

介绍Ursnif,也称为Gozi-ISFB或Dreambot,是一种广泛分布的银行木马。它试图从不同金融机构的客户那里窃取银行凭证。首次发现与Gozi-ISFB相关的源代码泄漏时。从那时起,乌尔斯尼夫(Ursnif)不断发展并活跃在威胁领域。根据Microsoft的说法,Ursnif自2009年首次出现以来就显示出令人难以置信的窃取功能。从窃取用户的凭据,本

介绍

Ursnif,也称为Gozi-ISFB或Dreambot,是一种广泛分布的银行木马。它试图从不同金融机构的客户那里窃取银行凭证。首次发现与Gozi-ISFB相关的源代码泄漏时。从那时起,乌尔斯尼夫(Ursnif)不断发展并活跃在威胁领域。

根据Microsoft的说法,Ursnif自2009年首次出现以来就显示出令人难以置信的窃取功能。从窃取用户的凭据,本地Webmail凭据和云存储到加密货币交换平台和电子商务平台,Ursnif展现了多种功能。其先进的技巧可帮助规避多个沙盒环境,使其成为野外最受欢迎的窃取者。从窃取PC的个人信息和操作系统信息到在目标系统上运行恶意命令,Ursnif被用于许多恶意目的。Ursnif可以通过恶意电子邮件以及受感染的可移动驱动器(如USB闪存驱动器)传播。自2014年出现以来,该恶意软件一直在不断发展,其功能包括收集银行凭证,击键,加密货币,屏幕截图,网络邮件以及集成间谍软件功能。在针对意大利和日本用户的针对性运动中也发现了Ursnif变体。Ursnif通常是通过带有嵌入式VBA宏的恶意文档传递的,该宏文件被高度混淆,并且充当了丢弃程序。其变体之一试图直接从数字钱包中窃取加密货币。它还使用语言检查来进行本地化和沙盒逃避检测。Ursnif还可能搜索磁盘加密软件以提取密钥并访问用户隐藏的文件。Ursnif保持其经常性修订,从而产生了新的持久性机制,新的窃取模块和新的加密货币窃取模块。它也可能伪装成其主要有效载荷,作为从受欢迎的图像站点下载的友好图像。Ursnif通常是通过带有嵌入式VBA宏的恶意文档传递的,该宏文件被高度混淆,并且充当了丢弃程序。其变体之一试图直接从数字钱包中窃取加密货币。它还使用语言检查来进行本地化和沙盒逃避检测。Ursnif还可能搜索磁盘加密软件以提取密钥并访问用户隐藏的文件。Ursnif保持其经常性修订,从而产生了新的持久性机制,新的窃取模块和新的加密货币窃取模块。它也可能伪装成其主要有效载荷,作为从受欢迎的图像站点下载的友好图像。Ursnif通常是通过带有嵌入式VBA宏的恶意文档传递的,该宏文件被高度混淆,并且充当了丢弃程序。其变体之一试图直接从数字钱包中窃取加密货币。它还使用语言检查来进行本地化和沙盒逃避检测。Ursnif还可能搜索磁盘加密软件以提取密钥并访问用户隐藏的文件。Ursnif保持其经常性修订,从而产生了新的持久性机制,新的窃取模块和新的加密货币窃取模块。它也可能伪装成其主要有效载荷,作为从受欢迎的图像站点下载的友好图像。它还使用语言检查来进行本地化和沙盒逃避检测。Ursnif还可能搜索磁盘加密软件以提取密钥并访问用户隐藏的文件。Ursnif保持其经常性修订,从而产生了新的持久性机制,新的窃取模块和新的加密货币窃取模块。它也可能伪装成其主要有效载荷,作为从受欢迎的图像站点下载的友好图像。它还使用语言检查来进行本地化和沙盒逃避检测。Ursnif还可能搜索磁盘加密软件以提取密钥并访问用户隐藏的文件。Ursnif保持其经常性修订,从而产生了新的持久性机制,新的窃取模块和新的加密货币窃取模块。它也可能伪装成其主要有效载荷,作为从受欢迎的图像站点下载的友好图像。

Ursnif / Gozi已被高度检测到以COVID-19主题的恶意电子邮件活动,这些活动使用常规的Excel 4.0宏功能可以看到,而AV软件仍然无法检测到。一旦执行了这些电子邮件中的附件,它将尝试连接到其C2并接收其他说明。

MITRE ATT&CK表

以下是我们根据对该恶意软件的分析观察到的MITER ATT&CK技术的列表。

Ursnif分析报告

文件身份:

属性    值 文件名    1fe658a2f99093dfc930b20bd2849d6d530a4d5540f8937bb637c261604a9b7a.vbs 文件类型    Visual Basic脚本 文件信息    带CRLF终止符的ASCII文本vbs文件 文件大小    843 KB(863,997字节) MD5    A05C4CF885A5375C0DE6C097060D3D51 SHA-1    F9275016485028BA770218E8721B015DDE443EF5 SHA-256    1fe658a2f99093dfc930b20bd2849d6d530a4d5540f8937bb637c261604a9b7a 病毒总分    8/58 混合分析得分    7% 属性    值 文件名    Mullah.dll 文件类型    便携式可执行文件32 文件信息    Borland Delphi 3.0 文件大小    288.50 KB(295424字节) MD5    B17B5449D5C89642A7DC7B8F83CFEF33 SHA-1    D993844C624A2E622C80A92C5718F3131FA9F22E SHA-256    181018ca12c4e5d3da1f8a3d0f2392254904e62eaff51a840d2a958358c850d8 病毒总分    37/58 混合分析得分    100%

分析摘要:

在对模糊的VBS脚本进行详细分析之后,我们发现VBS脚本在包含动态链接库(DLL)(即Mulla.dll)的temp目录中删除了一个压缩文件。使用修改后的名称(Mulla.mkv)逃避了实际的扩展名(.dll)。发现该恶意软件试图与cdn.arsis.at建立网络连接,但不幸的是,(在我们的情况下)它没有响应。

对VBS脚本的混淆处理表明,恶意软件能够加载WMIC实例并查询系统,磁盘和操作系统级别的信息。

观察特性:

首先,我们在IDE上打开VBS文件以观察实际代码。我们发现了一个高度混淆的VBS脚本,需要对其进行模糊处理以分析该脚本的实际意图。

  • 脚本中使用了许多带注释的随机字符串来使众多工具崩溃或瘫痪。
  • 我们还可以看到,各种诱饵函数掩盖了真正的执行链,使它们无法快速可见。
  • 执行中使用的实际数组数据也被混淆了。
  • 还在变量而不是固定值中观察到算术运算方程。

由于上面显示的混淆代码难以理解,因此我们发现去混淆是正确理解整个脚本的唯一方法。通过暗示一些技术,我们获得了经过混淆的代码段,并且脚本产生了工件。

现在正朝着去混淆技术发展,去混淆后在代码中观察到了几件事。观察后发现可见性的第一点是,Objected VBS脚本正在调用Windows Measurement Instrumentation(WMI)实用程序的cimv2类,该实用程序可以

首先,我们发现了一条错误提示指令,提示错误信息“由于您的计算机缺少MSVCR100.dll,因此程序无法启动。尝试重新安装程序以解决此问题”。这是一条虚假消息,实际的VBS脚本在执行时被删除。

继续前进,我们发现脚本从临时目录的变量“ necrosis ”值中搜索文件数量时使用了“ if ”条件。

解决“坏死”变量值“ ((((89 4925.0)–(519 – 517.0))– 5009.0) ”后,我们发现“ 3 ”,这意味着如果文件计数大于3,它将移至下一个功能。

如果文件数小于3,脚本将跳转到名为“ NkRkFhr ”的函数,即用于退出脚本。

此处的核心功能被重命名为“ Custom Function1”。该函数负责在执行时删除一个zip文件(cholinesterase.zip)。

这里的“ bjwCsi ”功能有助于在此VBscript中找到当前用户的“ temp ”目录。参数“ 2”定义了临时目录,如下所示:

将cholinesterase.zip文件放入temp目录后,它将在目录中提取Mulla.mkv。

我们发现了恶意软件,并将其删除的文件从各自的目录中删除。要进行分析,我们需要捕获mulla.mkv文件。当我们在十六进制编辑器中捕获并查看它时,我们发现内存的第一个偏移量表明这是一个动态链接库(.dll)文件。

进一步研究mulla.dll,我们发现了用于开发的Borland Delphi 3.0语言。使用自定义打包技术来防止DLL的反编译。

在网络数据包捕获期间,我们发现NBNS查询试图解析cdn.arsis.at地址。并且在源脚本中,还可以观察到该脚本旨在启动网络连接。

分析捕获中的其他数据包,可以发现恶意软件尝试通过以下URL进行通信:

http [:] // cdn [。] arsis [。] at / api1 / kQu9SI1JDcUj_ / 2BrPSECi / t1UORhqgIumH4ZHgt3kwVcc / wN7wzOMuT1 / JTufzmHI0O0rH4Ly _ / 2BXNF6RBgJRh / V88lgDo5CDW / Pl3uzwzyjbt5hl / dD6Ec8FltNwa6vefkBqAq / 3igYJdkP7QGVNGwY / E0RFULg4hKbZqsu / SU86mq04H4ejU97f25 / l2Qxp7GNX / DzDzp_2FnMvXDraSMT36 / m6tSNKHbR0jp62kMybk / IxfEfB1hon22RelJEFuUQx / 9B5 mLg28of_0A / _0DTIj8_ / 2FdoY5HCzimVDWZcx1ENOHI / nRMji7XM5D / 3w0WfT3yAOQJq4fku / PNZIPvvXyo / 3AMRM

已报告所请求URL的信誉在TI门户上受到感染。但是,在捕获中未观察到响应数据包。

其他发现:

Ursnif Malware感染主要取决于所请求URL的响应,在我们的案例中发现该响应无响应。但是,让我们从代码中探索Ursnif恶意软件的功能。

Win32_OperatingSystem实例用于通过使用对象root / cimv2对Win32_ComputerSystem,Win32_LogicalDisk的查询来检索系统信息以及其他计算机和磁盘信息,如下图所示。

在这里,还可以看到与注册表相关的查询,该段代码旨在读取地址“ HKEY_CURRENT_USER Control Panel International Geo Nation”中的密钥,如下所示,

AV防御规避技术是此类恶意软件的常见行为之一,因此在源脚本中也可以观察到此行为。

依存关系:

以下是在Ursnif Trojan文件中观察到的依赖性。

  1. 如果不使用其吸管mullah.mkv,此Ursnif将无法正常工作。
  2. 此Ursnif旨在在感染发生后自动建立C&C连接。没有连接,它就无法实现其目标。
  3. 此Ursnif旨在与Windows环境兼容。

行为图:

这是描述行为图的本地API函数调用的列表:

  • EableMouseInPointer
  • TrackMouseEvent
  • GetsystemWindowsDirectory
  • GetSystemAsFileTime
  • GetVersion
  • GetUILanguageInfo
  • GetProcAddress
  • CreateRemoteThread
  • NtUserRemoteConnect

补救措施:

为了补救Ursnif感染,应考虑以下几点:

  • 阻止受约束的网址

“HTTP [:] // cdn.arsis.at/api1/kQu9SI1JDcUj_/2BrPSECi/t1UORhqgIumH4ZHgt3kwVcc/wN7wzOMuT1/JTufzmHI0O0rH4Ly_/2BXNF6RBgJRh/V88lgDo5CDW/Pl3uzwzyjbt5hl/dD6Ec8FltNwa6vefkBqAq/3igYJdkP7QGVNGwY/E0RFULg4hKbZqsu/SU86mq04H4ejU97f25/l2Qxp7GNX/DzDzp_2FnMvXDraSMT36/m6tSNKHbR0jp62kMybk/IxfEfB1hon22RelJEFuUQx/9B5mLg28of_0A/_0DTIj8_ / 2FdoY5HCzimVDWZcx1ENOHI / nRMji7XM5D / 3w0WfT3yAOQJq4fku / PNZIPvvXyo / 3AMRM”

  • 终止regsvr32.exe进程,该进程将启动与另一台C&C服务器的通信,并从当前用户的temp目录中删除mullah.mkv的子文件。
  • 密切监视URL字符串异常和长度异常的URL。
  • 在EDR和终结点控件上与此Trojan文件关联的块散列。
  • 删除不必要的文档和临时文件夹条目。

提防网络犯罪分子采用的社会工程技术,包括网络钓鱼电子邮件,冒充他人的电话以及欺诈性的企业和域名,并学习如何应对可疑的妥协。

结论:

基于本地解释语言(如VBScript)的大量混淆脚本足以使攻击者绕过AV检测。原因很简单,因为它们是基于文本的语言,并且可疑术语的数量是无限的。

无论采用哪种混淆方式,Rewterz都专注于移动目标防御技术,该技术可防止在造成任何伤害之前正确执行躲避有效载荷Ursnif。

翻译自https://www.rewterz.com/articles/malware-analysis-report-rewterz-ursnif-trojan

0 人点赞