CVE-2021-30869:macOS漏洞利用
2021-11-15 12:50:00 Author: www.4hou.com(查看原文) 阅读量:27 收藏

谷歌研究人员发现macOS漏洞利用。

谷歌研究人员在macOS系统中发现了一个安全漏洞——CVE-2021-30869。攻击者利用该漏洞可以以kernel权限执行任意代码。8月底,谷歌研究人员发现了该漏洞的0 day在野利用,本文详细介绍利用该0 day漏洞的攻击活动情况。

水坑攻击

研究人员在攻击者控制的服务器上发现了攻击中使用的网站中含有2个iframe,其中一个是iOS漏洞利用,一个是macOS漏洞利用。

image.png 

iOS漏洞利用

iOS漏洞利用链使用基于Ironsquirrel的框架来加密传递到受害者浏览器的加密漏洞利用。研究人员尚未获得完整的iOS利用链,只发现攻击者利用CVE-2019-8506漏洞在Safari浏览器中实现代码执行。

macOS漏洞利用

macOS漏洞利用使用的框架与iOS不同。加载页中含有1个简单的HTML页面,可以加载2个脚本,一个是Capstone.js,一个是漏洞利用链。

image.png 

脚本

参数rid 是一个全局计数器,会记录漏洞利用的尝试次数。研究人员发现该漏洞利用链时该计数器已经达到200了。

漏洞利用链开始时JS会在运行漏洞利用前检查访问者是否运行macOS Mojave (10.14)或Catalina (10.15)。研究人员用Mojave访问站点时只接收到一个未加密的漏洞利用链。

远程代码执行

通过在最新的Safari (14.1)浏览器版本上加载含有WebKit RCE的页面,研究人员发现并没有成功触发该漏洞利用。为验证该假设,研究人员运行git bisect,并确定目前已经修复。

沙箱逃逸和本地权限提升

Capstone.js

研究人员发现攻击者在漏洞利用链中使用了Capstone.js,而该js文件常被用于二进制文件分析。攻击者使用它来在内存中搜索dlopen和dlsym的地址。

image.png 

capstone.js

Capstone.js的配置为X86-64而非ARM,因此可以推测目标硬件为基于Intel的Mac。

image.png

嵌入的Mach-O

WebKit RCE 成功执行后,嵌入的Mach-O二进制文件就会加载到内存中,修复并运行。通过分析,研究人员发现该二进制文件中含有可以逃逸Safari沙箱、进行权限提升、从C2下载第二阶段内容的代码。

image.png 

Mach-O

提取的二进制文件进行了混淆。解码后的字符串如下所示:

 image.png

解码后,研究人员发现其中含有从C2下载文件的代码。

image.png 

在下载payload后,会移除文件的隔离属性以绕过检测。然后提升权限来安装payload。

为在虚拟环境下运行漏洞利用,研究人员在Python环境下写了一个加载器来实现以下功能:

◼加载Mach-O到内存中;

◼找到dlopen 和 dlsym的地址;

◼用dlopen 和 dlsym的地址填充内存中加载的Mach-O;

◼运行Mach-O时传递payload url作为参数。

MACMA Payload

权限提升到root后,下载的payload就会被加载并在受害者机器后台运行。Payload通过数据分发服务(DDS)框架与C2进行通信。其中含有多个组件,其中部分组件被配置成了模块。其中该后门的常见功能包括:

◼获取受害者指纹信息

◼截取用户屏幕

◼文件下载和上传

◼执行终端命令

◼录制音频

◼记录键盘输入

本文翻译自:https://blog.google/threat-analysis-group/analyzing-watering-hole-campaign-using-macos-exploits/如若转载,请注明原文地址


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