公开个Nday(图)

所属分类: 网络安全 / 黑客教程 阅读数: 197
收藏 0 赞 0 分享
08046估计国内很多小牛大牛搞出来了.最早知道有这么个洞大约是在今年三四月份,听某牛man说有个系统默认支持的图片格式的洞,结果四月份出了个MS08-021,POC也有公开的,当时以为传言指的就是这两个"鸡肋".没想到8月份MS又出了MS08-046,分析过程如下:
先认真看了一遍MS的公告,从公告中可以知道文件格式是EMF,出错模块是MSCMS,具体有漏洞的地方和ICC文件有关系.这样看来PoC应该和MS08-021有点类似.
然后是补丁比较,由于MSCMS模块只有80KB,很快就可以找到出错函数名为OpenColorProfileW,分析出错函数虽然我没有看出有明显的溢出,但知道了该函数主要是通过一个传递过来的文件名(文件名长度要小于104h),在文件名前面补上一个系统目录后再打开这个文件.同时补丁后的功能在处理文件名的时候对长度做了一些处理,所以估计为ICC文件名长度超长所造成的溢出.
第三步构造POC,由于有分析MS08-021的经验,我知道在EMF文件中与ICC文件名相关的Recoder只有几个,在MSDN中都可以搜到,于是写了个GUI程序,然后依次调用GetDC,GetClientRect,CreateEnhMetaFile,SetICMProfileA,CloseEnhMetaFile,ReleaseDC等API构造了一个模版,然后在OpenColorProfileW入口处下断点,就发现在处理SetICMProfileA这个API函数所生成的EMR_SETICMPROFILEA记录时可以走到断点处.但是并不会走到出错的代码块,分析了一下代码流层原来所传入的文件名一是不能超过104h二是文件名的开头必须要以http://开头(怪不得分析08021的时候没找到这个洞).
该写EXP了,由于构造出了POC,也就很容易的发现了出错原理为:在分配存放文件名和路径的内存的时候计算长度是用的lstrlenW,所以造成分配的内存空间只有实际COPY数据的一半,这样就覆盖了后面的堆管理结构及其它一些数据.到这儿漏洞已经可以定性了,就是一个比较标准的堆溢出,在后面的释放或是合并这个堆的时候会造出指针互写的错误,当然由于XPSP2所增加的安全机制,造成这个洞很难利用.不过在IE中有时异常会发生在call [ecx xx]或是mov ecx,[eax](后面是call [ecx xx]),而ECX,EAX为我们传入的文件名转换为UNICODE后的值.再次调试分析后发现:超长串所覆盖的数据中有时会是一个函数指针,而在这个堆释放或是合并之前就会引用这个函数指针.所以一种可能的利用方法就是在IE中用HEAP SPRAY的方法和该漏洞结合.EMF文件中填充的字符串为0040007X(另外为了增大覆盖函数指针的机率你还可以多加几个有超长文件名的记录),或是用JAVA分配内存填充数据为2xXXXXXX.
POC附图:


更多精彩内容其他人还在看

必须了解的黑客入侵网站的十条原因及相应抵御方法

Internet Explorer、Firefox和Windows操作系统中包括许多可以被黑客运用的缝隙,特别是在用户常常不及时装置补丁的情况下。
收藏 0 赞 0 分享

如何有效的抵抗DDOS的方法介绍

DDOS的损害我这里就不说了,咱们可以经过批改注册表来减小DDOS对咱们的损伤.
收藏 0 赞 0 分享

中小网站如何对付拒绝服务攻击

 DoS(Denial of Service)是一种使用合理的效劳恳求占用过多的效劳资源,从而使合法用户无法得到效劳呼应的网络进犯行为。
收藏 0 赞 0 分享

黑客专家教你设计不易破解的密码以及注意事项

  美国一家密码管理应用提供商SplashData 公司近期总结出2012年度最差的25个密码,美国《纽约时报》作家尼克尔·佩尔荣斯近日撰文指出,密码要想不被黑客猜中,有几点非常重要的注意事项。
收藏 0 赞 0 分享

神秘的影子帐号揭秘

见名思义,帐号具有隐蔽性,不容易被发现(只是在一定程度上)。即一般的菜鸟发现不了
收藏 0 赞 0 分享

黑客基础知识 常用命令和快捷键大全

很多用户可能都知道在DOS模式下可以进行命令行的黑客命令操作,可总有用户不知道从哪里下手,看了下文您应该可以有一点启示
收藏 0 赞 0 分享

metasploit利用IE漏洞XSS挂马拿内网主机

metasploit内网渗透方面好多方式,这只是科普下xss在内网中的利用。
收藏 0 赞 0 分享

删除用户时提示无法在内置账户上运行此操作

一般情况写黑客在入侵服务器后都会添加新的用户或者和设置后门程序.如果大家在使用服务器的过程中发现,出现了不能删除的用且账号不能够正常删除提示无法在内置账号进行此操作。
收藏 0 赞 0 分享

教你使用搜索引擎批量检测网站注入点

以前很多新手朋友在通过查看网站是否存在注入点,的时候往往会通过搜索引擎批量检测。
收藏 0 赞 0 分享

使用搜索引擎搜索资料的方法

学习使用搜索引擎是电脑学习者必须掌握的一项技能,我们平时碰到的很多问题都可以在搜索引擎里面找到答案,比如我们要下载某个游戏,直接搜索那个游戏名字即可,非常的方便。下面,让我们一起来学习一下关于搜索引擎的使用方法。
收藏 0 赞 0 分享
查看更多