导语:我们将在本文介绍了一个伪造版本的 iTerm2 应用程序,该应用程序下载并运行恶意软件,趋势科技将其检测为 TrojanSpy.Python.ZURU.A,它会从受害者的设备收集私人数据。
iTerm2是默认终端的替代品,也是目前Mac系统下最好用的终端工具,集颜值和效率于一身。
我们将在本文介绍了一个伪造版本的 iTerm2 应用程序,该应用程序下载并运行恶意软件,趋势科技将其检测为 TrojanSpy.Python.ZURU.A,它会从受害者的设备收集私人数据。
本月早些时候,一位用户报告说,在搜索引擎输入关键字“iTerm2”会检索到一个名为 item2.net 的虚假网站,该网站模仿了合法的 iterm2.com。可以从 iterm2.net 中的链接下载 iTerm2 应用程序的伪造版本,即 macOS 终端模拟器。执行此应用程序时,它会下载并运行 g.py,这是一个来自 47[.]75[.]123[.]111 的恶意 Python 脚本。这种恶意软件被趋势科技检测为 TrojanSpy.Python.ZURU.A,从受害者的设备收集隐私数据。
虚假网站 iterm2.net
Objective-see 之前发布了一篇关于此恶意软件的文章,其中分析了攻击者如何重新打包 iTerm2 应用程序以加载恶意的 libcrypto.2.dylib。这反过来会下载并运行其他组件,包括上述 g.py 脚本和名为“GoogleUpdate”的 Mach-O 文件,其中包含 Cobalt Strike 信标有效载荷。
被木马化的应用程序
截至 9 月 15 日,iterm2.net 仍处于活跃状态。但是,恶意文件并不直接托管在本网站上。相反,该网站包含一个链接 hxxp://www.kaidingle.com/iTerm/iTerm.dmg,用户可以从中下载名为 iTerm.dmg 的 macOS 磁盘映像文件 (DMG)。无论用户选择从虚假网站下载的应用程序版本如何,用户都会被重定向到 iTerm.dmg 的此下载 URL;真正的 iterm2.com 网站有不同版本的不同 URL 和文件。从合法网站下载的文件采用 ZIP 文件格式,而不是来自虚假网站的 DMG 文件,如下图所示。
从虚假网站(左)和官网(右)下载的文件的比较
比较 DMG 和 ZIP 文件的文件夹结构可以看出它们之间的许多差异:
1.木马化 iTerm2 应用程序中的所有 Mach-O 文件都使用 Apple Distribution 证书签名,如下图所示,而合法 iTerm2.app 中的文件使用 Developer ID 应用程序证书进行代码签名。根据官方文档介绍,Apple Distribution 证书仅用于在开发者将应用程序交付到 App Store 之前对其进行签名,因此从 App Store 下载的应用程序通常没有 Apple Distribution 证书。
木马化 iTerm2 应用程序代码签名
2.木马化的iTerm2应用程序包含一个名为libcrypto.2.dylib的文件(SHA-256哈希值为2c269ff4216dc6a14fd81ffe541994531b23a1d8e0fbd75b9316a9fa0e0d5fef),而在官方版本中,该文件是不存在的。
被木马化的 iTerm2 应用程序中添加的 libcrypto.2.lib 文件
3.在被木马化的 iTerm2 应用程序中,主 Mach-O 文件有一个名为 LC_LOAD_DYLIB 的附加加载命令,用于加载 libcrypto.2.dylib 文件,如下图所示。
加载命令 LC_LOAD_DYLIB 加载文件 libcrypto.2.dylib
根据 Objective-see 的文章,当受害者运行木马化的 iTerm2 应用程序时,libcrypto.2.dylib 文件中包含的恶意代码会自动执行。这是一种重新打包我们以前从未见过的合法应用程序的聪明方法。
恶意软件一旦被执行,就会连接到它的服务器,并接收以下指令:
Python 脚本 g.py 从受害者的设备收集以下系统数据和文件,然后脚本将其发送到服务器:
1.操作系统信息;
2.用户名;
3.已安装的应用程序;
4.本地IP地址;
5.这些文件和文件夹的副本:
~/.bash_history' ~/.zsh_history ~/.gitConfig /etc/hosts ~/.ssh ~/.zhHistory ~/Library/Keychains/Login.keychain-db ~/Library/Application Support/VanDyke/SecureCRT/Config/ ~/Library/Application Support/iTerm2/SavedState/
6.目录的内容:
~/ - {current user home directory}~/Desktop~/Documents~/Downloads/Applications
其他木马化的应用程序和虚假网站
对被木马化的 iTerm2 应用程序的 Apple Distribution 证书的进一步分析使我们在 VirusTotal 上找到了类似的木马化应用程序(下表),所有这些应用程序都使用了相同的方法进行了木马化。
表 1. 在 VirusTotal 上发现的其他木马应用程序
在 VirusTotal 中搜索 iterm2.net 使用的安全套接字层 (SSL) 痕迹,发现了其他几个虚假网站。如下图所示,所有这些网站都被解析为相同的 IP 地址——43[.]129[.]218[.]115。
VirusTotal 上发现的其他虚假网站
我们能够访问其中一个虚假网站 snailsvn.cn,但当时其页面上的下载链接是空的,因此无法确定该网站是否曾被用于传播 SnailSVN 的木马版本,即 Apache Subversion( SVN) 客户端,适用于 Mac OS X。但是,在撰写本文时,所有这些域都无法访问。
伪造的 SnailSVN 网站
下载服务器
用于托管木马程序包的服务器 kaidingle[.]com 已于 9 月 7 日注册,目前仍处于活动状态。根据 VirusTotal 的说法,除了 iterm.dmg 之外,它还托管其他 DMG 文件,例如 SecureCTR.dmg 和 Navicat15_cn.dmg。截至9月18日,后两个DMG文件仍可从服务器下载。
与下载服务器相关的 URL
根据服务器在 WHOIS(查询和响应协议)上的信息,同一注册人下还有四个其他域。但是,到目前为止,这些域中没有一个表明它们与任何恶意软件有关。
来自同一注册人的其他域
二级服务器
从 9 月 8 日到 17 日,VirusTotal 在 IP 地址 47[.]75[.]123[.]111(与恶意 g.py 脚本的地址相同)下记录了多个与二级服务器相关的 URL。
第二阶段服务器下的 URL
除了 g.py 脚本和“GoogleUpdate”组件是木马化 iTerm 应用程序恶意软件程序的一部分,第二阶段服务器还托管了其他四个用作后渗透工具的 Mach-O 文件。
表 2. 托管在第二阶段服务器中的其他 Mach-O 文件
值得注意的是,第二阶段服务器的 IP 地址类似于“GoogleUpdate”连接的 IP 地址,即 47[.]75[.]96[.]198。这两个 IP 地址均由阿里巴巴香港托管。47[.]75[.]96[.]198个与第二阶段服务器的注册时间大致相同,这表明这两个服务器可能是由攻击者设置的。
与“GoogleUpdate”位于同一服务器下的 URL
广告网站
如上述用户报告中所述,搜索引擎结果中的第一项位于子域 rjxz.jxhwst.top 下。在 Google 中搜索此地址会生成两个仅指向其缓存的结果,并且在撰写本文时,它们的实际页面已经关闭。
两个虚假网站的 Google 缓存
第一个搜索结果名为“Microsoft Remote Desktop”,其地址为 hxxp://rjxz.jxhwst.top/3,但根据其缓存和源代码,我们发现它重定向了访问虚假网站 hxxp://remotedesktop.vip。
虚假“Microsoft 远程桌面”页面的缓存
虚假页面的源代码
在检查其主页时,我们发现二级域名jxhwst.top属于一家农业公司。除了子域 rjxz.jxhwst.top,这个二级域还有 44 个其他子域,几乎都用于与农业公司无关的广告。公司可能出于广告目的将这些子域出租给他人,但不能防止它们被用于非法目的。如果是这种情况,攻击者会租用子域来传播恶意软件。
农业公司的子域
安全建议
为了保护系统免受此类攻击,用户应仅从官方和合法途径下载应用程序。同时还应该小心来自搜索引擎的搜索结果,并始终仔细检查 URL 以确保它们确实指向官方网站。 Mac 用户可以考虑多层安全解决方案,以提供反诈骗保护,标记和阻止试图窃取其个人数据的诈骗网站。
本文翻译自:https://www.trendmicro.com/en_us/research/21/i/mac-users-targeted-by-trojanized-iterm2-app.html如若转载,请注明原文地址