在上个月,FortiGuard Labs的研究人员发现了一起针对日本公民的垃圾电子邮件活动。这些电子邮件伪装成海啸警报,且均包含一个指向虚假日本气象厅(JMA)网站的恶意链接。点击这个链接,会导致Smoke Loader***的下载。在针对这个虚假网站的持续监控过程中,研究人员发现,用于下载Smoke Loader的链接在11月底被一个新的链接所取代。这个新链接会导致另一种高性能***AZORult的下载,而该***能够通过受感染系统窃取数据。

需要指出的是,出现在此活动中的两个***版本都仅在俄语***论坛上有售。目前,这个虚假JMA网站仍在充当AZORult 的C&C服务器,并会将受害者重定向到合法JMA网站。在对这个虚假JMA网站进行了更深入的分析之后,研究人员发现了其他可能与同一***组织相关的活动。

虚假海啸警报

在上个月,JMA曾先后两次发布了有关针对日本东北地区居民的虚假海啸警报垃圾电子邮件活动的公告。相关官方公告可以通过以下两个链接进行查看:

hxxp://www.jma.go.jp/jma/press/1811/08c/WARNmail_20181108.pdf

hxxp://twitter.com/JMA_kishou/status/1063345647653281794

虽然这些垃圾电子邮件的内容都是采用日文编写的,但均存在语法错误。也就是说,***者有可能是日语不太熟练的外国人,或直接使用了某种翻译工具。无论如何,这些垃圾电子邮件都旨在诱使收件人点击包含在其中的链接,以下载恶意软件。下载链接如下所示:

hxxp://www.jma-go[.]jp/jma/tsunami/tsunami_regions.scr

图1.虚假海啸警报垃圾电子邮件示例

很明显,恶意域名试图伪装成合法JMA域名https://www.jma.go.jp,但它在“jma”和“go”之间使用的是一个“-”符号,而不“.”。JMA在其推文中,也提到了这个差异。

图2.合法JMA域名和虚假域名之间的差异

Payload随时间推移发生了变更

FortiGuard Labs表示,其研究人员对恶意软件下载链接进行了一个月的持续监控,并记录了下载的恶意软件的变更情况。

表1. 通过hxxp://www.jma-go[.]jp/jma/tsunami/tsunami_regions.scr下载的恶意软件的变更情况

表2.通过hxxp://jma-go[.]jp/jma/tsunami/1.exe下载的恶意软件的变更情况

其中,用于下载文件1.exe的链接从11月底开始不再被使用。

自11月25日以来,下载的恶意软件从Smoke Loader变更为了AZORult,但仍使用jma-go[.]jp域名作为C&C服务器。

Smoke Loader C&C服务器:

hxxp://jma-go[.]jp/js/metrology/jma.php

AZORult C&C服务器:

hxxp://www.jma-go[.]jp/java/java9356/index.php

Smoke Loader

FortiGuard Labs表示,其研究人员一共发现了四个Smoke Loader样本,它们都使用了相同的shellcode loader和最终payload。在被下载之后,它们会尝试下载额外的插件DLL或下一阶段恶意软件。有关Smoke Loader的详细分析可以查看由CERT.PL撰写的报告,在这里我们将重点介绍Smoke Loader的功能。

反分析

Smoke Loader在运行其最终payload之前,会执行多步反分析操作。研究人员发现,出现在此活动中的Smoke Loader使用了多种反分析技术,包括一些基本技术,如PEB flag和跳转链接的反调试检查。

首先,它会检查sbiedll的使用情况,以检测它是否是在沙箱中运行。

图3.用于检查sbiedll模块句柄的反沙箱技术

在检查以下注册表项中的值时,它还使用了一些知名虚拟机的名称来检查这些虚拟机的使用情况:

  • HKLM\System\CurrentControlSet\Services\Disk\Enum

  • HKLM\System\ControlControlSet\Enum\IDE

  • HKLM\System\ControlControlSet\Enum\SCSI

图4.用于在注册表项中寻找特定字符串的反虚拟机技术

键盘布局检查

Smoke Loader还会检查受害者的键盘布局,以确保它不会感染俄罗斯和乌克兰的用户。

图5.键盘布局检查

PROPagate代码注入

