CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

virusdefs

2017年5月23日 704点热度 0人点赞 0条评论

virusdefs

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

赛门铁克/诺顿反病毒引擎远程Heap/Pool内存损坏漏洞分析(CVE-2016-2208)

vul_wish2016-05-22共219122人围观 ,发现 9 个不明物体漏洞

8d4fd90c-2223-4f49-931e-acb940e5e462.png

近日,Symantec和Norton产品中使用的核心杀毒引擎被曝存在高危漏洞。它在解析用aspack早期版本打包的可执行文件时会发生缓冲溢出,导致内存损坏,Windows系统蓝屏。其CVE编号为CVE-2016-2208,CNNVD编号为CNNVD-201605-423。

漏洞详情

当程序解析使用aspack早期版本打包的可执行文件时,会触发缓冲区溢出漏洞。该漏洞发生在部分数据截断时,也就是SizeOfRawData值大于SizeOfImage值时。

这是一个远程代码执行漏洞,由于Symantec使用使用过滤器驱动程序来截取所有系统I/O,因此只需要通过邮件向受害者发送文件或链接就可以利用该漏洞。

在Linux、Mac和UNIX平台上,攻击者可利用该漏洞以root权限在Symantec或Norton进程中导致远程堆溢出。在Windows平台上则会导致内核内存损坏,而由于扫描引擎被加载到内核中,使得该漏洞成为一个ring0内存损坏漏洞。

该漏洞的利用方式是通过邮件或浏览器。文章后附加的测试实例中包含创建POC的源代码,可以对安装Norton Antivirus的系统进行错误检查,或使Symantec Enterprise Endpoint服务崩溃。

testcase.txt文件是一个预先建立的二进制文件,只需要点击下载就可以触发受影响系统的内核崩溃!!!

当该文件下载到磁盘中时,Symantec会分配SizeOfImage字节的空间,并将可用数据从截断部分复制到缓冲区,导致堆或缓冲池损坏。实际上,Symantec会执行下列序列:

char *buf = malloc(SizeOfImage);

memcpy(&buf[DataSection->VirtualAddress],

DataSection->PointerToRawData,

SectionSizeOnDisk);

以上的所有值和数据都是被攻击者控制的,因此会导致彻底的溢出。由于该漏洞存在于核心的扫描引擎中,Symantec的大部分产品都受到影响:

* Symantec Endpoint Antivirus (所有平台)

* Norton Antivirus (所有平台)

* Symantec Scan Engine (所有平台)

* Symantec Email Security (所有平台)

* 以及所有其他的Symantec反病毒产品

在基于Windows的Symantec终端杀毒软件中,该漏洞运行在ccSvcHost.exe进程中以NT AUTHORITY\SYSTEM权限执行代码。在基于Windows的Norton杀毒软件中,该代码会被加载到内核中,导致内核池损坏。

使用windbg进行故障检测分析

使用!analyze –v命令进行获取详细的检测信息:

1: kd> !analyze -v

输出结果为:

PAGE_FAULT_IN_NONPAGED_AREA (50)

//错误检测代码

Invalid system memory was referenced.  This cannot be protected by try-except,itmust be protected by a Probe.  Typicallythe address is just plain bad or it s pointing at freed memory.

//错误原因:无效的内存被引用

Arguments:

Arg1: 9e45c000, memory referenced.

Arg2: 00000001, value 0 = read operation, 1 = write operation.

Arg3: 82a81ff3, If non-zero, the instruction address whichreferenced the bad memory

   address.

Arg4: 00000000, (reserved)

//显示的参数

Debugging Details(检测详情):

WRITE_ADDRESS:  9e45c000Paged pool

//对应Arg1

FAULTING_IP:

nt!memcpy+33

82a81ff3 f3a5           rep movs dword ptr es:[edi],dword ptr [esi]

//发生错误时所执行的指令

MM_INTERNAL_CODE:  0

DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT

//错误类型,驱动错误

BUGCHECK_STR:  0x50

PROCESS_NAME:  NS.exe

//错误所属进程

CURRENT_IRQL:  2

//对应Arg2

ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500)x86fre

TRAP_FRAME:  9abd2094 --(.trap 0xffffffff9abd2094)

ErrCode = 00000002

eax=b0849800 ebx=00010000 ecx=00001201 edx=00000000 esi=b0844ffcedi=9e45c000

eip=82a81ff3 esp=9abd2108 ebp=9abd2110 iopl=0         nv up ei pl nz ac po nc

cs=0008  ss=0010  ds=0023 es=0023  fs=0030  gs=0000             efl=00010212

nt!memcpy+0x33:

82a81ff3 f3a5           rep movs dword ptr es:[edi],dword ptr [esi]

Resetting default scope

LAST_CONTROL_TRANSFER: from 82b28ce7 to 82ac4308

//错误时各寄存器的内容

使用.trap命令查看trap frame:

1: kd> .trap 0xffffffff9abd2094

ErrCode = 00000002

eax=b0849800 ebx=00010000 ecx=00001201 edx=00000000 esi=b0844ffcedi=9e45c000

eip=82a81ff3 esp=9abd2108 ebp=9abd2110 iopl=0         nv up ei pl nz ac po nc

