近日,深信服南研安全研究团队基于深信服云脑大数据平台捕获到一起利用Chrome漏洞CVE-2021-21224[1]发起的水坑攻击事件。攻击者在某网站主页中插入恶意链接,恶意链接指向的js文件包含CVE-2021-21224完整攻击脚本。当受害者使用有漏洞的Chrome浏览器或者基于有漏洞的Chromium内核开发的浏览器打开攻击者发送的网站链接时,会触发漏洞,执行shellcode中的远控程序,连接到攻击者的C&C服务器。
攻击链分析
部分攻击流量如下图:
该网站的主页嵌入了恶意链接:js/jquery.min.js。jquery.min.js原为jquery的一个js库,攻击者将攻击脚本文件名修改为jquery.min.js意在迷惑受害者或者规避检测。jquery.min.js里为CVE-2021-21224的完整攻击脚本:
CVE-2021-21224是Chromium JavaScript引擎V8的一个远程代码执行漏洞,该漏洞的根本原因是:v8 TurboFan模块在SimplifiedLowering优化阶段,将64位整数转换为32位整数时,数据类型转换节点生成错误导致的。详细的漏洞原理分析可以参考文章《Chromium issue 1196683、1195777分析》[2]。
Shellcode分析
样本中的shellcode为x86汇编指令:
shellcode 0x6偏移开始的指令是在遍历已加载到内存的各模块导出表,在其中寻找shellcode所要执行的系统函数的地址。
与C&C服务器通信的关键函数为偏移0x1处的函数sub_88:
函数首先执行pop ebp,将call的返回地址填入ebp,再通过偏移0x99处的call ebp返回到call sub_88的下一条指令,即偏移0x6开始的代码。在sub_88函数中,存在着许多call ebp指令,且每一个call ebp之前都有一些push指令进行函数参数压栈操作。与call指令紧接着的push指令所push的dword值,结合偏移0x6开始的代码推测,应为导出函数名的hash。
在偏移0x7f处,有一条jmp eax指令:
此处是在导出表取出函数地址并调用相应的系统函数。
接下来通过动态调试进分析该shellcode调用了哪些系统函数。为了不让shellcode影响到调试主机,这里将jmp eax指令修改为ret指令。因为jmp eax会跳转到相应的系统函数调用,而系统函数调用完后会有ret指令返回栈帧。因此这里通过直接将jmp eax修改为ret指令防止恶意代码在调试环境中执行。
修改完毕后,直接在ret指令处下断点执行:
命中断点后, eax的值显示了此时要执行的函数名称。依次执行下去,遇到有检查函数返回值的部分直接将返回值修改为可继续执行下去的值,最终可以得到如下调用链:
通过上面的分析可以看到:C&C服务器的地址为139.162.106.252。通过深信服威胁情报中心查询可知,该C&C服务器近期已经发起多次漏洞利用攻击[3]:
参考链接
[1]https://chromereleases.googleblog.com/2021/04/stable-channel-update-for-desktop_20.html
[2]https://mp.weixin.qq.com/s/m-3l4RmhFxbj3wUThqx7Mw
[3]https://ti.sangfor.com.cn/analysis-platform/ip_report/MTM5LjE2Mi4xMDYuMjUy?lang=ZH-CN
团队简介
深信服南研安全研究团队专注于APT攻击,在野漏洞利用追踪、研究、检测,攻防对抗等方向的研究工作。团队成员曾在Windows,MacOS/iOS,Linux/Android等主流操作系统中发现了上百个安全漏洞,在BlackHat USA、BlackHat Europe、BlackHat Asia、HITB、Microsoft BlueHat、CodeBlue、HITCON、Virus Bulletin、Pacsec、看雪SDC、Freebuf CIS等国内外知名安全会议上发表过演讲和论文。
如果你对以下技术内容感兴趣,希望和高手切磋共事,赶紧发简历过来吧(邮箱[email protected] 工作地点:南京):
【APT攻击溯源 】恶意代码分析,威胁情报研究,APT溯源分析
【检测引擎研发】 EDR、XDR等检测引擎研发
【攻防对抗技术】红蓝对抗,ATT&CK技术研究,检测规则编写
【漏洞挖掘与利用】 在野漏洞利用研究,漏洞挖掘
【云原生安全】云原生安全技术研究和产品研发
【MacOS安全】macOS安全产品核心模块开发,macOS沙箱、EDP、EDR、DLP等安全产品开发
【大数据安全】 研发基于大数据技术的下一代安全产品
深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。
● 扫码关注我们
本文始发于微信公众号(深信服千里目安全实验室):针对一次利用Chrome漏洞CVE-2021-21224发起水坑攻击事件的分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论