登陆 注册

恶意软件分析– Ursnif Trojan

Lzers 2020-11-26 恶意软件分析Ursnif Trojan
黑白网(heibai.org)成立于2014年,多年来以其专业的视角,优质的服务为广大安全技术爱好者提供了目前国内最全的网络安全技术学习资料,普及中国网络安全知识,宣扬正确的黑客极客文化,全方面提高国内安全技术水平。

介绍

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


生成海报
请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By HeiBaiTeam.