首页 > 文化 > 正文

0day漏洞

2019-11-09 11:25:23 来源: 阅读:1
评论(0 收藏(0
今天小编学到了一个新名词:0Day漏洞,分享给大家。所谓“0Day漏洞”,是指那些没有公开过,因而也没有补丁的漏洞,也就是通常所说的“未公开漏洞”。
 
假设您是一位非常注重安全的电脑用户,操作系统和应用软件都使用正版,上网习惯良好,而且还购买了杀毒软件和网络防火墙。这是否能确保您的上网安全呢?——从技术角度来讲,似乎没有什么可担心的。但是,您是否知道,您所使用的操作系统和第三方应用程序,也许潜伏着一些不为人知的重大漏洞!当你发现你的网络已遭入侵,账号已被窃取,用杀毒软件扫描却一无所获…… 这时,你考虑过0Day么?
什么0Day漏洞?
什么是0Day
 
0Day的概念最早用于软件和游戏破解,属于非盈利性和非商业化的组织行为,其基本内涵是“即时性”。当时的0Day是指在正版软件或游戏发布的当天甚至之前,发布附带着序列号或者解密器的破解版,让使用者可以不用付费就能长期使用。而眼下的0Day,是指在安全补丁发布前而被了解和掌握的漏洞信息,正在对信息安全产生越来越严重的威胁。 
  
漏洞信息的公开加速了软件生产企业的安全补丁更新进程,减少了恶意程序的危害程度。但如果是不公开的0Day呢?是否有很多0Day一直在秘密流传?例如,给全球网络带来巨大危害的“冲击波”和“震荡波”这两种病毒,如果它们的漏洞信息没有公开,自然也就没有这两种超级病毒的产生。反过来想,有什么理由认为眼下不存在类似的有着重大安全隐患的漏洞呢?
 
在互联网应用越来越发达的今天,0Day漏洞的威胁也越来越大,甚至有可能引发整个互联网的“地震”,因为看不见的才是最可怕的。

来源:
景安网络              时间:2017-03-22


2018年3月末,ESET研究人员发现了一个有意思的恶意PDF样本。仔细观察发现,该样本利用了两个未知的漏洞:Adobe Reader中的远程代码执行漏洞和Microsoft Windows中的特权升级漏洞。

组合的漏洞的使用非常强大,因为它允许攻击者执行任意代码,对有漏洞的主机可以拿到最高权限,并且只有最少量的用户交互。APT组织经常使用这种组合来执行他们的攻击,例如去年的Sednit活动。

当发现了这个PDF样本,ESET就与Microsoft安全响应中心,Windows Defender ATP研究团队和Adobe产品安全事件响应团队联系并一起工作,因为他们修复了这些错误。

来自Adobe和Microsoft的修补程序和建议可在此处获得:

  • APSB18-09
  • https://helpx.adobe.com/security/products/acrobat/apsb18-09.html
  • CVE-2018-8120 https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-8120

受影响的产品版本如下:

  • Acrobat DC(2018.011.20038和更早版本)
  • Acrobat Reader DC(2018.011.20038及更早版本)
  • Acrobat 2017(011.30079及更早版本)
  • Acrobat Reader DC 2017(2017.011.30079及更早版本)
  • Acrobat DC(Classic 2015)(2015.006.30417及更早版本)
  • Acrobat Reader DC(Classic 2015)(2015.006.30417及更早版本)
  • Windows 7(用于32位系统)Service Pack 1
  • Windows 7(用于基于x64的系统)Service Pack 1
  • Windows Server 2008(用于32位系统)Service Pack 2
  • Windows Server 2008(用于基于Itanium的系统)Service Pack 2
  • Windows Server 2008(用于基于x64的系统)Service Pack 2
  • Windows Server 2008 R2(用于基于Itanium的系统)Service Pack 1
  • Windows Server 2008 R2(用于基于x64的系统)Service Pack 1

本文下面介绍这个恶意样本的技术细节及其利用的方式

介绍

PDF是电子文档的文件格式,与其他常用文档格式一样,攻击者可以使用它将恶意软件传送到受害者的计算机。为了执行自己的恶意代码,攻击者必须找到并利用PDF阅读器软件中的漏洞。有几个PDF阅读器最常见的比如Adobe Reader。

Adobe Reader软件实现称为沙盒的安全功能,在查看器中也称为保护模式。

沙盒使得开发过程更加困难:即使代码执行完成,攻击者仍然需要绕过沙盒的保护措施,达到损害运行Adobe Reader的计算机。通常,沙箱旁路是通过利用操作系统本身的漏洞来实现的。

当攻击者能够发现漏洞并为Adobe Reader软件和操作系统两者一起编写漏洞攻击时,这种情况非常罕见。

CVE-2018-4990 - Adobe Reader中的RCE

恶意PDF样本嵌入了控制整个开发过程的Java代码。一旦PDF文件被打开,Java代码就会被执行。

在开发阶段,Java代码开始操纵Button1对象。该对象包含特制的JPEG2000图像,该图像在Adobe Reader中触发了双重漏洞。

图1.操作Button1对象的Java代码

Java使用堆喷技术来破坏内部数据结构。在所有这些操作之后,攻击者实现他们的主要目标:从他们的Java代码读取和写入内存访问。

图2.用于读写内存的Java代码

使用这两个基本元素,攻击者找到E.api插件的内存地址,该插件是Adobe Java引擎。使用来自该模块的汇编指令(ROP gadgets),恶意Java会设置一个ROP链,这将导致执行本地shellcode。

图3.构建ROP链的恶意Java

作为最后一步,shellcode初始化嵌入在PDF中的PE文件并将执行传递给它。

CVE-2018-8120 - Microsoft Windows中的权限升级

在利用Adobe Reader漏洞之后,攻击者必须打破沙盒。这正是我们正在讨论的第二个利用的目的。

此先前未知的漏洞的根本原因位于win32k Windows内核组件的NtUserSetImeInfoEx函数中。具体而言,SetImeInfoEx的子程序NtUserSetImeInfoEx不验证数据指针,允许空指针引用。

图4.反汇编的SetImeInfoEx例程

如图4所示,SetImeInfoEx函数需要一个指向已初始化的WINDOWSTATION对象的指针作为第一个参数。所述spklList如果攻击者创建一个新的窗口站对象,并将其分配给在用户模式的当前过程可能是等于零。因此,通过映射NULL页面并将指针设置为偏移量0x2C,攻击者可以利用此漏洞在内核空间中写入任意地址。应该注意的是,自Windows 8以来,用户进程不允许映射NULL页面。

由于攻击者有任意的写入原语,他们可以使用不同的技术,但在这种情况下,攻击者选择使用Ivanlef0u和Mateusz“j00ru”Jurczyk和Gynvael Coldwin描述的技术。攻击者通过重写全局描述符表(GDT)来设置一个调用门到Ring 0。为此,攻击者使用SGDT汇编指令获取原始GDT的地址,构建自己的表,然后使用上述漏洞重写原始表。

然后攻击使用CALL FAR指令执行一个特权级别的调用。

图5.反汇编的CALL FAR指令

一旦以内核模式执行代码,漏洞利用系统令牌替换当前进程的标记。

结论

最初,研究人员在发现了该样本。样本不包含最终有效的那个版本,尽管样本没有包含真正的恶意攻击过程,这可能表明它是刚开发出来就被捕获,但作者展示了在漏洞发现和利用写作方面的高水平技能。

ESET检测名称

JS / Exploit.Pdfka.QNV木马

Win32 / Exploit.CVE-2018-8120.A木马

SHA-1哈希

C82CFEAD292EECA601D3CF82C8C5340CB579D1C6

0D3F335CCCA4575593054446F5F219EBA6CD93FE

英文原版

https://www.welivesecurity.com/2018/05/15/tale-two-zero-days/

本文由华盟网编辑翻译,转载请注明出处
来源:搜狐                     时间:
2018-05-16

推荐阅读:叶紫网