Mac 用户遭受木马化 iTerm2 应用程序的攻击
2021-10-29 13:56:56 Author: www.4hou.com(查看原文) 阅读量:28 收藏

导语:我们将在本文介绍了一个伪造版本的 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,从受害者的设备收集隐私数据。

TrojanSpy.Python.ZURU.A%20-%20Figure%2001.webp.jpg

虚假网站 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 文件,如下图所示。

TrojanSpy.Python.ZURU.A%20-%20Figure%2002-2.webp.jpg

从虚假网站(左)和官网(右)下载的文件的比较

比较 DMG 和 ZIP 文件的文件夹结构可以看出它们之间的许多差异:

1.木马化 iTerm2 应用程序中的所有 Mach-O 文件都使用 Apple Distribution 证书签名,如下图所示,而合法 iTerm2.app 中的文件使用 Developer ID 应用程序证书进行代码签名。根据官方文档介绍,Apple Distribution 证书仅用于在开发者将应用程序交付到 App Store 之前对其进行签名,因此从 App Store 下载的应用程序通常没有 Apple Distribution 证书。

TrojanSpy.Python.ZURU.A%20-%20Figure%2003.webp.jpg

木马化 iTerm2 应用程序代码签名

2.木马化的iTerm2应用程序包含一个名为libcrypto.2.dylib的文件(SHA-256哈希值为2c269ff4216dc6a14fd81ffe541994531b23a1d8e0fbd75b9316a9fa0e0d5fef),而在官方版本中,该文件是不存在的。

TrojanSpy.Python.ZURU.A%20-%20Figure%2004.webp.jpg

被木马化的 iTerm2 应用程序中添加的 libcrypto.2.lib 文件

3.在被木马化的 iTerm2 应用程序中,主 Mach-O 文件有一个名为 LC_LOAD_DYLIB 的附加加载命令,用于加载 libcrypto.2.dylib 文件,如下图所示。

TrojanSpy.Python.ZURU.A%20-%20Figure%2005.webp.jpg

加载命令 LC_LOAD_DYLIB 加载文件 libcrypto.2.dylib

根据 Objective-see 的文章,当受害者运行木马化的 iTerm2 应用程序时,libcrypto.2.dylib 文件中包含的恶意代码会自动执行。这是一种重新打包我们以前从未见过的合法应用程序的聪明方法。

恶意软件一旦被执行,就会连接到它的服务器,并接收以下指令:

加图1.png

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 上发现的其他木马应用程序

6.png

在 VirusTotal 中搜索 iterm2.net 使用的安全套接字层 (SSL) 痕迹,发现了其他几个虚假网站。如下图所示,所有这些网站都被解析为相同的 IP 地址——43[.]129[.]218[.]115。

TrojanSpy.Python.ZURU.A%20-%20Figure%2006.webp.jpg

VirusTotal 上发现的其他虚假网站

我们能够访问其中一个虚假网站 snailsvn.cn,但当时其页面上的下载链接是空的,因此无法确定该网站是否曾被用于传播 SnailSVN 的木马版本,即 Apache Subversion( SVN) 客户端,适用于 Mac OS X。但是,在撰写本文时,所有这些域都无法访问。

TrojanSpy.Python.ZURU.A%20-%20Figure%2007.webp.jpg

伪造的 SnailSVN 网站

下载服务器

用于托管木马程序包的服务器 kaidingle[.]com 已于 9 月 7 日注册,目前仍处于活动状态。根据 VirusTotal 的说法,除了 iterm.dmg 之外,它还托管其他 DMG 文件,例如 SecureCTR.dmg 和 Navicat15_cn.dmg。截至9月18日,后两个DMG文件仍可从服务器下载。

TrojanSpy.Python.ZURU.A%20-%20Figure%2008.webp.jpg

与下载服务器相关的 URL

根据服务器在 WHOIS(查询和响应协议)上的信息,同一注册人下还有四个其他域。但是,到目前为止,这些域中没有一个表明它们与任何恶意软件有关。

TrojanSpy.Python.ZURU.A%20-%20Figure%2009.webp.jpg

来自同一注册人的其他域

二级服务器

从 9 月 8 日到 17 日,VirusTotal 在 IP 地址 47[.]75[.]123[.]111(与恶意 g.py 脚本的地址相同)下记录了多个与二级服务器相关的 URL。

TrojanSpy.Python.ZURU.A%20-%20Figure%2010.webp.jpg

第二阶段服务器下的 URL

除了 g.py 脚本和“GoogleUpdate”组件是木马化 iTerm 应用程序恶意软件程序的一部分,第二阶段服务器还托管了其他四个用作后渗透工具的 Mach-O 文件。

表 2. 托管在第二阶段服务器中的其他 Mach-O 文件

微信截图_20211004160657.png

值得注意的是,第二阶段服务器的 IP 地址类似于“GoogleUpdate”连接的 IP 地址,即 47[.]75[.]96[.]198。这两个 IP 地址均由阿里巴巴香港托管。47[.]75[.]96[.]198个与第二阶段服务器的注册时间大致相同,这表明这两个服务器可能是由攻击者设置的。

TrojanSpy.Python.ZURU.A%20-%20Figure%2011.webp.jpg

与“GoogleUpdate”位于同一服务器下的 URL

广告网站

如上述用户报告中所述,搜索引擎结果中的第一项位于子域 rjxz.jxhwst.top 下。在 Google 中搜索此地址会生成两个仅指向其缓存的结果,并且在撰写本文时,它们的实际页面已经关闭。

TrojanSpy.Python.ZURU.A%20-%20Figure%2012.webp.jpg

两个虚假网站的 Google 缓存

第一个搜索结果名为“Microsoft Remote Desktop”,其地址为 hxxp://rjxz.jxhwst.top/3,但根据其缓存和源代码,我们发现它重定向了访问虚假网站 hxxp://remotedesktop.vip。

TrojanSpy.Python.ZURU.A%20-%20Figure%2013.webp.jpg

虚假“Microsoft 远程桌面”页面的缓存

TrojanSpy.Python.ZURU.A%20-%20Figure%2014.webp.jpg

虚假页面的源代码

在检查其主页时,我们发现二级域名jxhwst.top属于一家农业公司。除了子域 rjxz.jxhwst.top,这个二级域还有 44 个其他子域,几乎都用于与农业公司无关的广告。公司可能出于广告目的将这些子域出租给他人,但不能防止它们被用于非法目的。如果是这种情况,攻击者会租用子域来传播恶意软件。

TrojanSpy.Python.ZURU.A%20-%20Figure%2015.webp.jpg

农业公司的子域

安全建议

为了保护系统免受此类攻击,用户应仅从官方和合法途径下载应用程序。同时还应该小心来自搜索引擎的搜索结果,并始终仔细检查 URL 以确保它们确实指向官方网站。 Mac 用户可以考虑多层安全解决方案,以提供反诈骗保护,标记和阻止试图窃取其个人数据的诈骗网站。

本文翻译自:https://www.trendmicro.com/en_us/research/21/i/mac-users-targeted-by-trojanized-iterm2-app.html如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/ZrV5
如有侵权请联系:admin#unsafe.sh