原文:https://securelist.com/chrome-0-day-exploit-cve-2019-13720-used-in-operation-wizardopium/94866/

译者:neal1991

点击蓝字“madMen”关注我哟

摘要

卡巴斯基安全防护是卡巴斯基产品的一部分,过去已成功检测到许多零日攻击。最近,为 Google的 Chrome 浏览器发现了一个未知的新漏洞。我们会立即将此情况报告给 Google Chrome 安全团队。在审核了我们提供的 PoC 之后,Google 确认存在零日漏洞并将其分配为 CVE-2019-13720。Google 已针对 Windows,Mac 和 Linux 发布了 Chrome 版本78.0.3904.87,我们建议所有 Chrome 用户尽快将其更新为最新版本!你可以点击此处阅读 Google 公告。

卡巴斯基端点产品借助漏洞利用防御组件检测漏洞。该攻击的裁决是 Exploit.Win32.Generic。

我们称这些攻击为 Operation WizardOpium。到目前为止,我们还无法与任何已知的威胁者建立明确的联系。与蓝莲花攻击有某些非常弱的代码相似性,尽管这很可能是 false flag。目标网站的配置与最近部署了类似虚假标记攻击的早期 DarkHotel 攻击更加一致。

卡巴斯基情报报告的客户可以获取有关 CVE-2019-13720 和最近的 DarkHotel 的 false flag 攻击的详细信息。有关更多信息,请联系:intelreports@kaspersky.com。

技术细节

攻击利用朝鲜语新闻门户上的水坑式注入。在主页中插入了恶意的 JavaScript 代码,恶意代码又从远程站点加载了分析脚本。

重定向到漏洞利用登录页面

主页上托管了一个从 hxxp://code.jquery.cdn.behindcorona[.]com/ 中加载了远程脚本的微不足道的 JavaScript 标签。

然后,该脚本将加载另一个名为 .charlie.XXXXXXXX.js 的脚本。该 JavaScript 通过与浏览器的用户代理进行比较来检查受害者的系统是否能被感染,程序应在 64位 版本的 Windows 上运行,而不是 WOW64 进程;它还尝试获取浏览器的名称和版本。该漏洞试图利用 Google Chrome 浏览器中的 bug,脚本会检查该版本是否大于或等于65(当前的Chrome版本为78):

分析脚本(.charlie.XXXXXXXX.js)中 Chrome 版本检测

如果检测出浏览器版本,脚本将开始向攻击者的受控服务器 (behindcorona[.]com) 发送一些 AJAX 请求,其中路径名指向传递给脚本(xxxxxxx.php)的参数。首先需要获得一些将来有用的重要信息。该信息包括几个十六进制编码的字符串,这些字符串告诉脚本应从服务器下载多少个实际漏洞利用代码,以及图像文件的 URL,这个图片嵌入了最终载荷的密钥和RC4密钥从而对漏洞利用代码解密。

漏洞利用链– AJAX 请求 xxxxxxx.php

下载完所有代码块后,RC4 脚本将所有部分解密并拼接在一起,这为攻击者提供了一个包含完整浏览器漏洞的新 JavaScript 代码。为了解密这些部分,使用了之前的 RC4 密钥。

另一次版本检测

浏览器漏洞脚本被混淆;消除混淆后我们观察到一些奇怪的事情:

  1. 对用户代理的字符串进行另一项检查–这次它检查浏览器版本是 76 还是77。这可能意味着漏洞利用作者仅使用这些版本(先前的漏洞利用阶段检查的版本号为65或更高)或使用过去曾在旧版 Chrome 中使用过其他漏洞利用。

    混淆后的漏洞利用代码

  2. 操作浏览器的内置 BigInt 类,这个类在 JavaScript 代码中执行 64 位算术很有用,例如,在 64位 环境中使用原生指针。通常情况下,漏洞利用开发者通过与32位数字实现自己的功能。但是,在这种情况下,使用的是BigInt,它应该更快,因为它是在浏览器的代码中本地实现的。漏洞利用开发者此处并未使用全部 64 位,而是使用较小的数字范围。这就是为什么它们实现一些功能以与数字的较高/较低部分兼容原因。

    使用 64 位数字的代码片段

  3. 在实际的代码中有许多未使用的函数和变量。这通常意味着它们用于调试代码,然后在将代码移至生产环境时被遗忘。

  4. 大多数代码使用与浏览器的某些易受攻击组件相关的几个类。由于此 bug 仍未得到修复,因此我们此处不包括有关特定易受攻击组件的详细信息。

  5. 有一些带有数字的大数组,这些数字代表一个 shellcode块 和一个嵌入式 PE 镜像。

