你的记事本安全吗:瞄准中国用户的恶意的文本编辑器

本文为翻译,感觉不如机翻。

原文地址:Infected text editors load backdoor into macOS | Securelist

原作者:SERGEY PUZAN

恶意广告(Malvertising) 是一种吸引受害者到恶意网站的流行方式:推广部分被放在搜索结果的顶端,增加了用户点击链接的可能性。在搜索结果顶端的网址也更容易被用户信任。一年前,我们的专家讨论了通过谷歌广告传播的窃密红线(RedLine stealer)。通过误植域名 (Typosquatting)和其他技术,攻击者尽力让他们的恶意网站看起来和官方网址一样。

这次,一个相似的威胁瞄准了中国互联网最大搜索引擎之一。在该搜索引擎中,我们发现了两个相关的文本编辑器的修改版:第一个,恶意资源在搜索结果的推广部分;第二个则在搜索结果的最前面。我们还没研究完这个威胁的全部细节,所以这篇文章可能以后还会更新。

搜索结果中的恶意网址

下面的截图显示了两次搜索,都返回了恶意链接:

Malicious link in the advertisement section for the search notepad++ (left) and search results for vnote (right)

搜索notepad++时,在推广区域的恶意链接(左);vnote的搜索结果(右)

搜索notepad++时在推广区域中发现的恶意网址。打开它,善于观察的用户会立即注意到一个有趣的矛盾:网址里有关键词vnote,网站标题说提供Notepad‐‐(一个和Notepad++类似的开源软件)的下载,而图片显示的是Notepad++的图标。实际上,下载的包里还是Notepad–

Page with fake NotePad++

提供假NotePad++的网站

这个网站提供了三个平台的安装包(Windows,Linux,macOS);然而,只有macOS和Linux的安装包是有问题的。Windows版的下载链接指向官方仓库,也不是恶意的:

Application download links, linked to buttons on the malicious Notepad-- download page

截图显示了恶意软件安装包的源是vnote-1321786806[.]cos[.]ap-hongkong[.]myqcloud[.]com.

同时,在vnote搜索结果的第二个页面,试着伪装成程序的官方网站:

Fake (above) and the original (below) VNote site

假冒的(上)和官方的(下)VNote网站

不幸的是,在我们调查的时候,可能存在恶意代码的VNote的下载链接已经失效了;然而,它们带我们获取到和Notepad‐‐链接里同样的资源:

Application download links, linked to buttons on the fake VNote site

应用程序下载链接

带有恶意负载的文本编辑器

因为我们有了针对Linux和macOS的假冒的Notepad‐‐的样本,可以更细致的看一下它们。

下载到的应用程序和官方版本有几处不同,Linux和macOS的恶意版本功能上都是相似的。我们来看一下macOS版本(MD5: 00fb77b83b8ab13461ea9dd27073f54f)。这是一个DMG格式的磁盘镜像,除了名为NotePad–的可执行文件(MD5: 6ace1e014863eee67ab1d2d17a33d146),其他内容和官方版本(2.0.0版)都一样。

探究了main函数的内容之后,我们发现,在应用程序完全启动之前,一个可疑的类Uplocal被初始化,而它在官方版本的Notepad–的源代码中并不存在:

Modified section of code before application launch

代码中被修改的部分

这个类只实现了一个方法,名为run。它会下载一个文件到**/tmp/updater**,并且执行它:

Payload of the run method of the Uplocal class

Uplocal类的run方法的有效负载

文件从地址hxxp://update[.]transferusee[.]com/onl/mac/下载,是通过GetComputerUUID函数获取到的机器序列号的MD5值,该函数通过如下命令执行:

ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { print $3; }'

Linux版有点差异:

  1. 文件从同样的网站下载,但是目录在/onl/lnx/:hxxp://update[.]transferusee[.]com/onl/lnx/

  2. ****是设备的MAC地址的MD5值:

    Obtaining and hashing the device's MAC address

    获取设备的MAC地址并对其进行哈希

不幸的是,在我们调查时,已经下载不到这个文件了,我们也不能确定原本应该是什么文件。

然而,我们明确的知道,这个服务器有另一个子域名,dns[.]transferusee[.]com,并且他被一个名为DPysMac64的Mach-O文件 (MD5: 43447f4c2499b1ad258371adff4f503f)访问,先前被传到了VT上,截止调查时,没有被任何杀软检出:

DPysMac64 file page on VT

DPysMac64在VT上

