一、简介
网络犯罪分子一直在使用远程访问工具 Quasar,Sobaken 和 Vermin,系统的监视乌克兰政府机构并从他们的机器中窃取数据。威胁攻击者持续开发其隐形恶意软件的新版本。自 2017 年中以来 ESET 一直在跟踪攻击者,并在 2018 年 1 月的报告中首次记录。
在本白皮书中,我们将详细介绍这一正在进行的行动。我们提供了有关用于危害受害者系统以及安装在受感染系统上的恶意软件的更多详细信息,并描述了攻击者用来分发恶意软件以及规避检测的各种方法。
二、攻击者策略
即使这些攻击者没有高级技能或获得 0 day 漏洞,他们也非常成功的使用社交工程来分发恶意软件,并隐蔽进行了很长一段时间。我们能够追溯到 2015 年 10 月。但是,攻击者可能在更早就开始活跃了。
这些攻击者在攻击中使用了三种不同的 .NET 恶意软件 – Quasar RAT、Sobaken(一种源自 Quasar 的 RAT)和一种名为 Vermin 的定制 RAT。所有这三种恶意软件都同时针对不同的目标主动使用,它们共享一些基础设施并连接到相同的 C&C 服务器。并行使用三种恶意软件的可能原因是它们是独立开发的。
三、受害者
如图 1 所示,这个恶意软件集群已被用于针对乌克兰政府机构。ESET 的遥测显示了不同机构中的数百名受害者以及与该行动相关的数百个可执行文件。
图 1 // ESET 对 Quasar,Sobaken,Vermin 及其恶意组件的检测(地图数据 © 2018 Google,ORION-ME)
四、时间轴
查看遥测数据的另一种方法是采用时间轴的形式,如图 2 所示。
图 2 // 行动的时间轴
五、分发
根据我们的遥测数据,攻击者一直使用电子邮件作为三种恶意软件的主要分发渠道。他们在使用社交工程引诱受害者下载和执行恶意软件方面非常成功。
在大多数情况下,文件名是乌克兰语,涉及与受害者职业相关的特定主题。
此类文件名的示例:
· " ІНСТРУКЦІЯ з організації забезпечення військовослужбовців Збройних Сил України та членів їх сімей " ( 大致翻译为 " 为乌克兰军队及其家属提供安全保障的指令 " )
· " новий проекту наказу , призначення перевірки вилучення " – ( 翻译为 " 新的订单,预约验证检查 " )
· " Відділення забезпечення Дон ОВК . Збільшення ліміту " – ( 翻译为 " 采购部门 Don OVK. 增加信贷限额 " )
除了使用电子邮件附件吸引目标受害者的基本社会工程技术外,这些攻击者还使用了三种特定的技术方法,进一步提高有效性。
方法#1:在电子邮件附件的文件名中使用 Unicode right-to-left override 来隐藏其真正的扩展名。这些可执行文件实际上使用了 Word,Excel,PowerPoint 或 Acrobat Reader 图标,看起来更可靠。
如在图 3 看到的那样,文件名:" Перевезення твердого палива ( дров ) для забезпечення опалювання _xcod.scr"(翻译为 " 提供木柴运输 ")将被粗心地看成 .DOCX 扩展名。
图 3 // 伪装成 Word 文档的可执行文件
方法#2:伪装成 RAR 自解压档案的电子邮件附件。
示例:如图 4 所示,电子邮件带有附件 " Наказ _ МОУ _ Додатки _ до _I нструкц ii_440_ ост .rar"(翻译 – " 国防部令,附录 440 号指令 ")。在 RAR 档案的内部,有一个使用 RAR SFX 图标的名为 " Наказ _ МОУ _ Додатки _ до _I нструкц ii_440_ ост " 的可执行文件 .exe。受害者可能会运行此文件用于提取自解压存档,但这会无意中启动恶意可执行文件。
方法#3:Word 文档加 CVE-2017-0199 漏洞利用。
受害者打开特制 Word 文档时会触发此漏洞。Word 进程向位于远程服务器上的恶意脚本 HTA 文件的发送 HTTP 请求。然后恶意脚本将由 mshta.exe 执行。有关此漏洞的第一个公开信息出现在 2017 年 4 月,Microsoft 已为所有版本的 Windows 和 Office 发布安全更新来修复它。根据 ESET 的遥测,这些威胁行为者于 2017 年 5 月开始使用这种方法。攻击者使用 hxxp://chip-tuning.lg [ . ] ua/ 来传递 HTA 文件和最终的有效载荷。
图 4 // 文件伪装成 RAR 自解压存档。版本信息和版权年度可靠地告诉我们这是假的。
六、安装与持久性
这些攻击者使用的三种恶意软件,安装过程是相同的。Dropper 将恶意文件(Vermin,Quasar 或 Sobaken 恶意软件)释放到 %APPDATA% 文件夹中以合法公司(通常是 Adobe,Intel 或 Microsoft)命名的子文件夹中。然后,如图 5 所见,它创建了一个计划任务,每 10 分钟运行一次有效载荷,以确保其持久性。某些版本还采用了滥用 Windows 控制面板快捷方式的技巧,使其文件夹无法从 Windows 资源管理器中访问。在 Windows 资源管理器中单击时,将无法打开此类文件夹 ; 相反,它会打开 Windows 控制面板中的 " 所有任务 " 页面。
图 5 // 计划任务每 10 分钟运行一次释放的恶意载荷
例子:
C:UsersAdminAppDataRoamingMicrosoftProofSettings.{ED7BA470-8E54-465E-825C- 99712043E01C}TransactionBroker32.exe C:UsersAdminAppDataRoamingAdobeSLStoreSetting.{ED7BA470-8E54-465E-825C-99712043E01C}AdobeSLService.exe
七、检查措施
攻击者一直使用相当多的技巧来确保恶意软件仅在目标计算机上运行,特别注重避开自动分析系统和沙箱。
方法#1:Windows 键盘布局检查。
恶意软件会检查是否安装了俄语或乌克兰语键盘布局。如果没有,它会立即终止。
方法#2:IP 地址检查。
恶意软件通过对合法服务 ipinfo.io/json 的请求获取其计算机的 IP 地址。如果 IP 地址不在乌克兰或俄罗斯,或者 IP 地址已注册到多个选定的反恶意软件供应商或云提供商之一,则恶意软件将终止。与这些检查相关的代码见图 6 和图 7 中的反汇编。
图 6 // 检查主机 IP 地址的地理位置的代码
图 7 // 针对云提供商和反恶意软件供应商 IP 地址列表的检查代码
方法#3:模拟网络环境检查。
自动分析系统通常使用 Fakenet-NG 等工具,其中所有 DNS / HTTP 通信都成功并返回一些结果。恶意软件作者试图通过生成随机网站名称 / URL 并通过测试与 URL 失败的连接来识别此类系统,如图 8 所示,正如在真实系统上所期望的那样。
图 8 // 生成随机 URL 并尝试下载的代码
方法#4:特定的用户名检查。
恶意软件拒绝在具有典型自动恶意软件分析系统的用户名的帐户下运行,如图 9 所示。
图 9 // 根据已知恶意软件分析系统列表检查当前用户名
八、使用隐写术绕过内容过滤
2017 年中期,攻击者探索了将有效载荷隐藏在图片中的可能性,这些图片托管在免费图像托管网站上 savehot.net 和 ibb.co.
隐写术是将数据 " 隐藏在视线中 " 的科学,也就是说隐藏在其他非秘密数据中。在本案例中,恶意 EXE 文件被加密并隐藏在有效的 JPEG 文件中,例如图 10 中的示例。恶意软件下载并解码 JPEG 文件,提取隐藏数据,从该数据解密 EXE 文件,然后启动它。
图 10 // 用于隐藏有效载荷的 JPEG 图像示例(图像已调整大小和有效载荷已删除)
解密过程非常复杂,可以描述如下:
1. 从 downloader 文件中硬编码的 URL 下载 JPEG。
2. 通过暴力穷尽 8 位密码计算其哈希值,对 downloader 中硬编码的哈希进行验证。此步骤非常占用 CPU,并且需要 10 分钟以上才能完成。这很可能是针对自动恶意软件分析系统的另一项措施。
3. 处理 JPEG 文件并提取隐藏在其中的数据,如图 11 和图 12 中反汇编中所示。恶意软件使用的算法与JSteg非常相似,JSteg 是用于 JPEG 文件的最古老,最简单的隐写算法之一,它将数据隐藏在 JPEG DCT 系数的 LSB 中(最低有效位)。这种隐藏数据通常不会以肉眼可见的方式影响图像,但隐藏数据的存在很容易通过专门的算法检测到。但是,这种隐写算法很容易实现,这可能是恶意软件作者选择它的原因。
4. 使用 GZip 提取数据并解压缩。
5. 使用 AES 和步骤 2 中获得的密码解密解压缩的数据。
6. 使用 Base64 解码解密数据。
7. 将 EXE 文件写入磁盘并执行它。
但是作者放弃了隐写术的想法,使用 hxxp://chip-tuning.lg [ . ] ua 来提供未加密的恶意软件可执行文件。
图 11 // JPEG 解码器内的隐写代码
图 12 // JPEG 解码器内的隐写代码
九、恶意软件
威胁行为者在攻击中使用了三种不同的恶意软件。我们概述一下,并着重描述它们的独特功能。
1.Quasar
Quasar 是一个开源 RAT(远程访问工具),可以在 GitHub 上免费获得。我们已经看到过好几个这些威胁行为者使用 Quasar RAT 的攻击行动。
我们所知道的第一个行动从 2015 年 10 月持续到 2016 年 4 月。利用 Quasar RAT 的下一个行动于 2017 年 2 月开始。编译工件显示的 PDB 路径为 n:projectsViralbaybak_files_onlyQRClientQuasarRAT-masterLibraryobjReleaseLibrary.pdb
使用这些攻击者的 C&C 服务器(mailukr.net)的另一个 Quasar RAT 行动发生在 2017 年 7 月至 9 月。在该行动中,攻击者使用名为 "xRAT 2.0 RELEASE3" 的旧版 Quasar RAT。dropper 中的编译工件显示 PDB 路径为 N:shtormWinRARArchiveobjReleaseWinRAR.pdb
2.Sobaken
Sobaken 是 Quasar RAT 的一个经过大量修改的版本。在比较 Quasar 和 Sobaken 的程序结构时,我们可以看到很多相似之处,如图 13 所示。
恶意软件作者不断删除功能,从而创建一个更小的可执行文件,这也更容易隐藏。他们还添加了反沙箱和其他上面描述的规避技巧。
图 13 // Sobaken 的演变——左:Quasar RAT v1.3,中间和右 – Sobaken 的 2 个版本
3.Vermin
Vermin 是一个定制的后门,仅供这些威胁行为者使用,于 2018 年 1 月首次出现在 Palo Alto Networks 的报告中。它首次出现在 2016 年中期,目前仍在使用中。就像 Quasar 和 Sobaken 一样,它也是用 .NET 编写的。为了解缓分析速度,程序代码使用商业 .NET 代码保护系统 .NET Reactor 或开源保护软件 ConfuserEx 进行保护。
此外,就像 Sobaken 一样,它使用了 Vitevic Assembly Embedder,这是一个免费软件,用于将所需的 DLL 嵌入主可执行文件中,可从 Visual Studio Marketplace 获得。
功能
Vermin 是一个功能齐全的后门,有几个可选组件。在撰写本文时,已知的最新版本 Vermin(Vermin 2.0)支持以下命令:
· StartCaptureScreen
· StopCaptureScreen
· ReadDirectory
· UploadFile
· DownloadFile
· CancelUploadFile
· CancelDownloadFile
· GetMonitors
· DeleteFiles
· ShellExec
· GetProcesses
· KillProcess
· CheckIfProcessIsRunning
· CheckIfTaskIsRunning
· RunKeyLogger
· CreateFolder
· RenameFolder
· DeleteFolder
· UpdateBot
· RenameFile
· ArchiveAndSplit
· StartAudioCapture
· StopAudioCapture
· SetMicVolume.
大多数命令都是在主有效载荷中实现的,还有几个命令和附加功能是通过攻击者上传到受害者机器的可选组件实现的。
已知的可选组件包括:
· Audio recorder
· Keylogger
· Password stealer
· USB file steal
Audio recorder ( AudioManager )
这是 Vermin 的全功能组件,可以从受害者计算机上的麦克风录制音频。它实现了 Vermin 的三个命令:StartAudioCapture,StopAudioCapture 和 SetMicVolume。使用 Speex 编解码器压缩捕获的数据,并以 SOAP 格式上传到 Vermin 的 C&C 服务器。
Keylogger ( KeyboardHookLib )
Vermin 的键盘记录器是一个简单的独立可执行文件,它设置全局键盘钩子并将所有击键写入加密形式的文件中。它还记录剪贴板内容和活动窗口标题。键盘记录器本身无法连接到 Vermin 的 C&C 服务器 ,通过主后门组件将收集的信息传输到攻击者的服务器。
键盘记录程序中的 PDB 路径确认其与 Vermin 恶意软件关联:Z:ProjectsVerminKeyboardHookLibobjReleaseAdobePrintLib.pdb
Password stealer ( PwdFetcher )
Vermin 的独立密码窃取程序用于从浏览器(Chrome,Opera)中提取已保存的密码。其大部分代码是从俄罗斯论坛 Habrahabr 上的一篇文章中复制粘贴的。示例还包含用于从 Firefox 浏览器中提取信息的代码,但它并未使用。如图 14 所示,该组件还包含类似于键盘记录器组件中的 PDB 路径,确认其与 Vermin 恶意软件关联。
图 14 // 将密码窃取程序关联到 Vermin 恶意软件的编译组件
USB file stealer ( UsbGuard )
UsbGuard.exe 是 Sobaken 和 Vermin 使用的可选组件。它是一个小型独立程序,用于监控连接到计算机的 USB 驱动器,并复制与攻击者选择的过滤器匹配的所有文件。然后来使用主后门模块传输被盗文件。许多不同的 PDB 路径明确地将它们与 Vermin 联系起来。
自 2018 年 4 月以来,文件窃取程序已被用作独立工具。它会复制文件并立即将其上传到受攻击者控制的服务器。
在分析的示例中,攻击者使用以下扩展名的文件:
.doc .docx .xls .xlsx .zip .rar .7z .docm .txt .rtf .xlsm .pdf .jpg .jpeg .tif .odt .ods
十、总结
在针对乌克兰高价值目标的众多不同恶意软件攻击中,这些攻击者并未引起公众的太多关注,可能是因为他们在开发自己的专用产品(Vermin)之前最初使用了开源恶意软件。
在过去三年中,攻击者使用了多种恶意软件系列以及各种感染机制(包括常见的社交工程技术,以及不常见的隐写术)。
事实上,攻击者成功的使用了相对简单的技术,例如通过电子邮件发送 RAR 和 EXE 文件,这突出了在计算机网络保护中人为安全因素的重要性。
IOCs ( 参见原文 )
| 留言与评论(共有 0 条评论) |