这种注入技术最初是在2017年发现的。FortiGuard Labs的研究人员表示,他们注意到Smoke Loader从今年7月份起就开始了对该技术的使用。有关该技术的详细分析,可以查看这篇报告

通过对代码的分析表明,Smoke Loader使用了一个回调函数来配置UxSubclassInfo structure以运行explorer.exe,并触发注入的代码,然后将消息发送到窗口。在触发回调函数之后,它会运行注入的payload(AZORult)。

图6. PROPagate代码注入

进程监控

在连接到C&C服务器之前,Smoke Loader还会创建两个用于监控进程和窗口的线程,作为另一个反分析功能。在这两个线程中,它会计算出进程名和窗口名的散列值,并将它们与其payload中的硬编码散列值进行对比。如果找到匹配的进程或窗口,它会立即终止这些进程或窗口。

图7.创建用于监控进程和窗口的线程

C&C服务器

出现在此活动中的所有Smoke Loader样本都使用了以下URL作为其C&C服务器。

hxxp://jma-go[.]jp/js/metrology/jma.php

这个URL是从图8所示的structure中解密而来的,实际解密算法如下所示:

decrypted_byte = not (encrypted_byte xor 0x36 xor 0x04 xor 0xAE xor 0xB8)

图8. Smoke Loader中加密的URL

执行第二阶段恶意软件

Smoke Loader有三种方法可以用来安装其插件或下载的第二阶段恶意软件:

1.无文件方法:将下载的payload映射到内存中,然后立即运行它。

2.下载一个DLL,并立即加载它。

3.下载一个DLL或EXE文件,并通过regsvr32将其注册为一个服务。

AZORult

在此活动中使用的AZORult是最初在今年10月份被发现的3.3版本,且与此前发现的AZORult 3.3版本样本没有任何区别。

信息窃取功能

在此活动中使用的AZORult拥有在受害者系统中收集搜索以下应用程序信息的功能。

  • 浏览器历史记录

  • 加密货币钱包

  • Skype

  • Telegram

  • Steam

C&C服务器

在此活动中,以下“jma-go[.]jp”域名被用作AZORult的C&C服务器。

hxxp://www.jma-go[.]jp/java/java9356/index.php

对于AZORult 3.3版本而言,它使用了密钥缓冲区和密钥缓冲区元素的指定权重来解密加密的URL。

表3.密钥缓冲区和对应的权重值数组(均为十六进制)

图9展示的是一个解密C&C服务器域名第一个字符的示例。

图9. 解密AZORult C&C服务器域名第一个字符的示例

执行第二阶段恶意软件

然后,AZORult将连接到C&C服务器,并尝试下载第二阶段恶意软件。有两个函数可用来执行下载的第二阶段恶意软件:CreateProcessW和ShellExecuteExW。具体使用哪一个取决于URI的扩展名——是否是.exe。

图10.第二阶段恶意软件的执行

使用不同的URL进行传播

在此活动中,***者使用了不同的URL来传播AZORult。

1.hxxp://thunderbolt-price[.]com/Art-and-Jakes/Coupon.scr

下载的Coupon.scr实际上就是AZORult,它与FortiGuard Labs此前提到的散列值为748c94bfdb94b322c876114fcf55a6043f1cd612766e8af1635218a747f45fb9的文件完全相同。

2.hxxp://bite-me.wz.cz/1.exe

这个文件与FortiGuard Labs此前提到的散列值为748c94bfdb94b322c876114fcf55a6043f1cd612766e8af1635218a747f45fb9的文件也完全相同,其散列值为:70900b5777ea48f4c635f78b597605e9bdbbee469b3052f1bd0088a1d18f85d3。

其他相关的活动

研究人员决定进行更深入的调查,以找出此活动背后的***组织。首先,他们开始分析恶意域名“jma-go[.]jp”。当直接访问该恶意网站时,它会将用户重定向到合法JMA网站。

在分析该网站所使用的重定向脚本的过程中,研究人员发现了一些采用西里尔文编写的注释。

图11.恶意网站上的重定向脚本

通过在网上进行搜索,研究人员很快在一个俄语***论坛上发现了相同的注释。它们存在于一篇由一个昵称为“vladvo”的用户发表的帖子中,其发布的代码也与恶意网站使用的重定向代码几乎完全相同,包括注释和空格的使用。