cs=0008  ss=0010  ds=0023 es=0023  fs=0030  gs=0000             efl=00010212

nt!memcpy+0x33:

82a81ff3 f3a5           rep movs dword ptr es:[edi],dword ptr [esi]

使用db命令以byte格式显示esi寄存器中的内存

1: kd> db esi

b0844ffc  54 65 73 74 696e 67 53-79 6d 61 6e 74 65 63 45 TestingSymantecE

b084500c  78 70 6c 6f 6974 54 65-73 74 69 6e 67 53 79 6d xploitTestingSym

b084501c  61 6e 74 65 6345 78 70-6c 6f 69 74 54 65 73 74 antecExploitTest

b084502c  69 6e 67 53 796d 61 6e-74 65 63 45 78 70 6c 6f ingSymantecExplo

b084503c  69 74 54 65 7374 69 6e-67 53 79 6d 61 6e 74 65 itTestingSymante

b084504c  63 45 78 70 6c6f 69 74-54 65 73 74 69 6e 67 53 cExploitTestingS

b084505c  79 6d 61 6e 7465 63 45-78 70 6c 6f 69 74 54 65 ymantecExploitTe

b084506c  73 74 69 6e 6753 79 6d-61 6e 74 65 63 45 78 70 stingSymantecExp

使用lmvm命令查看AVEX15的详细信息

1: kd> lmvm AVEX15

start    end        module name

a1a1f000 a1bad180  NAVEX15    (no symbols)

Loaded symbol imagefile: NAVEX15.SYS

Image path:\??\C:\Program Files\NortonSecurity\NortonData\22.6.0.142\Definitions\VirusDefs\20160506.004\NAVEX15.SYS

Image name:NAVEX15.SYS

Timestamp:        Tue Oct 13 17:32:30 2015 (561DA29E)

CheckSum:         00195B98

ImageSize:        0018E180

Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4

该测试实例会产生如下可执行文件:

NAME RVA VSZ RAW_SZ RAW_PTR nREL REL_PTR nLINE LINE_PTR FLAGS
.data fff8 0 ffffffff 2000 0 0 0 0 0
.text fff8 0 1000 1000 0 0 0 0 0

其中包含漏洞利用的源代码。

测试实例:

testcase.txt

exploit.zip

*原文地址:project-zero,vul_wish编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

vul_wish

vul_wish45 篇文章等级: 6级
|
|
  • 上一篇:从安全漏洞看印度国家银行APP为何“技术落后10年”
  • 下一篇:看我如何用XSS“干掉”8/9的顶级杀软厂商

这些评论亮了

  • cwg2552298(6级)Follow my own course回复
    是liunx 不是inux :???:
    )7(亮了
  • thomas回复
    @ cwg2552298  是linux不是liunx
    )7(亮了
  • XXXX回复
    意思是WIN上不能远程执行咯。。。。。。。。。
    )7(亮了
  • Arch Vile(3级)回复
    意思是赛门还在用memcpy而不是memcpy_s?
    )7(亮了
  • 腾讯手机管家回复
    @ Arch Vile  memcpy本来就有长度参数 还有memcpy_s ?
    )7(亮了
发表评论

已有 9 条评论

  • cwg2552298 (6级)Follow my own course 2016-05-22回复1楼

    是liunx 不是inux :???:

    亮了(7)
    • thomas 2016-05-22回复

      @ cwg2552298  是linux不是liunx

      亮了(7)
      • KimJong-un 2016-05-23回复

        @ thomas 没趣

        亮了(6)
    • vul_wish (6级) 2016-05-23回复

      @ cwg2552298  抱歉,手抖了

      亮了(6)
  • a 2016-05-22回复2楼

    在inux、Mac和UNIX平台上

    亮了(6)
  • XXXX 2016-05-22回复3楼

    意思是WIN上不能远程执行咯。。。。。。。。。

    亮了(7)
  • Arch Vile (3级) 2016-05-22回复4楼

    意思是赛门还在用memcpy而不是memcpy_s?

    亮了(7)
    • 腾讯手机管家 2016-05-23回复

      @ Arch Vile  memcpy本来就有长度参数 还有memcpy_s ?

      亮了(7)
  • 煦冉 2016-06-02回复5楼

    已经修复了[挖鼻]

    亮了(4)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

vul_wish

vul_wish

这家伙太懒,还未填写个人描述!

45 篇文章5 条评论

相关阅读

  • 活在Web流量完全加密的世界里:FreeBuf专访赛门铁克全球高级业务发展总监Dean Coclin
  • 赛门铁克46.5亿美元巨额收购Blue Coat,安全专家表示这不合理!
  • 黑掉70多款监控摄像头?so easy!
  • Chrome for Android Download函数信息泄漏漏洞(CVE-2012-4906)
  • 支离破碎的无线防盗报警器让入侵者畅通无阻

特别推荐

关注我们 分享每日精选文章

不容错过

  • Tap Lan 实战之“伪装的路由”creturn2015-12-24
  • 动手搭建DDoS演练:揭秘在线DDoS攻击平台(下)ArthurKiller2016-07-05
  • 人大刚刚通过的《网络安全法》都有哪些看点?kuma2016-11-07
  • Python爬虫开发(五):反爬虫措施以及爬虫编写注意事项VillanCh2016-03-09

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me