hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. 漏洞分析
  3. WEB
  4. 正文

CVE-2023-40477 WinrarRCE漏洞

2023年10月7日 1620点热度 0人点赞 0条评论

实验环境

推荐使用的环境 备注
操作系统 Windows 10
虚拟机
调试器 Windbg
反汇编器 IDA Pro
漏洞软件 Winrar 6.22
补丁比较工具 Bindiff

静态分析

首先查看漏洞编号获取信息。

fig:

可以得到一些模糊的信息,如漏洞产生的地点在于恢复卷(recovery volumes),漏洞的原因是在于没有对用户提交的数据进行校验,可能导致缓冲区溢出,从而导致RCE。

从rarlab上能得到更多信息,如发生的漏洞是处理RAR 3.0格式,触发的漏洞条件是解压与格式错误的rev文件同一目录下的rar文件。

fig:

使用bindiff对比查看6.22和6.23版本的unrar.exe(winrar.exe可能只是一个GUI)。发现多了一些额外的检测,看起来很像对溢出的检测。

fig:

fig:

由于该检测与255进行比较,可以去尝试搜索unrar的源代码,并在其中搜索255这个值。由于2023年9月10日存在漏洞的该库代码已经修复,并且没有一个好的分支管理,所以只能看到修复后的结果如图。

fig:

漏洞产生的unrar代码。

fig:

如今修复后的代码。

fig:

可以发现控制SrcFile索引的本质是P[2]+P[0]-1,而检测只对P[1]+P[2] > 255进行了检测。而SrcFile的容量为256。

fig:

动态分析

为了触发漏洞,我们需要调用bool RecVolumes3::Restore(CommandData *Cmd,const wchar *Name,bool Silent)函数,所以需要构造rar3的恢复卷。

Windbg Attach进程,触发崩溃。

fig:

栈回溯如下:

fig:

使用Unrar.exe

fig:

IDA查看

fig:

fig:

由于本次分析32位和64位混杂,所以会看起来比较乱。

总结

  1. 关于此处复现有几个问题没弄清除,rev格式文件的详解没有找到,所以并不懂PoC是如何编写的。
  2. 其次本次漏洞利用能覆盖的数据为Array类型的Buff,但是会收到ASLR,DEP,GS,CFG防护措施的影响。但是我想既然能覆盖对象,为什么不尝试覆盖虚函数呢?后续进行漏洞利用的学习的时候可以回来再看看。
  3. 最后就是补丁分析,发现者究竟是如何从那么多差异中确定该补丁的作用呢?是每一个都看过了还是怎么样(当然,补丁中的信息和漏洞描述可以对上,这是否是确定的证据之一呢)

参考文献

https://www.zerodayinitiative.com/advisories/ZDI-23-1152/

https://wildptr.io/winrar-cve-2023-40477-poc-new-vulnerability-winrar-security-research/

https://github.com/search?q=repo%3Apmachapman%2Funrar%20255&type=code

标签: 漏洞
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 实验环境
  • 静态分析
  • 动态分析
  • 总结
  • 参考文献

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
sqli-labs 31-40 nmap流量特征及其用法详细 AES加密 RTSPServer StackOverflow Vulnerability 加密与解密 第8章 上 Cobalt Strike 初探

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1