SMB漏洞分析 去年的漏洞新年终于修复
创始人
2024-03-20 15:40:37
0

【51CTO.com 独家翻译】2009年1月13日,这又是一个黑色的星期二,(微软发布补丁都通常为星期二)微软发布了2009年的首个补丁,该补丁主要是修复了在CVE上曾经发表的微软操作系统中的srv系统驱动文件中的三个攻击地址漏洞。这个Srv系统驱动文件主要功能是提供SMB网络服务,包含了139端口和445端口。

去年该补丁于2008年9月14日发表在CVE,发表号为CVE-2008-4114。该漏洞可使得远程用户通过管道发送畸形包,来获得Windows底层信息。这个漏洞是非常有趣的,它可以触发内存拷贝,但是不能溢出,这是源程序中的一个漏洞。

当目标主机接收到了这个写请求,它会尝试从本地内存中读取信息,导致操作系统整个挂掉,只有重新启动操作系统。通常微软都会等到将bug漏洞的有效代码补丁编写完毕,而将该补丁文件在下一个打包补丁中发布,例如放在的XP操作系统的SP4补丁包中。

另外的两个漏洞分别发表在CVE-2008-4834 and CVE-2008-4835,这两个有一点点不同。这两个bug都可导致内存缓冲区溢出。攻击者发送一个比0要小些的,小于缓冲区的变量的信息请求,就会达到用空字节来覆盖并填写原有的内存缓冲区。

我们通过驱动代码和缓冲区来分配核心池,我们通常都用一串空字节来腐化下一个序列的核心池的池头。这将变得更加有意思起来。微软的公示里重述了这个危害,在这次发布的补丁中,针对上述严重的代码执行漏洞做了修复。但是还需要一个针对小的控制变量的输入来覆盖和重写核心池的解决方法。

还有一些代码的控制变量工作在这个区域,这是问题的焦点。我也知道,用代码来解决这个空字节覆盖下一序列的核心池头不是那么容易。

我同意随着这些漏洞的报告的发布,他们应更快更好的推出相应的系统补丁。来有效的防止类似dos攻击的发生,或者其它的恶意攻击。但是我相信他们通过一些代码来运行,不会有什么好的结果。以下是成功的exploit输出


Successful exploitation of the NULL byte overwrite bugs will result in an exception like the following:
BAD_POOL_HEADER (19)
Arg1: 00000020, a pool block header size is corrupt.
Arg2: e2008540, The pool entry we were looking for within the page.
Arg3: e20089f0, The next pool entry. <-- OVERWRITTEN HEADER (覆盖头)
Arg4: 0c96020e, (reserved)  (保留)
 
BUGCHECK_STR: 0x19_20
f61bac30 80543e86 00000019 00000020 e2008540 nt!KeBugCheckEx+0x1b
f61bac80 f694fad1 e2008548 00000000 f695d2b9 nt!ExFreePoolWithTag+0x2a0
f61bac8c f695d2b9 00000021 e2008550 821e5bd0 srv!SrvFreePagedPool+0x2a
f61baca0 f695771c 820d1610 e2008550 821f1038 srv!SrvFreeTransaction+0x68
f61bacb4 f6958349 00000000 821f1038 e2008550 srv!SrvDereferenceTransaction+0x6b
f61bacec f695786b 00000000 0000001e 821f1038 srv!SrvCompleteExecuteTransaction+0xd0
f61bad04 f6958115 f694be34 821f1038 821f2058 srv!ExecuteTransaction+0x333
f61bad7c f693f836 821f1040 821f2020 f694fa98 srv!SrvSmbTransaction+0x7ac
f61bad88 f694fa98 00000000 8202e200 00000000 srv!SrvProcessSmb+0xb7
 
SYMBOL_NAME: srv!SrvFreePagedPool+2a
MODULE_NAME: srv
IMAGE_NAME: srv.sys
 
kd> dd e2008540 (current entry)(当前入口)
e2008540 0c96020e 7274534c 000004a0 00000000
e2008550 04a0030c 00000000 820d1610 821e5bd0
 
kd> dd e20089f0 (overwritten entry header)(覆盖入口)
e20089f0 00000000 00000000 00000000 00000000
e2008a00 00000000 00000000 00000000 82270000


引用地址为:http://www.breakingpointsystems.com/community/blog/2009_microsoft_tuesday_coverage


【51CTO.COM 独家翻译,转载请注明出处及译者!】

【编辑推荐】

  1. Microsoft网络共享器SMB请求远程缓冲区溢出漏洞
  2. Windows SMB拒绝服务攻击、非法权限增大漏洞
  3. 双节期间:微软忙补新漏洞,新Hash将测试

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...