翻译:梦幻的彼岸
原文地址:https://securelist.com/trojanized-text-editor-apps/112167/
"恶意广告 "是吸引受害者访问恶意网站的一种流行方式:在搜索结果的顶部放置广告块,增加用户点击链接的可能性。搜索结果顶部的网站也往往更受用户信任。一年前,我们的专家讨论过一个通过谷歌广告传播RedLine窃取程序的恶意广告活动。攻击者利用错别字抢注和其他技术,试图让他们的资源看起来尽可能与流行程序的官方网站相似。
这一次,类似的威胁也影响到了中国互联网上最流行的搜索引擎之一的用户。我们已经发现了两个相关案例,在这些案例中,流行文本编辑器的修改版本在该系统中传播:在第一个案例中,恶意资源出现在广告部分;在第二个案例中,出现在搜索结果的顶部。我们还无法确定该威胁的所有细节,因此本资料可能稍后更新。
搜索结果中的恶意网站
下面的截图显示了搜索引擎用恶意链接响应的两个搜索:
Malicious link in the advertisement section for the search notepad++ (left) and search results for vnote (right)
在notepad++搜索中发现的恶意网站是通过广告块发布的。打开该网站,细心的用户会立即发现一个有趣的不一致之处:网站地址包含一行vnote,标题提供Notepad--(Notepad++ 的类似软件,也作为开源软件发布)的下载,而图片则自豪地显示Notepad++。事实上,从这里下载的软件包包含Notepad--。
Page with fake 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的链接已失效;不过,这些链接指向的资源与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 版)完全相同。
通过研究其主函数的内容,我们发现就在应用程序启动之前,可疑的类Uplocal被初始化,而这在原始 Notepad-- 的源代码中是不存在的:
Modified section of code before application launch
该类只实现了一个名为run 的方法。其目的是将文件下载到/tmp/updater路径并执行:
Payload of the run method of the Uplocal class
文件下载地址为hxxp://update[.]transferusee[.]com/onl/mac/<md5_hash>,其中<md5_hash>是通过执行以下 bash 命令在GetComputerUUID函数中获取的设备序列号的 MD5 哈希值:
1 | ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { print $3; }' |
Linux 版本略有不同:
- 该文件从同一地址下载,但位于 /onl/lnx/ 目录中: hxxp://update[.]transferusee[.]com/onl/lnx/<md5_hash>
- <md5_hash> 是设备 MAC 地址的 MD5 哈希值
Obtaining and hashing the device’s MAC address
不幸的是,在我们进行调查时,服务器上已经没有下载的文件,我们无法确定那里应该有什么。
不过,我们可以肯定的是,该服务器有另一个子域dns[.]transferusee[.]com,该子域由一个名为DPysMac64的 Mach-O 文件访问(MD5:43447f4c2499b1ad258371adff4f503f),该文件以前曾上传到 VT,但在调查时未被任何供应商检测到:
DPysMac64 file page on VT
此外,该文件存储在同一服务器上,而神秘的更新程序本应是从该服务器下载的:
Loading DPysMac64 from update[.]transferusee[.]com
由此,我们可以比较有把握地推测,更新程序是最终加载DPysMac64 的中间步骤。服务器还包含一个名为DPysMacM1 的文件,其名称暗示它是为运行在Apple Silicon 处理器上的系统而构建的;但实际上,它与DPysMac64 是同一个文件。
该应用程序是一个后门程序,与所谓的Geacon非常相似,后者是用 Go 语言编写的CobaltStrike代理的开源实现。虽然攻击者从他们的项目中删除了任何直接提及Geacon的内容,但我们还是发现了大量与geacon_plus、geacon_pro 和BeaconTool 的实现相匹配的函数和模块的行数、名称和代码片段。例如,它们拥有几乎完全相同的sysinfo模块、函数FirstBlood、EncryptedMetaInfo、PullCommand 等:
Comparison of the list of functions of the sysinfo module of DPysMac64 (left) and an instance of geacon_pro (right)
后门有两种启动方式--正常启动和作为服务启动。与 C2 服务器dns[.]transferusee[.]com的通信是通过 HTTPS 协议进行的。有趣的是,攻击者将实现执行远程命令功能的项目命名为spacex:
The name of the backdoor module contained in the lines of the DPysMac64 file
该后门包含以下命令:
Code | Name | Purpose |
25 | CmdSSH | Creating an SSH connection |
27 | Spawn | Launching a new agent |
32 | CmdExit | Shutdown |
34 | SetSleep | Entering sleep mode |
1010 | Screenshot | Taking a screenshot |
1020 | ProcessList | Getting a list of processes |
1021 | ProcessKill | Terminating a process |
1030 | PortScan | Scanning ports |
1031 | Install | Adding itself to the list of services |
1032 | UnInstall | Removing itself from the list of services |
1040 | CmdHashdump | Getting the computer name |
1044 | CmdClipboard | Reading clipboard content |
1050 | FileBrowse | Getting a list of files in a directory |
1051 | FileDrives | Getting a list of drives |
1052 | FileMakeDir | Creating a directory |
1056 | FileUpload | Uploading a file to the server |
1057 | FileExecute | Executing a file |
1060 | FileDownload | Downloading a file from the server |
受感染应用程序之间的连接
虽然我们无法确定之前从vnote[.info 下载的文件,但我们发现这两个网站上分发应用程序的来源是一样的。值得一提的是,我们在检查修改后的NotePad-- 时还偶然发现了另一个有趣的细节。在可执行文件的行中,我们发现了类似 "About"窗口的文本,但其中并没有指向项目官方网站的链接,而是指向可疑资源vnotepad[.]com的链接。下面是程序用户界面中 "About"窗口的截图:
About window of modified Notepad‐‐
通过 "About"窗口中的链接,我们进入了一个stub页面:
我们觉得很奇怪,于是尝试从 HTTP 切换到 HTTPS,结果发现该网站是VNote 网站的另一个副本,与我们在vnote[.]info 上看到的网站类似。此外,在打开该网站时,浏览器警告我们它使用的证书无效,因为该证书是为vnote[.]info 颁发的:
Certificate used by the site vnotepad[.]com
这表明上述两种情况之间存在着明确的联系,而且修改后的VNote编辑器的目的很有可能与NotePad-- 类似,都是为了传递下一阶段的感染信息。
结论
我们正在继续研究上述威胁,并寻找尚未发现的中间阶段。此外,我们已经确定 Linux 和 macOS 应用程序中的变化是相同的,这表明 Linux 有可能存在与我们发现的 macOS 类似的后门。
威胁情报标识
文件:
链接:
补充资料
非原文内容
stub页面
stub页面通常指的是一个尚未完成或仅包含基本框架的网页。在恶意软件分析的上下文中,一个占位符页面可能是一个故意设置的陷阱,用于误导用户或分析人员,或者它可能是一个尚未开发完全的恶意功能的一部分。
作为恶意软件分析人员,我会进一步探索这个占位符页面,检查它是否包含隐藏的恶意代码、重定向到其他恶意站点、收集用户信息等行为。同时,我也会查看这个页面是否与其他已知的恶意活动或攻击模式有关联,以便更全面地了解它的潜在威胁。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)