拦截流量注入广告:macOS SearchPageInstaller恶意软件分析

访客3年前黑客文章1007

我们针对SPI广告恶意软件进行了深入分析,发现该软件利用开源的mitmproxy拦截流量,并注入广告。

长期以来,恶意软件作者始终在寻找或创造新的 *** ,来避免检测,并产生收益。在上周,我们监测到macOS中出现了一种新型恶意软件,使用了此前没有见过的技术。由此,我们启动虚拟机,开始对这一恶意软件进行详细分析。

本文是我们针对这一恶意软件得出的分析结论。

 

老瓶装新酒

SearchPageInstaller(SPI)是自2017年以来持续活跃的广告恶意软件,但最近我们首次发现,该恶意软件的新变种使用到了mitmproxy。事实上,我们根据2017年12月在mac360.com上发表的一个帖子以及其下方的讨论中,就已经注意到了这种联系。并且,根据我们对一些代码组件的分析,我们认为这一恶意软件可能是在几个月前开发的,大概是在2017年8月左右。原因在于,我们发现该文件中包含日期(以美国的日期格式书写):


恶意软件采取了一种新颖的 *** ,以从广告中获得收入。SPI并没有简单地将浏览器重定向到用户没有实际访问的页面,而是将广告注入到用户搜索返回的HTML文档的顶部。为此,它首先在被感染的计算机上启用HTTP和HTTPS *** ,我们可以在“系统偏好设置”(System Preferences)-“ *** ”(Network)的“ *** ”(Proxies)选项卡中看到证据:


在命令行中,输入system_profiler SPNetworkDataType | grep ‘Proxy Enabled’,可以看到:


我们查看已经被SearchPageInstaller拦截的网页,可以发现SPI将攻击者自定义的脚本添加到搜索结果页面的顶部,从而替换其他的任何广告:


该脚本来自chaumonttechnology.com,这个域名仅被VirusTotal上的两个反恶意引擎识别为恶意:


 

中间人攻击

至于Web *** ,SPI使用了mitmproxy,这是一个开源的HTTPS *** 。具体来说,它使用inject.py脚本,将脚本注入到网页主体中:


之所以能做到这一点,是因为mitmproxy本质上充当了服务器和客户端之间的“中间人”,创建了“动态的”虚拟证书,从而让服务器认为它是客户端,让客户端认为它是服务器。

借助SPI二进制文件,就能够实现这一点,一旦系统请求用户输入密码,它就会手动安装mitmproxy CA证书。我们能够在macOS 10.14 Mojave上检测到此类攻击:


如果获得授权,那么恶意软件会将启动“中间人”攻击所需的mitmproxy CA证书和其他凭据写入位于~/.mitmproxy中的隐藏文件夹:


 

检测

正如我们所看到的那样,当启动SearchPageInstaller时,它首先会尝试获取安装新证书的权限。然后,立即对 *** *** 设置进行更改,这一更改操作实际上也需要管理员的批准,因此会弹出另一个身份验证请求。SPI的行为会立即触发SentinelOne *** 的响应,我们这次以macOS 10.12.6 Sierra的安装过程为例:


但是,由于我们正在进行恶意软件的分析,因此我们决定不阻止威胁,而是使用SentinelOne管理控制 *** 有的EDR功能来观察其行为。

在允许恶意软件继续执行后,我们就能够看到整个攻击的全貌,能清晰看到每个恶意软件进程的创建过程,以及所有生成的事件:


右侧面板中的视图,展示了当前选定的事件。在这种情况下,我们执行mitmdump binary,这是一个带有mitmproxy的命令行工具。

Mitmdump工具可以查看、记录和程序化转换HTTP流量。我们可以借此看到调用inject.py脚本和提供的参数的进程。在这里,mitmproxy在通过HTTPS连接时,会忽略正则表达式模式匹配的某些域名,其原因可能是为了避免在使用证书锁定(Certificate Pinning)保护流量过程中出现错误。

相关文章

怎么在微信植入广告,有什么方法(微信植入广

怎么在微信植入广告,有什么方法(微信植入广

【手机中国软件】在1月19日下午,iOS版的微信V6.1版刚刚更新,支持通过附件栏发微信红包,可以搜索朋友圈的内容和附近的餐馆,并且更换手机时自定义表情不会丢失。笔者还没有尝试过新功能,但在今天早上却...

甲壳虫广告文案分析(甲壳虫经典广告词)

甲壳虫广告文案分析(甲壳虫经典广告词)

  文 | 木木老贼(公众号ID:mumuseo) 从去年9月开始,大众就宣布将在2019年停止生产“甲壳虫”紧凑型轿车。 而就在昨天大众甲壳虫上热搜了,因为在81年的生产和三代设计后,甲壳...

网络营销推广见效快的方法就是SEM运营,当天开广告就会有询盘

网络营销推广见效快的方法就是SEM运营,当天开广告就会有询盘

传统企业转型互联网的过程中,在上一期和大家分享了如何建设一个有营销力的网站,那么有了一个营销力的网站之后,那么网络营销推广应该怎么做呢?下面有壹壹汇聚网站代运营小编和大家说说见效快且能持续发展的方法。...

gg广告联盟有哪些(教你快速申请GG谷歌广告联盟

gg广告联盟有哪些(教你快速申请GG谷歌广告联盟

笔者认为对于大多数的网站站长来说,开办网站之目的很多应该是以盈利为主,当然我也不否认有的人不差钱,主要是兴趣。即使说不盈利,至少应该赚个空间费用和域名费吧!那么如何来盈利呢?途径有很多,比如出售网站流...

暴力涨粉赚钱项目:免广告vip电影网站赚钱方法

暴力涨粉赚钱项目:免广告vip电影网站赚钱方法

大家好,我是华哥,华哥有好几天没有码字了,不知道大家有没有想我啊。华哥今天又粗来跟朋友们做分享了。每次想开头都有种淡淡的忧伤啊,常规开头被骂没有创意,不常规的开头被骂非主流。然而分享还是要继续的,看看...

8年站长揭秘百度广告联盟月入几十万的技巧

8年站长揭秘百度广告联盟月入几十万的技巧

感谢bdunion研究的投稿 一、 网站情况及账号被封情况 本人自2007年以个人站长的身份加入百度联盟,到2015年10月15日账号被封,跨度8年时间。网站也不断发展,由最初的个人站长发展到公司...