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. python自动化开发-[第二十二天]-bbs多级评论、点赞、上传文件

    今日概要: 1.related_name和related_query_name的区别 2.through_fields的用途 3.django的事务提交 4.点赞的动画效果 5.多级评论的原理 6.上 ...

  2. docker 基础之镜像加速

    国内访问 Docker Hub 有时会遇到困难,此时可以配置镜像加速器 对于使用 systemd 的系统,用 systemctl enable docker 启用服务后,编辑 /etc/systemd ...

  3. Nginx安装及配置详解包括windows环境

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  4. bzoj千题计划316:bzoj3173: [Tjoi2013]最长上升子序列(二分+树状数组)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3173 插入的数是以递增的顺序插入的 这说明如果倒过来考虑,那么从最后一个插入的开始删除,不会对以某 ...

  5. 前端面试题整理—HTML/CSS篇

    1.简述一下你对HTML语义化的理解 1)用正确的标签做正确的事情 2)html语义化让页面的内容结构化,结构更清晰,便于对浏览器.搜索引擎解析 3)即使在没有样式CSS情况下也以一种文档格式显示,并 ...

  6. 在 CentOS6 上安装 Zabbix3.0 Agent 并开启客户端自动注册

    #!/bin/bash # # .配置yum源 # cat /etc/redhat-release |grep -i centos |grep '6.[[:digit:]]' &>/de ...

  7. Echarts地图悬浮框显示多组series数据以及修改地图大小

    1.如何让echarts的地图悬浮框出现多组series数据? 2.如何更改地图默认的大小? <!DOCTYPE html> <html lang="en"> ...

  8. IL 学习笔记

    先上几篇博客链接: 一步步教你读懂NET中IL(图文详解) C#基础之IL 详解.NET IL代码 C# IL DASM 使用 你必须知道的.NET <C# to IL>.<Expe ...

  9. 数组B:我想我需要一艘船屋

    Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process o ...

  10. django模型操作

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表