早在2019年10月,我们在与朝鲜有关的新闻网站上发现了一次经典的水坑攻击,该攻击利用了一系列Google Chrome和Microsoft Windows 0-day 漏洞,通过此文章,我们希望深入研究此攻击中使用的漏洞。 0x01 Chrome远程代码执行漏洞利用 在之前的文章中我们描述了漏洞利用程序加载器,加载器负责目标的初始验证和包含完整浏览器漏洞的下一阶段JavaScript代码的执行。  https://securelist.com/chrome-0-day-exploit-cve-2019-13720-used-in-operation-wizardopium/94866/ 该漏洞利用非常广泛,因为除代码外,它还包含带shellcode的字节数组,可移植可执行(PE)文件和在漏洞利用后期使用的WebAssembly(WASM)模块。该漏洞利用了WebAudio OfflineAudioContext界面中的漏洞,并针对两个版本的Google Chrome 76.0.3809.87和77.0.3865.75。但是,该漏洞是在此之前就引入的,而且带有WebAudio组件的早期版本也容易受到攻击。在我们发现时,当前版本的Google Chrome浏览器为78,尽管该版本也受到了影响,该漏洞利用程序不支持它,并且进行了大量检查以确保仅在受影响的版本上执行该程序以防止崩溃。报告发布后,该漏洞已分配编号为CVE-2019-13720,并已在版本78.0.3904.87中进行了修复,其中包括以下内容提交。释放后重引用(UAF)漏洞可能是由于“渲染”和“音频”线程之间的竞争状况而触发的:     if (!buffer) { ...