图12.由“vladvo”发布的几乎完全相同的脚本

唯一的不同之处是“window.location”参数中的链接。不过,研究人员表示他们无法确认“vladvo”是否与此活动存在关联。因为这篇帖子是在2012年10月20日发布的,至今已有6年的时间,很可能是有人直接挪用了这段代码。

在对脚本进行了分析之后,研究人员决定检查恶意域名的WHOIS信息。不出意外,他们发现了一些十分有用的信息,使得他们能够追踪到可能由同一个***组织开展的其他活动。

图13.jma-go[.]jp的WHOIS信息

首先,研究人员通过包含在WHOIS信息中的lixiaomraz[@]gmail.com发现了使用同一电子邮箱注册的其他网站:

  • hxxp://www.montepaschi-decreto-gdpr[.]net

  • hxxp://www.posteweb-sicurezza[.]com

然后,他们发现第一个网站(hxxp://www.montepaschi-decreto-gdpr[.]net)已经在MPS银行网络钓鱼活动中被使用过:

图14.针对MPS银行的网络钓鱼活动

接下来,通过对WHOIS历史记录的搜索,研究人员还发现同一***组织在今年9月2日还注册了其他五个域名:

  • hxxp://www.3djks92lsd[.]biz

  • hxxp://www.38djkf92lsd[.]biz

  • hxxp://www.38djks92lsd[.]biz

  • hxxp://www.348djks92lsd[.]biz

  • hxxp://www.38djks921lsd[.]biz

WHOIS历史记录列出的所有数据都与jma-go[.]jp列出的注册商信息相匹配。

图15. WHOIS历史记录

这些网站伪装成音乐、视频或torrent网站,但它们真实行为却完全不是这些。

图16.由lixiaomraz[@]gmail.com注册的网站的屏幕截图

一旦用户试图从这些网站下载任何文件,他们都将会被重定向到其他网站。最后,一个合法的7zip 16.02(1f662cf64a83651238b92d62e23144fd)软件安装程序将会被下载。虽然这些网站似乎并没有提供任何恶意软件,但这很可能是因为它们目前仅被***者用于功能测试。***者下一步将要做的就是,将7zip软件安装程序替换为恶意软件。

图17.恶意网站下载页面

除了可以用来传播恶意软件的功能之外,研究人员表示他们还在这些网站上发现了其他一些有趣的行为。在检查页面源代码的过程中,研究人员发现了一个隐藏的iframe对象。它的大小为1x1像素,隐藏在页面的左下角。

图18. hxxp://www.38djks92lsd[.]biz上的隐藏iframe

这个iframe对象包含一个指向YouTube视频播放器的链接。除此之外,自动播放功能也处于开启状态。这意味着视频会在后台隐藏播放,而这种技术通常被用于增加视频的观看次数(网络黑产的一部分)。除了这个iframe,研究人员还发现了几个包含指向Twitter和Facebook链接的iframe。

研究人员表示,由于上述5个网站显然不会有太大的访问量,因此这些技术用在这里显得很是奇怪。唯一可以用来解释的是,该***组织的活动还没有正式开始,目前仅处于测试阶段。

除上述域名之外,研究人员还发现了另外两个通过“Kupriushin Anton”注册的网站:

  • hxxp://Craigslist[.]business

  • hxxp://Craiglist[.]news

这两个网站目前还无法使用,但很明显,***者想要将它们伪装成流行的Craigslist网站(大型免费分类广告网站)。

总的来说,FortiGuard Labs的研究人员表示,他们可以肯定的是,这个***组织正在快速开发和变更他们的工具,并试图通过不同类型的***手段来获取非法收益。

总结

自去年11月以来,FortiGuard Labs一直在监控这一起虚假海啸警报垃圾电子邮件活动,并试图找出其背后的***组织。

研究人员发现,在这起旨在感染受害者并窃取其信息的活动中,***者对其使用的恶意软件进行了快速的切换(从Smoke Loader变更为AZORult),其目的很可能是为使其***更加有效。

与此同时,研究人员还检测到,这个创建了虚假JMA网站的***组织还为不同的网络钓鱼或恶意软件活动注册了其他网站。

FortiGuard Labs的研究人员最后还表示,他们将继续监控上述所有域名,并对活动背后的***组织继续进行研究。