介绍
AZORult木马家族于2016年首次被发现。该木马是一种高度复杂的恶意软件,可以窃取信息。自2016年以来,已观察到AZORult的不同变体。通过用Delphi和C 语言重新开发此木马,可以修复早期版本中存在的缺陷和不足。攻击者使用此木马窃取信息,例如浏览历史记录,Cookie,凭据,加密货币信息等。
ATT&CK的摘要
本报告中评估的恶意软件样本使用Borland Delphi(即基于Pascal的开发语言)进行编译。这里一个重要的考虑因素是Borland与Windows环境兼容。AZORult v3变体是用Delphi语言开发的。
本报告中分析的变体是信息窃取者。它使用base64算法使用其命令和控制(C2)加密通信,同时窃取存储在不同浏览器目录中的信息。
以下是根据MITER ATT&CK策略和技术以及网络杀伤链(CKC)步骤评估的AZORult恶意软件样本的摘要特征。
观察特征 | 斜接 | CKC |
---|---|---|
网络钓鱼(即T1566)可以通过不同的网络钓鱼活动进行传播和传播。 | 初始访问 | 交货 |
此AZORult变体使用了用户执行即T1204技术。在沙箱分析过程中未观察到自动执行,在研究代码时也未观察到任何自动执行参数。 | 执行 | 开发 |
事件触发执行(即T1546)和创建或修改系统进程(即T1543)技术用于劫持SVCHOST进程以窃取信息。 | 坚持不懈 | 安装 |
使用base64流对文件或信息进行模糊处理/解码(即T1140),通过获取Windows Defender权限进行漏洞利用的开发(即T1211),通过添加注册表值修改注册表(即T1112)是逃避检测的主要技术。 | 防御规避 | 安装 |
文件和目录发现,即T1083技术,用于发现存储用户数据和cookie的不同默认浏览器目录。 | 发现 | 侦察 |
在分析过程中发现了本地数据(即T1005)和屏幕捕获(即T1113)功能的收集 | 采集 | 针对目标采取的行动 |
应用层协议,即使用端口80与C2服务器通信的T1071技术 | 命令与控制 | 命令与控制 |
观察到通过C2通道(即T1041)的信息泄漏。 | 渗出 | 针对目标采取的行动 |
恶意软件标本身份
以下是评估的恶意软件样本的身份信息。
属性 | 值 |
---|---|
文件名 | 8480058fc20ebfef47d1ebccbb54b88f656715b99c2d4e80ad46b05906ff4dbe.exe |
文件类型 | Borland Delphi 4.0 |
文件信息 | 便携式可执行文件32 |
文件大小 | 726.00 KB(743424字节) |
MD5 | B56D97BA158E3E81CFC1ED65376BF131 |
SHA-1 | 1085C68D0C9B26505DEC4E81702009A92F531AA5 |
SHA-256 | 8480058fc20ebfef47d1ebccbb54b88f656715b99c2d4e80ad46b05906ff4dbe |
病毒总分 | 58/69 |
混合分析得分 | 17% |
“信息窃取程序(或信息窃取程序)是一种特洛伊木马,旨在从系统中收集信息。信息窃取者的最常见形式是收集登录信息,例如用户名和密码,然后通过电子邮件或网络将其发送到另一个系统。”
分析
此恶意软件的唯一标识,即SHA256哈希值是“ 8480058fc20ebfef47d1ebccbb54b88f656715b99c2d4e80ad46b05906ff4dbe ”。首先,我们检查了可执行文件(.exe)的十六进制值。在第一个偏移量(即0000000)处,ASCII值为MZP,这确认这是一个可执行(.exe)程序包。
图1 EXE扩展名的ASCII转换
在内存中,.rdata节是重要的节,用于存储文字字符串,常量和调试目录信息,这些信息用于导入和导出相关恶意软件。如下证据所示,可执行文件已打包,因此在十六进制分析期间未发现其他信息。
图2内存部分.rdata
现在,我们需要确定用于开发此恶意软件的打包技术。通常,恶意软件是使用自定义打包技术打包的。此可执行文件使用自定义打包程序打包。但是,证据表明,开发语言被确定为Borland Delphi语言。
图3可执行组合类型
在汇编代码中查看该恶意软件的代码,使其使用沙盒防御规避技术。执行后,恶意软件会感知其执行环境。它调用GetTickCount函数来检索自系统启动以来经过的时间信息(以毫秒为单位)。
图4 GetTickCount函数
使用GetTickCount函数后,对恶意软件进行了编码,以感测其运行环境的显示分辨率。GetMonitorInfo函数检索显示的分辨率。VM上托管的沙箱具有与普通笔记本电脑和台式机显示器不同的显示分辨率。
图5 GetMonitorInfo函数
该恶意软件未被编码为仅感知基本的沙箱特征,CreateToolHelp32Snapshots观察到监视工具的存在。它将运行中的流程(特别是流程监控工具)的值与代码中定义的硬编码值进行比较。
如果过程值匹配,则意味着恶意软件发现监视工具是否在环境中运行,因此它将中断功能并进入睡眠模式。如CMP寄存器所示,此功能正在将检索到的信息与硬编码的进程名称进行比较。
图6运行过程比较
我们准备了两个沙箱环境来测试此行为。沙盒被设置为运行具有默认命名约定的监视工具。另一个沙箱使用监视工具的修改命名约定进行设置。
然后,我们在两个沙箱中都执行了该恶意软件。在具有默认名称的监视工具的沙箱中,恶意软件检测到它正在沙箱环境中运行,并跳至代码中定义的睡眠功能。
代码中的CreateToolHelp32Snapshots条件正在比较默认进程命名(例如本例中的“ Procmon”),并与NtDelayExecution一起跳转到SLEEP API函数以使其自身休眠并延迟其执行。
图7 NtdelayExecution函数
现在,让我们讨论一下我们在第二个沙箱(沙箱中运行带有修改名称的进程)中观察到的内容。我们发现恶意软件处于运行状态。它首先调用Windows API,即ActivateKeyboaredLayout。它正在收集hkl参数中检索到的键盘布局值。此功能类似于凭据窃取者的行为。
图8 ActivateKeyboardLayout调用
然后发现正在加载LoadResource模块以修改注册表项。它通过修改HKLM Software Microsoft Windows WindowsErrorReporting WMR 键以禁用Windows错误报告功能(也在下面的图16中定义)。恶意软件阻止计算机将任何错误报告发送给Microsoft。在下面的注册表更改部分中讨论了所有注册表项的证据。
图9 LoadLibrary调用
在审查与恶意软件相关的DLL时,我们发现了WININET.DLL,即用于启动Internet连接的工具。这是一个重要的DLL,它指示Internet连接要求。在代码中发现了许多DLL,这些DLL的行为也得到了观察。本报告的“ DLL”部分中讨论了DLLS的完整列表。
图10 WININIT DLL
在数据包捕获中,我们发现通过TCP蒸汽在IP地址136.144.237.217处进行了C2通信,如下所示。
图11 C2连接
的base64编码含有来自C2服务器查询分组捕获观察流。可以从C2服务器的“解码的Base64字符串”中查看完整的base64编码的字符串和解码的字符串 作为引用。下面讨论来自C2服务器的一些重要查询。
我们在当前用户的APPDATA目录中找到了有关恶意软件进入Microsoft Windows Cookies的说明(如证据中突出显示)。该恶意软件正试图从其他目录以及其C2服务器指示的目录中窃取信息。
图12 Cookies目录中的恶意软件窃取信息
该恶意软件在窃取浏览器的cookie信息之后,使用WriteFile函数将窃取的信息写入文本(.txt)文件中。如证据所示,我们发现了新创建的文本(.txt)文件。
图13被盗信息
这里要强调的一个有趣观察是C2正在接受gzip / deflate编码的响应。AZORult使用gzip / deflate编码发送用户名和密码文件。在这里,我们可以看到沙箱响应C2的查询以窃取gzip / deflate格式的信息。
图13恶意软件Gzip / deflate编码的C2查询响应
解码的base64字符串
以下是我们从C2服务器观察到的一些重要查询。对于完整的base64编码的字符串和解码的字符串,可以使用此链接来自C2 Server的Decoded Base64 Strings作为参考。
还发现SQLite3查询语言正在检索用户名和密码,包括信用卡的详细信息,如下所示:
观察到另一次尝试通过查询检索cookie。
还发现它正在检索作为凭证保险柜客户端目录的vaultcli.dll。
注意: Vaultcli.dll静态链接到以下文件(在相应部分中上文提到的代码分析和API函数期间注意到了所有文件)
- msvcrt.dll
- ntdll.dll
- 内核32.dll
- RPCRT4.dll
- ADVAPI32.dll
- USER32.dll
在网络数据包中以编码格式观察到以下字符串。解码数据包会显示以下关键字,它们是流行的不同浏览器。
- 谷歌浏览器
- GoogleChrome64
- InternetMailRu
- Yandex浏览器
- 科摩多龙
- 朋友
- 轨道
- 溴
- 铬
- 镍铬合金
- 熔岩
- 360浏览器
- 维瓦尔第
- 歌剧
- 浏览器
- 人造卫星
- 小田
- 乌兰
- QIPSurf
- 史诗
- 勇敢
- 可可
- CentBrowser
- 7星
- 元素浏览器
- TorBro
- 苏巴
- 安全浏览器
- 野马
- 超级鸟
- 切多
- 火炬
除浏览器外,还观察到以下与比特币相关的关键字
- 比特币
- 莱特币
- 电子
观察到以下关键字指示电子邮件客户端
- 雷鸟
- 外表
合法的DLL
以下列表指示该恶意软件用来执行其活动的合法Sub DLL。
- api-ms-win-core-console-l1-1-0.dll
- api-ms-win-core-datetime-l1-1-0.dll
- api-ms-win-core-debug-l1-1-0.dll
- api-ms-win-core-errorhandling-l1-1-0.dll
- api-ms-win-core-file-l1-1-0.dll
- api-ms-win-core-file-l1-2-0.dll
- api-ms-win-core-file-l2-1-0.dll
- api-ms-win-core-handle-l1-1-0.dll
- api-ms-win-core-heap-l1-1-0.dll
- api-ms-win-core-interlocked-l1-1-0.dll
- api-ms-win-core-libraryloader-l1-1-0.dll
- api-ms-win-core-localization-l1-2-0.dll
- api-ms-win-core-memory-l1-1-0.dll
- api-ms-win-core-namedpipe-l1-1-0.dll
- api-ms-win-core-processenvironment-l1-1-0.dll
- api-ms-win-core-processthreads-l1-1-0.dll
- api-ms-win-core-processthreads-l1-1-1.dll
- api-ms-win-core-profile-l1-1-0.dll
- api-ms-win-core-rtlsupport-l1-1-0.dll
- api-ms-win-core-string-l1-1-0.dll
- api-ms-win-core-synch-l1-1-0.dll
- api-ms-win-core-synch-l1-2-0.dll
- api-ms-win-core-sysinfo-l1-1-0.dll
- api-ms-win-core-timezone-l1-1-0.dll
- api-ms-win-core-util-l1-1-0.dll
- api-ms-win-crt-conio-l1-1-0.dll
- api-ms-win-crt-convert-l1-1-0.dll
- api-ms-win-crt-environment-l1-1-0.dll
- api-ms-win-crt-filesystem-l1-1-0.dll
- api-ms-win-crt-heap-l1-1-0.dll
- api-ms-win-crt-locale-l1-1-0.dll
- api-ms-win-crt-math-l1-1-0.dll
- api-ms-win-crt-multibyte-l1-1-0.dll
- api-ms-win-crt-private-l1-1-0.dll
- api-ms-win-crt-process-l1-1-0.dll
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-crt-stdio-l1-1-0.dll
- api-ms-win-crt-string-l1-1-0.dll
- api-ms-win-crt-time-l1-1-0.dll
- api-ms-win-crt-utility-l1-1-0.dl
注册表更改
执行后,恶意软件修改了以下目录。
图14注册表更改
为了创建持久性,此恶意软件正在添加注册表“ HKCU Software borland Locales ”,如下所示:
图15注册表更改
通过将键值“ 1 ”添加到“ HKLM Software Microsoft Windows Windows Error Reporting WMR Disable ”的注册表地址中,可以禁用Windows错误响应,这肯定意味着Windows错误报告已禁用。
图16禁用Windows错误报告
依存关系
以下是在此恶意软件文件中观察到的依赖性。
- 该恶意软件专用于32位Windows环境。
- 此恶意软件需要Internet连接与其C2服务器进行通信。
- 该恶意软件对环境高度敏感。在完全执行环境之前,它会深刻地感知环境。
- 当procmon.exe运行时,此恶意软件示例使其自身处于睡眠模式。它可能会感觉到其他沙盒工具,包括procmon。
整治
- 防护等级为IP的模块“ 136.144.237.217 ”
- 更新EDR控件上的哈希“ 8480058fc20ebfef47d1ebccbb54b88f656715b99c2d4e80ad46b05906ff4dbe ”。
- 定期监视Internet通信中是否存在可疑连接。
- 使系统保持最新状态并进行修补。
- 不要执行可疑/未知文件。
- 如果在系统上找到未知文件,请立即使用更新的反恶意软件扫描程序扫描系统。
- 经常使用反恶意软件引擎扫描端点。
- 避免在访问网站时单击广告提示。
- 不要打开可疑电子邮件。
- 提防网络犯罪分子采用的社会工程技术-确保员工意识清楚,以识别网络钓鱼电子邮件,冒充电话,欺诈性企业和域名-并了解如何应对可疑的妥协。
结论
总之,发现观察到的AZORult恶意软件变种正在窃取浏览器目录中存储的信息。与它的C2进行的编码通信显示了寻找不同目录的编码查询。作为具有防御规避技术的高度敏感的恶意软件,它具有隐藏功能。C2和DLL的存在可能会加剧此木马的行为。建议使防病毒软件保持最新状态,并且不要执行任何可疑文件,以防止此类信息被错误地窃取恶意软件。