你的记事本安全吗:瞄准中国用户的恶意的文本编辑器
本文为翻译,感觉不如机翻。
原文地址:Infected text editors load backdoor into macOS | Securelist
原作者:SERGEY PUZAN
恶意广告(Malvertising) 是一种吸引受害者到恶意网站的流行方式:推广部分被放在搜索结果的顶端,增加了用户点击链接的可能性。在搜索结果顶端的网址也更容易被用户信任。一年前,我们的专家讨论了通过谷歌广告传播的窃密红线(RedLine stealer)。通过误植域名 (Typosquatting)和其他技术,攻击者尽力让他们的恶意网站看起来和官方网址一样。
这次,一个相似的威胁瞄准了中国互联网最大搜索引擎之一。在该搜索引擎中,我们发现了两个相关的文本编辑器的修改版:第一个,恶意资源在搜索结果的推广部分;第二个则在搜索结果的最前面。我们还没研究完这个威胁的全部细节,所以这篇文章可能以后还会更新。
搜索结果中的恶意网址
下面的截图显示了两次搜索,都返回了恶意链接:
搜索notepad++时,在推广区域的恶意链接(左);vnote的搜索结果(右)
搜索notepad++时在推广区域中发现的恶意网址。打开它,善于观察的用户会立即注意到一个有趣的矛盾:网址里有关键词vnote,网站标题说提供Notepad‐‐(一个和Notepad++类似的开源软件)的下载,而图片显示的是Notepad++的图标。实际上,下载的包里还是Notepad–
提供假NotePad++的网站
这个网站提供了三个平台的安装包(Windows,Linux,macOS);然而,只有macOS和Linux的安装包是有问题的。Windows版的下载链接指向官方仓库,也不是恶意的:
截图显示了恶意软件安装包的源是vnote-1321786806[.]cos[.]ap-hongkong[.]myqcloud[.]com.
同时,在vnote搜索结果的第二个页面,试着伪装成程序的官方网站:
假冒的(上)和官方的(下)VNote网站
不幸的是,在我们调查的时候,可能存在恶意代码的VNote的下载链接已经失效了;然而,它们带我们获取到和Notepad‐‐链接里同样的资源:
应用程序下载链接
带有恶意负载的文本编辑器
因为我们有了针对Linux和macOS的假冒的Notepad‐‐的样本,可以更细致的看一下它们。
下载到的应用程序和官方版本有几处不同,Linux和macOS的恶意版本功能上都是相似的。我们来看一下macOS版本(MD5: 00fb77b83b8ab13461ea9dd27073f54f)。这是一个DMG格式的磁盘镜像,除了名为NotePad–的可执行文件(MD5: 6ace1e014863eee67ab1d2d17a33d146),其他内容和官方版本(2.0.0版)都一样。
探究了main函数的内容之后,我们发现,在应用程序完全启动之前,一个可疑的类Uplocal被初始化,而它在官方版本的Notepad–的源代码中并不存在:
代码中被修改的部分
这个类只实现了一个方法,名为run。它会下载一个文件到**/tmp/updater**,并且执行它:
Uplocal类的run方法的有效负载
文件从地址hxxp://update[.]transferusee[.]com/onl/mac/
ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { print $3; }'
Linux版有点差异:
文件从同样的网站下载,但是目录在/onl/lnx/:hxxp://update[.]transferusee[.]com/onl/lnx/
**
**是设备的MAC地址的MD5值: 获取设备的MAC地址并对其进行哈希
不幸的是,在我们调查时,已经下载不到这个文件了,我们也不能确定原本应该是什么文件。
然而,我们明确的知道,这个服务器有另一个子域名,dns[.]transferusee[.]com,并且他被一个名为DPysMac64的Mach-O文件 (MD5: 43447f4c2499b1ad258371adff4f503f)访问,先前被传到了VT上,截止调查时,没有被任何杀软检出:
DPysMac64在VT上
另外,这个文件和那个神秘的本应该被下载下来的updater存在同一个服务器上:
从update[.]transferusee[.]com加载DPysMac64
从这里我们可以自信的说,updater是一个中间步骤,最终应该加载的是DPysMac64。服务器同样有一个文件,名为DPysMacM1,名字表示它是为运行在苹果Silicon处理器的系统准备的;然而,其实它是和DPysMac64完全一致的一个文件。
这个应用程序是一个后门程序,和一个叫Geacon的东西非常像(Geacon是一个开源的Go语言写的CobaltStrike agent的实现)。尽管攻击者移除了直接提到Geacon的部分,我们仍发现了一大堆名称和函数中的代码片段,还有模块,符合geacon_plus,geacon_pro和BeaconTool的实现。比如说,它们有一个标志性的sysinfo模块,还有函数FirstBlood, EncryptedMetaInfo, PullCommand,等等:
函数列表中sysinfo相关模块的比较,DPysMac64(左),geacon_pro(右)
这个后门程序有两个启动选项——正常启动和作为一个服务启动。与C2服务器dns[.]transferusee[.]com的沟通是通过HTTPS协议的。有趣的是,攻击者把执行远程命令的相关内容命名为spacex:
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。下面是程序界面的关于窗口的截图:
修改版的Notepad‐‐的关于窗口
关于窗口中的链接带我们到了一个占位页面
这很奇怪,于是我们试着把网址中的HTTP转为HTTPS,才发现了这个网站是VNote网站的另一份假冒网站,与我们vnote[.]info中看到的很相似。此外,当我们打开这个网站时,浏览器警告我们证书无效,因为它是签发给vnote[.]info的:
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‐‐ |
链接: