https://securelist.com/cve-2019-0797-zero-day-vulnerability/89885/

前言

在2019年2月,卡巴实验室的自动漏洞防护(AEP)系统检测到尝试利用Microsoft Windows操作系统中的漏洞。对此事件的进一步分析发现win32k.sys中存在零日漏洞。卡巴实验室于2019年2月22日向Microsoft报告确认了该漏洞分配为CVE-2019-0797。微软刚刚发布了一个补丁,称卡巴斯基实验室研究人员Vasiliy Berdnikov和Boris Larin的发现:

这是卡巴斯基实验室在Windows中发现的第四个连续被利用的本地权限提升漏洞。例如CVE-2018-8589,卡巴实验室相信这一漏洞被一些威胁组织使用,包括但不限于FruityArmor和SandCat。

FruityArmor曾使用过0day,但SandCat是最近才发现的新APT。除了CVE-2019-0797和CHAINSHOT之外,SandCat还使用FinFisher/FinSpy框架。

卡巴斯基实验室产品通过以下技术主动检测到此漏洞:

1.端点产品的行为检测引擎和自动漏洞预防;

2.卡巴斯基反目标攻击平台(KATA)的高级沙盒和反恶意软件引擎。

卡巴斯基实验室判断此次攻击和相关攻击中使用的工件是:

HEUR:Exploit.Win32.Generic
HEUR:Trojan.Win32.Generic
PDM:Exploit.Win32.Generic

技术细节 - CVE-2019-0797

CVE-2019-0797是win32k驱动程序中存在的竞争条件,因为未记录的系统调用NtDCompositionDiscardFrame和NtDCompositionDestroyConnection之间缺乏正确的同步。在初始分析期间,在最新系统上制作的屏幕截图中,可以观察到易受攻击的代码:

NtDCompositionDiscardFrame系统调用的片段(Windows 8.1)

在这个带有NtDCompositionDiscardFrame系统调用的简化逻辑的屏幕截图中,可以看到此代码获取与结构DirectComposition :: CConnection中的帧操作相关的锁,并尝试查找与给定id对应的帧,并最终调用免费的。可以在第二个屏幕截图中观察到此问题:

NtDCompositionDestroyConnection系统调用内部函数的片段(Windows 8.1)

在此屏幕截图中,使用从NtDCompositionDestroyConnection系统调用中调用的函数DiscardAllCompositionFrames的简化逻辑,您可以看到它没有获取必要的锁定并调用将释放所有已分配帧的函数DiscardAllCompositionFrames。问题在于,当系统调用NtDCompositionDiscardFrame和NtDCompositionDestroyConnection同时执行时,函数DiscardAllCompositionFrames可以在NtDCompositionDiscardFrame系统调用已经在寻找要释放或已经找到它的帧时执行。这种情况导致免费使用后的情况。

有趣的是,这是除了CVE-2018-8589和CVE-2018-8611之外,同一组使用的第三种竞争条件零日攻击。

如果模块文件名包含子字符串“chrome.exe”,则停止执行

在野外发现的漏洞攻击目标是从Windows 8到Windows 10 build 15063的64位操作系统。所有这些操作系统的开发过程没有太大差别,并使用堆喷涂调色板和加速器表执行使用GdiSharedHandleTable和gSharedInfo泄漏其内核地址。在利用Windows 10 build 14393和更高的窗口时使用而不是调色板。除此之外,该漏洞会检查它是否从谷歌浏览器运行并停止执行,因为漏洞CVE-2019-0797无法在沙箱中被利用。

CVE-2019-0797漏洞:Windows操作系统中的新零日在攻击中被利用的更多相关文章

  1. 太恐怖了!黑客正在GPON路由器中利用新的零日漏洞

    即使在意识到针对GPONWi-Fi路由器的各种主动网络攻击之后,如果您还没有将其从互联网上带走,那么请小心,因为一个新的僵尸网络已加入GPON组织,该组织正在利用未公开的零日漏洞(零时差攻击). 来自 ...

  2. ASP.NET 5与MVC 6中的新特性

    差点忘了提一句,MVC 6中默认的渲染引擎Razor也将得到更新,以支持C# 6中的新语法.而Razor中的新特性还不只这一点. 在某些情况下,直接在Web页面中嵌入某些JSON数据的方式可能比向服务 ...

  3. 在Windows操作系统中,如何终止占有的8080端口的tomcat进程

    在Windows操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 本文将通过命令来强行终止这个已经运行的tomca ...

  4. WINDOWS操作系统中可以允许最大的线程数(线程栈预留1M空间)(56篇Windows博客值得一看)

    WINDOWS操作系统中可以允许最大的线程数 默认情况下,一个线程的栈要预留1M的内存空间 而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程 但是内存当然不可能完全拿来 ...

  5. windows操作系统中安装、启动和卸载memcached

    今天总结一下如何在Windows操作系统中安装.启动和卸载memcached:下载地址: http://download.csdn.net/download/wangshuxuncom/8249501 ...

  6. Ant—怎样Windows操作系统中搭建Apache Ant环境

    介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/ ...

  7. 在windows操作系统中,查询端口占用和清除端口占用的程序

    一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b或用 1.查询端口占用的进程ID 点击"开始"-->"运行&qu ...

  8. Git—怎样Windows操作系统中安装Git

    介绍一下怎样在Windows操作系统中安装Git: 一.下载Git安装压缩文件:http://download.csdn.net/detail/wangshuxuncom/8035045 二.解压该压 ...

  9. [转]在 Windows 操作系统中的已知安全标识符(Sid security identifiers)

    安全标识符 (SID) 是用于标识安全主体或安全组在 Windows 操作系统中的可变长度的唯一值.常用 Sid 的 Sid 标识普通用户的一组或通用组.跨所有操作系统,它们的值保持不变. 此信息可用 ...

随机推荐

  1. CentOS 6.x 最小化安装推荐安装的依赖包和修改内核参数

    CentOS 6.x 最小化安装推荐安装的依赖包 我在日常工作中,新建的xenserver的虚拟机,CentOS release 6.9 (Final)操作系统,采用最小化安装,后续很多操作需要各种依 ...

  2. Try It Once Again

    愿你就是自己最暖的太阳.无需凭借谁的光~~~~~~~~~~~~ ============================== ============================== ====== ...

  3. maven坑-Failure to transfer org.apache.maven:maven

    参考网址:http://www.mkyong.com/maven/how-to-convert-maven-java-project-to-support-eclipse-ide/ https://b ...

  4. shop++改造之Filter类

    基于shop++源码进行商城改造.本来想大展手脚,结果一入手.发觉瞬间淹没了我的才华,sql语句也得贼溜没啥用. 不得不说这个商城源码价值很高,封装的很精屁. 下面是我第一天入手的坑. 数据库建好了表 ...

  5. com.netflix.client.ClientException: Load balancer does not have available server for client xxxx

    版本 spring boot: 2.0.1.RELEASE spring cloud: Finchley.M9 错误 通过zuul调用eureka注册的服务,错误内容如下 Caused by: com ...

  6. HDU - 1255 覆盖的面积 (线段树求面积交)

    https://cn.vjudge.net/problem/HDU-1255 题意 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 分析 求面积并的题:https://www.cnbl ...

  7. 使用keytool自建证书及应用

    1. 在密钥库文件 keystore.jks 中生成证书: keytool -genkey -alias cas -keyalg RSA -keypass changeit -storepass ch ...

  8. 细说REST API安全之概述

    目前许多前后端应用都采取REST架构风格,前端应用和后端服务通过API进行数据交换.通过REST API在网络中进行数据交换时很容易被网络抓包,然后进行恶意批量调用,最终导致后端服务不堪负重而影响正常 ...

  9. Spring AutoWire

    AutoWire 有 ByType ,ByName两种主要使用方式 public class Boss { @Autowired private Car car; public Car getCar( ...

  10. LINQ to SQL 中 Concat、Union、Intersect、Except 方法的使用

    Ø  前言 LINQ to SQL 中需要对两个或多个数据集进行操作,比如:合并.取交集等,主要使用下面四个方法,这四个方法都是 System.Linq.IQueryable<out T> ...