研究人员发现一款SPI恶意软件,该恶意软件使用开源mitmproxy来拦截流量并注入广告。恶意软件作者在不断寻找新的方法来避免被检测到,同时要增加收入。本文介绍macOS系统中使用的新技术。
SearchPageInstaller (SPI)是一种2017年出现的广告恶意软件,但最近的报告现实它是首次使用mitmproxy。
恶意软件使用了一种新的方式来利用广告营收。一般来说,恶意软件会将用户重定向到目标页面,而SPI会注入广告到用户搜索返回的html中。为了达到这个目的,需要在受害者电脑上开启HTTP和HTTPS代理,可以在系统设置中的网络代理选项中进行设置:
也可以通过命令实现:
system_profiler SPNetworkDataType | grep 'Proxy Enabled':
SearchPageInstaller拦截页面说明脚本注入广告到搜索页面结果顶部,替换了其他广告:
脚本来源于chaumonttechnology.com,该主机已经被VirusTotal的2个引擎识别为恶意的了:
对该web代理,SPI使用了开源HTTPS代理mitmproxy来注入脚本到web页面的body部分,同时使用了inject.py脚本:
Mitmproxy在这里充当着服务器和客户端之间的中间人,创建了复制的证书来使服务器相信它就是客户端,也让客户端相信它就是服务器。
一旦用户提交必须的密码,SPI二进制文件就手动安装了mitmproxy CA证书。下面是macOS 10.14 Mojave上检测到的攻击:
如果经过授权,mitmproxy CA证书和其他需要的凭证就可以将中间人攻击写入不可见的文件夹~/.mitmproxy。
SearchPageInstaller启动后,首先会尝试获取安装新证书的权限。然后修改网络代理设定,这一步需要admin同意,所以会出现一个认证请求。SPI的行为马上会出触发SentinelOne的响应:
恶意软件继续执行,可以看到整个攻击流程,包括恶意软件进程的创建和所有事件:
右边的面板表示选定的事件。Mitmdump是mitmproxy提供的命令行工具。Mitmdump工具可以查看、记录和转变HTTP流量。可以看到进程调用inject.py脚本和提供的参数。这说明mitmproxy代理在进行htpps连接时忽略了特定的域名正则匹配,可能是为了避免certificate pinning保护造成的错误。
然后,mitmdump进程会复制一个调用uname工具来取回机器架构信息的shell进程。
SPI的行为看似是一起低风险的恶意广告活动,但其操作铭文http和加密流量的能力才是真正需要关注的。但反病毒软件可能会将mitmproxy加入白名单,因此其本质上是一种非恶意的开发者工具。
https://www.sentinelone.com/blog/inside-searchpageinstaller-macos-malware-deploys-mitm-attack/
本文作者:ang010ela
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/81341.html