【CVE-2018-20250】WinRAR漏洞浅谈

2019-02-25 17:32:52 7102


    上周末高高兴兴回家打算开始周末,好友发来信息聊起当天曝出的一个漏洞,其实这个漏洞的利用条件很有限,实际危害并不是很高,可是这个漏洞令人恐惧的是已经遗留了19年,并且影响到全球5多亿的WinRAR用户,所以当今天周一来上班的时候,成了圈子里热议的话题。


    好奇心驱使之下,开始了复现研究的过程。先看看原理。

    

    根据Check Point研究人员的说法,该问题是因UNACEV2.dll代码库中的一个深藏已久的漏洞引起的,而且该代码库从2005年以来就一直没有被主动使用过。据了解,该代码库用于解析ACE格式,这是一种可以追溯到20世纪90年代常用的压缩格式。


    攻击者可以制作一个恶意的ACE文件,当被WinRAR 打开的时候,会利用UNACEV2.dll中的路径遍历漏洞欺骗归档工具将文件解压到攻击者选择的路径中。研究人员试图将ACE 恶意文件放到启动文件夹中以便在系统启动时执行。


                                                                                                                                                                        ——引用自FreeBuf


我们来看看FreeBuf的文章。(文章链接)


这是比较底层的实现原理,实现过程就是在压缩包里恶意插入代码,使压缩包在解压缩的时候,会执行命令把“脏程序”悄悄的放置在开机启动项中。


image.png



至于实现还是比较复杂的,我是借用Github站点一套Python程序,完成复现。


image.png


源码配置部分如上图,对封装的文件名称、脏程序名称、压缩后名称进行配置即可执行打包。在环境机上,解压缩后,重启测试。


image.png


复现完成,但是在其之后的研究过程中,发现这个漏洞利用性其实非常有限。


因为脏程序路径涉及到用户名,所以目前这个定位方法是非常不可靠的,经过多环境试验,发现只有在桌面进行解压才具有相当的稳定性。


最终对此漏洞总结,如果能利用好复杂环境,此漏洞是Happy fun的,但在不能保证目标环境的前提下,也许需要更好的思路来利用这个漏洞。

        复现代码和一些过程就不放出来了,感兴趣的朋友可以搜索相关资料了解。Happy fun~!

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: