CVE-2021-3156漏洞复现
漏洞名称:Linux sudo权限提升漏洞
漏洞描述:1月26日,sudo发布安全通告,修复了一个类Unix操作系统在命令参数中,转义反斜杠时存在基于堆的缓冲区溢出漏洞。当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或-i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。因此只要存在sudoers文件(通常是/etc/sudoers),攻击者就可以使用本地普通用户,利用sudo获得系统root权限。
漏洞范围:
1.8.2-1.8.31p2、
1.9.0-1.9.5p1
实验步骤实操:
查看Ubuntu系统版本信息:Ubuntu 18.04.1 LTS
查看sudo版本: sudoedit 1.8.21p2
接下来的命令需要普通用户来执行
如果弹出来的是sudoedit开头,那么当前系统可能存在风险
如果弹出来的是usage,则是不受影响的
接下来进行sudo权限提升漏洞利用
下载poc并解压 https://haxx.in/CVE-2021-3156_nss_poc_ubuntu.tar.gz
可以看到解压之后有一个CVE-2021-3156-main
利用CVE-2021-3156
这个文件。
Cd进到这个CVE-2021-3156-main
,输入make
命令
make:代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。
任何只要某个文件有变化,就要重新构建的项目,都可以用Make构建。
./sudo-hax-me-a-sandwich
当前目录下的运行文件
看到有三个版本可以利用,使用 0 版本进行测试
输入whoami/id 可以看到获取root管理员权限
修复建议:
升级版本号:
https://www.sudo.ws/dist/