前言:
漏洞具体实现可以自行查看,推荐去看原文章。
1.1 漏洞简述
由于Sudo中的sudoedit对处理用户提供的环境变量(如SUDO_EDITOR、VISUAL和EDITOR)中传递的额外参数存在缺陷。当用户指定的编辑器包含绕过sudoers策略的 " --" 参数时,拥有sudoedit访问权限的本地攻击者可通过将任意条目附加到要处理的文件列表中,最终在目标系统上实现权限提升。除外,该漏洞还影响部分QNAP操作系统:QTS、QuTS hero、QuTScloud、QVP(QVR Pro设备)。
1.2漏洞范围
sudo 1.8.0到1.9.12p1版本受影响
可以使用此命令进行查看
1.3漏洞复现
首先我们先修改/etc/soduers配置文件,这个也是关键
打开以后我们在文件最后面写入一串配置
具体格式就是: xxx ALL=(ALL:ALL) sudoedit /etc/xxx 其中第一个xxx是你要进行提权的普通用户的用户名,第二是etc下的一个随意文件(这里具体哪些能行哪些不能行,我也不知道,我测试的vim和xml都可以执行,多试试)
输入wq!进行保存
然后我们切换普通用户
在环境变量中输入
EDITOR='vim -- /path/to/extra/file'
会被解析成
vim -- /path/to/extra/file -- /path/from/policy
在环境中注入额外的双破折号时,这种行为会导致混乱用于查找编辑器的变量(这个地方看不懂可以去研究一些源码,我们这里只讲利用)
我们切换到普通用户以后向里面输入攻击代码
我们就可以在普通用户命令行里面通过指定vim编辑器打开/etc/passwd文件,将root用户修改成我们自己
输入密码
到这一步应该就知道干这么弄了吧
将root修改成我们当前使用的普通用户名,完成提权
保存退出,然后 su xxx切换到用户中
那么恭喜现在你就是最高权限用户了
如果想要修护可以将受影响的环境变量添加到env_delete拒绝列表中。或者更新版本
env_delete+="SUDO_EDITOR VISUAL EDITOR"Cmnd_Alias
SUDOEDIT = sudoedit /etc/custom/service.confuser
user ALL=(ALL:ALL) SUDOEDIT
#在复现过程中,遇到了编辑器的版本问题,vim 8.0 没办法使用那条攻击命令报错是说vim不能使用--参数,但是换了一个环境的ubuntu下的vim8.1就可以执行,具体问题不是很清楚,可以多试试。想要完整利用这个漏洞需要两步,我们登录普通用户以后需要使用一个脚本向/etc/sudoers 里面写入我们上面说的,写入以后才能进行攻击。脚本在github上有,使用者可以根据具体需求进行修改(链接:GitHub - n3m1dotsys/CVE-2023-22809-sudoedit-privesc: A script to automate privilege escalation with CVE-2023-22809 vulnerability)文章来源:https://www.toymoban.com/news/detail-456509.html
此文借鉴了其他大佬文章也有部分个人理解,供大家学习。文章来源地址https://www.toymoban.com/news/detail-456509.html
到了这里,关于CVE-2023-22809复现(Rot5pider安全团队)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!