另外,这个文件和那个神秘的本应该被下载下来的updater存在同一个服务器上:

Loading DPysMac64 from update[.]transferusee[.]com

从update[.]transferusee[.]com加载DPysMac64

从这里我们可以自信的说,updater是一个中间步骤,最终应该加载的是DPysMac64。服务器同样有一个文件,名为DPysMacM1,名字表示它是为运行在苹果Silicon处理器的系统准备的;然而,其实它是和DPysMac64完全一致的一个文件。

这个应用程序是一个后门程序,和一个叫Geacon的东西非常像(Geacon是一个开源的Go语言写的CobaltStrike agent的实现)。尽管攻击者移除了直接提到Geacon的部分,我们仍发现了一大堆名称和函数中的代码片段,还有模块,符合geacon_plusgeacon_proBeaconTool的实现。比如说,它们有一个标志性的sysinfo模块,还有函数FirstBlood, EncryptedMetaInfo, PullCommand,等等:

Comparison of the list of functions of the sysinfo module of DPysMac64 (left) and an instance of geacon_pro (right)

函数列表中sysinfo相关模块的比较,DPysMac64(左),geacon_pro(右)

这个后门程序有两个启动选项——正常启动和作为一个服务启动。与C2服务器dns[.]transferusee[.]com的沟通是通过HTTPS协议的。有趣的是,攻击者把执行远程命令的相关内容命名为spacex

The name of the backdoor module contained in the lines of the DPysMac64 file

The name of the backdoor module contained in the lines of the DPysMac64 file

该后门包含以下命令:

代码 名称 意图
25 CmdSSH 创建一个SSH连接
27 Spawn 启动一个新的代理木马(Launching a new agent)
32 CmdExit 关闭
34 SetSleep 进入睡眠模式
1010 Screenshot 拍摄屏幕快照
1020 ProcessList 获取进程列表
1021 ProcessKill 终止一个进程
1030 PortScan 扫描端口
1031 Install 将自己注册服务
1032 UnInstall 取消注册自己的服务
1040 CmdHashdump 获取计算机名
1044 CmdClipboard 读取剪切板内容
1050 FileBrowse 获取一个目录下的文件
1051 FileDrives 获取驱动器列表
1052 FileMakeDir 创建一个目录
1056 FileUpload 上传一个文件到服务器
1057 FileExecute 执行一个文件
1060 FileDownload 从服务器下载一个文件

受感染应用程序之间的联系

尽管我们不能确定先前从vnote[.]info下载的文件,但我们发现,两个网站中分发应用程序的源头是相同的。值得一提的是,在检查被修改的NotePad‐‐时,偶然发现了另一个有趣细节。可执行文件中,我们发现了一个关于窗口,但在原本应指向官方项目网站的链接处,却是一个指向可疑网站的链接vnotepad[.]com。下面是程序界面的关于窗口的截图:

About window of modified Notepad--

修改版的Notepad‐‐的关于窗口

关于窗口中的链接带我们到了一个占位页面

img

这很奇怪,于是我们试着把网址中的HTTP转为HTTPS,才发现了这个网站是VNote网站的另一份假冒网站,与我们vnote[.]info中看到的很相似。此外,当我们打开这个网站时,浏览器警告我们证书无效,因为它是签发给vnote[.]info的:

Certificate used by the site vnotepad[.]com

vnotepad[.]com所使用的证书

这表示,这里描述的两个案例是有明确的联系的,也说明很有可能,修改版的VNote编辑器和修改版**NotePad–**的意图是相似的,包括通过它们来进行下一阶段的感染。

总结

我们会继续研究以上的威胁,也会搜寻还没被发现的中间过程。另外,我们确定Linux和macOS应用程序中的更改是相同的,暗示可能存在一个与我们在macOS上发现的后门类似的针对Linux系统的后门程序。

IoC情报

文件:

MD5 文件类型 文件名
43447f4c2499b1ad258371adff4f503f Mach-O 64-bit DPysMac64
00fb77b83b8ab13461ea9dd27073f54f DMG Notepad‐‐v2.0.0-mac_x64_12.3.dmg
5ece6281d57f16d6ae773a16f83568db AppImage Notepad‐‐-x86_64.AppImage
6ace1e014863eee67ab1d2d17a33d146 Mach-O 64-bit NotePad‐‐
47c9fec1a949e160937dd9f9457ec689 ELF 64-bit NotePad‐‐

链接: