大晚上的当然适合聊点黑客的事,聊一个最近刷到的漏洞的复现,先叠个甲,【夜谈漏洞】这个系列里的漏洞基本都是高危级的,其他平台其他人都发过发过很多科普和复现,如有类似的文章,纯属巧合。
为什么把这个漏洞放在最开始讲呢?因为我最近复现漏洞的时候才发现,我电脑里的winrar竟然还有这个漏洞没有修复(版本在6.23之前的都有这个漏洞)!?这个漏洞从发现收录到CVE中少说也有一年多了,我竟然一直没关心。
下面稍微聊一下这个漏洞,然后试着复现一下,就用我这千疮百孔的笔记本
CVE-2023-38831(Winrar RCE)漏洞,利用的原理是Winrar6.23版本之前,在用户点击文件进行文件释放/执行的过程中释放了额外的恶意文件。
在释放结束后,Winrar会调用ShellExecute函数打开该文件,即命令处理函数,其在打开文件的过程中会对文件的文件名/路径进行处理。
如果文件的末尾为空格” ”,就会在其末尾添加.*通配符,最终导致用户的点击的文件没有正确执行却错误的执行了恶意文件。
简单来说,就是一个文件名最后加上一个空格,就会被解读成.bat或.cmd被win的命令行运行。
我们随便写一个漏洞生成程序gen.py(其实是我直接从github上copy的),它的作用就是打包攻击BAT到一个无用的文件(比如PDF或者PNG)里,集成为一个RAR文件,用户看到的只是那个图片或者PDF,但是解压运行就是BAT(因为win的文件策略,如果以BAT运行一个png文件,那么就会检索文件内容中的命令并执行)。
我们拿凡三岁老师很喜欢用的一张表情包作为复现示例“sansui.png”:
把漏洞脚本设置为打开计算器(通过命令行,理论上如果可以利用命令行打开计算器,那么基本就属于为所欲为了)
运行脚本构造RAR压缩包,生成攻击RAR:“sansui.rar”
打开该RAR,双击图片,发现计算器被调用:
注意的是,WINRAR没有自动更新,所有大部分人的电脑其实都可以被这个漏洞攻击(即使这个漏洞这是一年前发现的),很多人可能感觉没啥用,但是事实上直到现在仍有不少的黑客组织正在积极的利用此漏洞发起网络钓鱼攻击,能更新还是更新一下吧。
万一哪天就收到别人发的表情包的压缩包了呢