我是如何用ai帮我快速复现clash-verge-rev 0day的

Clash Verge rev存在一个提权漏洞,在Mac、Linux和Windows都能进行提权,Mac和Linux下能提权到root,Windows下可以提权到SYSTEM。此漏洞包括最新发行的版本2.2.4-alpha以及之前的版本
https://github.com/clash-verge-rev/clash-verge-rev/issues/3428

复现流程

今早看见这个觉得挺有意思,然后正好我也是clash-verge老用户了,不得不看看了

首先看了一下官方的git 修补log,这块也让ai帮我进行了快速查看

我先将clash-verge-service的库拉取下来,通过copilot进行了prompt工程进行询问

图片[1]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

他帮我分析了完整的changelog加文件,并继续追问,直接定位到了关键函数位置

图片[2]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

所以关键问题是在bin_path,于是我问了bin_path怎么来的,他告诉了我是通过远程请求他的start_clash路由,然后传参数进来。

图片[3]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

这里我手工也进行了抓包分析,发现确实

图片[4]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

然而这块很明显是客户端传参到客户端的代码库。同理,定位到位置我继续询问ai进行分析。

图片[5]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

最后我又让他帮我构造,如何进行任意路径的二进制文件构造。

图片[6]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

然后测了一下,确实可以直接进行rce了。

图片[7]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

漏洞完整poc。

图片[8]-我是如何用ai帮我快速复现clash-verge-rev 0day的-魔法少女雪殇

核心问题就在于verge.yaml的clash_core,可以执行任意二进制文件,并且可以进行目录便利。so

有一说一有点鸡肋,不能直接通过订阅的config直接打。但是作为钓鱼还是一种不错的路径。

© 版权声明
THE END
喜欢就支持一下吧
点赞19 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容