由于存在漏洞披露原则,我们在此提供的分析特意简短。该漏洞利用了两个线程之间的竞争条件错误,原因是它们之间缺少适当的同步。它使攻击者处于释放后使用(UaF)的状态,这是非常危险的,因为它可能导致代码执行,这正是本例所发生的情况。

该漏洞利用程序首先尝试触发 UaF 对重要的64位地址(作为指针)执行信息泄漏。结果是:1)如果地址成功泄漏,则表明漏洞利用正常。2)泄漏的地址用于定位堆/栈的位置,这使地址空间布局随机化(ASLR)技术无效;3)通过在该地址附近进行搜索,可以找到其他一些有用的指针,以供进一步利用。

之后,它尝试使用递归函数创建一堆大对象。这样做是为了确定一些重要的的堆布局,这对于成功利用漏洞很重要。同时,它尝试利用堆喷涂技术,该技术旨在重用先前在 UaF 部分释放的指针。尽管实际上它们位于相同的内存区域,但该技巧可能会引起混乱,并使攻击者能够对两个不同的对象进行操作(从 JavaScript 代码的角度来看)。

该漏洞尝试执行许多操作来分配/释放内存以及其他技术,这些技术最终为攻击者提供了任意的读/写能力。这用于制作可以与 WebAssembly 和 FileReader 一起使用的特殊对象来执行嵌入的 Shellcode 有效载荷。

第一阶段 shellcode

有效载荷说明

最终的有效载荷将作为加密的二进制文件(worst.jpg)下载,并由shellcode解密。

加密的有效载荷– Worst.jpg

解密后,恶意软件模块将作为 updata.exe 拖放到磁盘上并执行。为了持久化,该恶意软件会在 Windows Task Scheduler 中安装任务。

有效载荷“安装程序”是 RAR SFX 归档文件,其中包含以下信息:

File size: 293,403 MD5: 8f3cd9299b2f241daf1f5057ba0b9054 SHA256: 35373d07c2e408838812ff210aa28d90e97e38f2d0132a86085b0d54256cc1cd

这个文档包含两个文件:

文件名: iohelper.exe

MD5: 27e941683d09a7405a9e806cc7d156c9 SHA256: 8fb2558765cf648305493e1dfea7a2b26f4fc8f44ff72c95e9165a904a9a6a48

文件名: msdisp64.exe

MD5: f614909fbd57ece81d00b01958338ec2 SHA256: cafe8f704095b1f5e0a885f75b1b41a7395a1c62fd893ef44348f9702b3a0deb

这两个文件是同时编译的,我们确信的依据是时间戳 "Tue Oct 8 01:49:31 2019”。

主模块(msdisp64.exe)尝试从硬编码的 C2 服务器集中下载下一部分。下一部分位于 C2 服务器上具有受害计算机名称的文件夹中,因此威胁执行者可以了解有关哪些计算机被感染的信息,并将下一阶段模块放置在 C2 服务器上的特定文件夹中。

卡巴斯基情报报告的客户可以获取有关此攻击的更多详细信息。更多信息,请联系:intelreports@kaspersky.com。

IoCs

  • behindcorona[.]com

  • code.jquery.cdn.behindcorona[.]com

  • 8f3cd9299b2f241daf1f5057ba0b9054

  • 35373d07c2e408838812ff210aa28d90e97e38f2d0132a86085b0d54256cc1cd

  • 27e941683d09a7405a9e806cc7d156c9

  • 8fb2558765cf648305493e1dfea7a2b26f4fc8f44ff72c95e9165a904a9a6a48

  • f614909fbd57ece81d00b01958338ec2

  • cafe8f704095b1f5e0a885f75b1b41a7395a1c62fd893ef44348f9702b3a0deb

  • kennethosborne@protonmail.com

译者注:在图像中加载恶意代码也是一种常见的攻击方式,之前也分析过一个黑产通过 Canvas 加载恶意代码

黑产代码解密--利用canvas加载代码

❤️ 看完三件事

如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:

  1. 点赞,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)

  2. 关注公众号「mad_coder」,不定期分享原创知识。

  3. 点击菜单历史消息,获取往期精彩原创文章。

