CVE-2023-22809 (sudo提权漏洞)

admin 2023年4月26日18:40:02评论159 views字数 1348阅读4分29秒阅读模式
CVE-2023-22809 (sudo提权漏洞)
点击上方蓝字 关注安全知识

前言:
漏洞具体实现可以自行查看,推荐去看原文章。
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版本受影响
可以使用此命令进行查看

CVE-2023-22809 (sudo提权漏洞)

1.3漏洞复现
首先我们先修改/etc/soduers配置文件,这个也是关键
CVE-2023-22809 (sudo提权漏洞)

打开以后我们在文件最后面写入一串配置
CVE-2023-22809 (sudo提权漏洞)

具体格式就是: xxx ALL=(ALL:ALL) sudoedit /etc/xxx 其中第一个xxx是你要进行提权的普通用户的用户名,第二是etc下的一个随意文件(这里具体哪些能行哪些不能行,我也不知道,我测试的vim和xml都可以执行,多试试)
输入wq!进行保存
CVE-2023-22809 (sudo提权漏洞)

然后我们切换普通用户
CVE-2023-22809 (sudo提权漏洞)

在环境变量中输入
EDITOR='vim -- /path/to/extra/file'
会被解析成
vim -- /path/to/extra/file -- /path/from/policy
在环境中注入额外的双破折号时,这种行为会导致混乱用于查找编辑器的变量(这个地方看不懂可以去研究一些源码,我们这里只讲利用)
我们切换到普通用户以后向里面输入攻击代码

CVE-2023-22809 (sudo提权漏洞)

我们就可以在普通用户命令行里面通过指定vim编辑器打开/etc/passwd文件,将root用户修改成我们自己
CVE-2023-22809 (sudo提权漏洞)

输入密码
CVE-2023-22809 (sudo提权漏洞)

到这一步应该就知道干这么弄了吧
将root修改成我们当前使用的普通用户名,完成提权
CVE-2023-22809 (sudo提权漏洞)

保存退出,然后 su xxx切换到用户中
CVE-2023-22809 (sudo提权漏洞)

那么恭喜现在你就是最高权限用户了
如果想要修护可以将受影响的环境变量添加到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
此文借鉴了其他大佬文章也有部分个人理解,供大家学习。

往期精选

原文始发于微信公众号(Rot5pider安全团队):CVE-2023-22809 (sudo提权漏洞)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月26日18:40:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-22809 (sudo提权漏洞)http://cn-sec.com/archives/1676518.html

发表评论

匿名网友 填写信息