你点的每一个"在看"

我都当成了喜欢!

Chrome 爆出最新漏洞,快更新你的 Chrome相关推荐

  1. 树莓派最新最快更新源2020.06.06

    更新源,简单地说,就是修改两个文件: 1.软件更新源(/etc/apt/sources.list) 2.系统更新源(/etc/apt/sources.d/raspi.list).我们对这两个文件进行修 ...

  2. 谷歌chrome xp_Google多久更新一次Chrome?

    谷歌chrome xp Google updates Chrome regularly with new features, security updates, and more. Chrome do ...

  3. linux查看flash插件更新,Linux用户:快更新Flash Player修复漏洞

    导读 虽然Adobe Flash Player更新在任何时候都使用浏览器的任何人都适用,但Adobe最新的安全公告建议所有用户因漏洞而更新其软件. 这包括那些运行GNU/Linux以及基于Gentoo ...

  4. 更新提示!Chrome新的零日漏洞正被利用

    在修复了上一个零日漏洞之后,Chrome浏览器又开始马不停蹄地修复第二个零日漏洞. 3月2日,谷歌发布了Chrome浏览器第二个零日漏洞的修复程序,称该漏洞正被积极利用. 当天,谷歌发布了Window ...

  5. 注意了!Chrome 浏览器最新高危漏洞曝光

    这是「进击的Coder」的第 149 篇热点新闻 作者:okay 来源:扩展迷EXTFANS " 阅读本文大概需要 3 分钟. " 4 月 14 日,国家信息安全漏洞共享平台(CN ...

  6. 阿里在美申请区块链专利;Win10 最新漏洞被发现;MongoDB 4.2 发布​ | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  7. 详细分析 Chrome V8 JIT 漏洞 CVE-2021-21220

     聚焦源代码安全,网罗国内外最新资讯! 前言 CVE-2021-21220 是4月13号在 github 上公开的一个半 0day v8 引擎 JIT 模块漏洞.由于当时最新stable版本 (89. ...

  8. 谷歌浏览器Chrome八年来首次更新标识 几个月后全面开放

    NEW 关注Tech逆向思维视频号 最新视频→[揭秘北京冬奥八大比赛场馆] 2月7日消息,据外媒报道,谷歌Chrome终于在八年后首次更新了其标识,以便更好地"与谷歌更现代化的品牌表达方式保 ...

  9. Tomcat 爆出高危漏洞及修复

    今天跟大家分享Tomcat 爆出高危漏洞及修复的知识. 1 Tomcat 爆出高危漏洞及修复 1.1 漏洞背景 2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) ...

最新文章

  1. 转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
  2. Javascript 基础—变量 运算符
  3. 记自己在spring中使用redis遇到的两个坑
  4. TFIDF java实现
  5. FX-3U PLC串口与PC通信调试
  6. VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
  7. 夯实Java基础(十八)——泛型
  8. 芯原创始人戴伟民:嵌入式人工智能与芯粒的历史机遇
  9. 二叉树的7种遍历算法
  10. CentOS 下编译安装AliSQL
  11. 记录虚拟机ubuntu 复制粘贴到主机window
  12. 学习系列之天眼查爬虫
  13. python云计算1_python云计算1
  14. MongoDB3.4 根据中文拼音给中文排序
  15. 如何计算 NP(natural product likeness)和 BCT(Bertz complexity )?
  16. route命令添加永久路由
  17. Android实现第三方登录并获取到头像、名字
  18. PyCharm采用Docker镜像直接进行Linux环境项目开发
  19. 【微信小程序】网络数据请求
  20. api接口: actual and formal argument lists differ in length

热门文章

  1. 计算机检测维修与数据恢复国赛培训线上直播课火热进行中
  2. win10 Opencv4.5.0源码编译支持CUDA加速
  3. Cocos creator导出微信小游戏, 转发给朋友,分享到朋友圈 灰色不能点击
  4. 字符串匹配算法(Python)
  5. linux基本命令练习
  6. 首季度NAND闪存市场呈现萎缩,东芝抢占份额
  7. 安卓开发中如何获取手机返回键的监听处理
  8. linux 文本字符串过滤,linux文本内容过滤命令(grep)
  9. 浅显易懂的理解TCP三次握手和四次挥手
  10. 房产小程序需要加入哪些功能才能让用户喜欢?