当前位置: 首页 > article >正文

从CVE-2021-4034到CVE-2021-3156:手把手复现Linux两大本地提权漏洞(附修复方案)

从CVE-2021-4034到CVE-2021-3156Linux本地提权漏洞深度实战指南凌晨三点安全团队的告警系统突然亮起红灯——又一台服务器被标记存在高危漏洞。作为运维负责人你必须在最短时间内判断风险等级、验证漏洞真实性并制定修复方案。本文将带你深入两个近年来影响最广泛的Linux本地提权漏洞Polkit的PwnKitCVE-2021-4034和Sudo的堆溢出CVE-2021-3156。不同于简单的漏洞描述我们会从实战角度还原完整的漏洞分析过程包括如何快速搭建漏洞验证环境两种漏洞利用技术的本质差异企业环境中最有效的临时缓解措施长期修复方案的选择与验证无论你是安全研究人员需要复现漏洞细节还是系统管理员负责应急响应这篇文章都将提供可直接落地的技术方案。1. 漏洞背景与影响范围2021年对Linux安全来说是充满挑战的一年。两个影响深远的本地提权漏洞相继曝光分别击穿了系统权限管理的两大核心组件Polkit和Sudo。虽然最终效果都是获取root权限但它们的攻击路径和技术原理却大相径庭。CVE-2021-4034PwnKit关键特征影响组件Polkit的pkexec漏洞类型环境变量注入利用条件任何非特权用户CVSS评分7.8高危特殊优势无需任何用户凭证CVE-2021-3156Baron Samedit关键特征影响组件Sudo漏洞类型堆缓冲区溢出利用条件需在sudoers列表中CVSS评分7.0高危特殊限制需要知道用户密码影响范围对比表维度CVE-2021-4034CVE-2021-3156默认存在漏洞的版本2009年后的所有Polkit版本Sudo 1.8.2 - 1.8.31p2主要受影响发行版CentOS/RHEL 6-8, Ubuntu 14-21CentOS 6-8, Ubuntu 18-20利用复杂度简单公开PoC直接可用中等需特定参数构造横向移动风险极高蠕虫级漏洞有限需账户凭证实际案例某云服务商在PwnKit披露后24小时内就监测到批量扫描行为48小时后出现自动化攻击工具。相比之下Sudo漏洞更多被用于针对性攻击。2. 漏洞原理深度解析2.1 PwnKitCVE-2021-4034技术细节Polkit的设计初衷是为系统提供精细化的权限管理但正是这个安全组件自身出现了致命缺陷。漏洞根源在于pkexec对参数处理的逻辑错误// 有问题的参数处理逻辑 if (argc 0) { // 错误地认为argv[1]是环境变量 envp argv[1]; }攻击者可以通过精心构造的环境变量实现任意代码执行。具体攻击链如下通过execve调用pkexec并传递空参数数组pkexec错误地将环境变量当作参数读取注入的GCONV_PATH变量触发动态链接器加载恶意.so恶意库中的构造函数函数以root权限执行关键验证命令# 构造恶意环境变量 export GCONV_PATH/tmp/exploit # 触发漏洞 execve /usr/bin/pkexec []2.2 Sudo堆溢出CVE-2021-3156工作机制与Polkit不同Sudo漏洞源于经典的缓冲区溢出问题。当处理命令行参数时特殊构造的输入会导致堆内存越界// sudoers.c中的问题代码 if (user_details.uids[0] (uid_t)-1) { // 错误的长度计算导致溢出 memcpy(dest, src, incorrect_length); }利用这个漏洞需要满足三个条件目标用户在sudoers列表中知道该用户密码Sudo版本在受影响范围内典型攻击向量# 触发溢出的特殊参数格式 sudo -u #-1 $(perl -e print A x 1000)3. 漏洞复现实战指南3.1 实验环境准备建议使用虚拟机搭建测试环境以下是推荐配置组件PwnKit测试环境Sudo漏洞测试环境操作系统Ubuntu 20.04 LTSCentOS 7.9漏洞软件版本polkit-0.105-26ubuntu1sudo-1.8.23-10.el7内核版本5.4.0-91-generic3.10.0-1160.el7.x86_64环境搭建步骤安装基础系统禁用自动更新安装特定版本软件包# Ubuntu安装旧版polkit sudo apt install policykit-10.105-26ubuntu1 # CentOS安装旧版sudo sudo yum install sudo-1.8.23-10.el7验证版本# 检查polkit版本 pkexec --version # 检查sudo版本 sudo --version3.2 PwnKit复现步骤下载公开PoCgit clone https://example.com/pwnkit-exploit.git cd pwnkit-exploit make执行漏洞利用./exploit验证结果whoami # 应显示root常见问题解决如果遇到permission denied检查pkexec的SUID位ls -l /usr/bin/pkexec编译错误可能是缺少gcc或make安装开发工具包sudo apt install build-essential3.3 Sudo漏洞复现方法准备利用代码Python示例import os payload A * 1000 os.system(fsudo -u \\#-1 {payload})执行并观察崩溃日志dmesg | tail -n 20完整利用需要构造ROP链略4. 修复方案与防护措施4.1 临时缓解方案对于PwnKit# 移除pkexec的SUID位 chmod 0755 /usr/bin/pkexec # 验证防护效果 ./exploit # 应失败对于Sudo漏洞# 限制sudo命令长度 echo Defaults pwfeedback /etc/sudoers4.2 永久修复方案各发行版升级命令发行版PwnKit修复命令Sudo漏洞修复命令Ubuntusudo apt install policykit-1sudo apt install sudoCentOSsudo yum update polkitsudo yum update sudoRHELsudo dnf upgrade polkitsudo dnf upgrade sudo验证修复# 检查polkit版本 rpm -q polkit # 应 0.116-7 # 检查sudo版本 sudo --version # 应 1.9.5p24.3 深度防御建议实施最小权限原则定期审核sudoers文件使用visudo进行语法检查系统加固措施# 启用内核防护 echo 1 /proc/sys/kernel/randomize_va_space监控与检测审计pkexec和sudo的异常调用监控/etc/passwd和/etc/shadow的异常修改在一次金融系统的渗透测试中我们发现虽然系统已经修补了Sudo漏洞但由于未清理测试账户攻击者仍然可以利用弱密码和残留的sudo权限进行提权。这提醒我们漏洞修复后的清理工作同样重要。

相关文章:

从CVE-2021-4034到CVE-2021-3156:手把手复现Linux两大本地提权漏洞(附修复方案)

从CVE-2021-4034到CVE-2021-3156:Linux本地提权漏洞深度实战指南 凌晨三点,安全团队的告警系统突然亮起红灯——又一台服务器被标记存在高危漏洞。作为运维负责人,你必须在最短时间内判断风险等级、验证漏洞真实性并制定修复方案。本文将带你…...

重新定义效率革命:baidupankey技术突破与数字资源获取范式转移

重新定义效率革命:baidupankey技术突破与数字资源获取范式转移 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在数字资源分发的生态系统中,信息获取效率已成为制约知识流动的关键瓶颈。传统云存储服务…...

如何用 UnrealPakViewer 快速分析虚幻引擎资源包:完整教程指南

如何用 UnrealPakViewer 快速分析虚幻引擎资源包:完整教程指南 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer 是一款功…...

你的密码字典真的够强吗?用Hydra搭配Seclists定制专属攻击字典

密码字典的终极进化:从通用词库到精准爆破的艺术 在渗透测试的世界里,密码爆破就像一场精心策划的狩猎——而你的字典质量直接决定了是满载而归还是空手而回。太多安全从业者沉迷于工具的使用技巧,却忽视了最基础也最关键的环节:字…...

不止于计数:用MCNP的FS卡玩转空间分辨,给你的模拟结果加个‘高德地图’

不止于计数:用MCNP的FS卡玩转空间分辨,给你的模拟结果加个‘高德地图’ 在蒙特卡罗模拟的世界里,我们常常满足于一个总数值——反应堆堆芯的总功率、肿瘤靶区的总剂量、屏蔽体的总泄漏量。但真正的物理洞察往往藏在细节里:堆芯哪个…...

BitNet b1.58-2B-4T实战指南:WebUI离线使用与本地模型缓存策略

BitNet b1.58-2B-4T实战指南:WebUI离线使用与本地模型缓存策略 1. 项目概述 BitNet b1.58-2B-4T是一款革命性的1.58-bit量化开源大模型,采用独特的-1、0、1三值权重设计(平均1.58 bit),配合8-bit整数激活&#xff0c…...

八大网盘直链解析神器:一键获取真实下载地址的完整解决方案

八大网盘直链解析神器:一键获取真实下载地址的完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

KMS_VL_ALL_AIO终极指南:5分钟快速搞定Windows和Office永久激活

KMS_VL_ALL_AIO终极指南:5分钟快速搞定Windows和Office永久激活 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统未激活而烦恼吗?是否因为Office办公软件…...

别再死记硬背了!用SV中的Semaphore(旗语)解决多线程资源争抢,保姆级代码示例带你搞懂get/put

别再死记硬背了!用SV中的Semaphore(旗语)解决多线程资源争抢,保姆级代码示例带你搞懂get/put 想象一下你正在管理一个只有三把钥匙的会议室,十位同事需要轮流使用。如果放任大家随意进出,必然会出现混乱和冲…...

Qwen3.5-9B-GGUF基础教程:llama-cpp-python callback函数实现流式进度

Qwen3.5-9B-GGUF基础教程:llama-cpp-python callback函数实现流式进度 1. 项目概述与模型介绍 Qwen3.5-9B-GGUF是阿里云开源的Qwen3.5-9B模型经过GGUF格式量化后的版本。这个90亿参数的稠密模型采用了创新的Gated Delta Networks架构和混合注意力机制(…...

LabVIEW颜色识别实战:用IMAQ ColorMatch函数5分钟搞定产品颜色分拣

LabVIEW工业级颜色分拣系统实战:从参数调优到产线部署全解析 在一条高速运转的自动化生产线上,不同颜色的零件正以每秒3个的速度通过传送带。传统人工分拣不仅效率低下,误差率更是高达15%。而借助LabVIEW的IMAQ视觉工具包,我们仅用…...

ESP32 RMT实战:手把手教你用ESP-IDF驱动WS2812灯带(附完整代码)

ESP32 RMT实战:手把手教你用ESP-IDF驱动WS2812灯带(附完整代码) 在智能家居和物联网项目中,可编程RGB灯带因其丰富的色彩表现和灵活的编程能力而广受欢迎。WS2812作为其中最具代表性的产品之一,仅需单线控制即可实现全…...

HarmonyOS 6.0 HDS 深度实战:悬浮页签与沉浸光感架构解析(API 23+)

随着 HarmonyOS 6.0(API 23)的正式发布,HDS(HarmonyOS Design System)设计系统迎来了质的飞跃。悬浮页签(Floating Tabs)与沉浸光感(Material Component)作为构建“空间化…...

进度管理软件选购参考:8款各有侧重的工具

进度猫:以甘特图为核心的轻量级可视化利器 进度猫是一款以甘特图为向导的轻量级项目管理软件,主打“让项目管理一目了然”。它基于甘特图进行任务拆分和进度管理,系统会自动更新任务进度并用颜色标识不同状态,帮助项目经理及时识别…...

保姆级教程:在Ubuntu 18.04上为ORB-SLAM2添加彩色点云地图(含PCL库避坑指南)

在Ubuntu 18.04上实现ORB-SLAM2彩色点云地图的全流程指南 当第一次看到ORB-SLAM2生成的稀疏特征点时,我意识到视觉SLAM的潜力远不止于此。直到成功运行彩色点云建图版本,那种从二维图像到三维稠密重建的震撼感,才真正让我理解了SLAM技术的魅力…...

HTTrack跨平台部署实战:从Windows配置到Linux编译的完整指南

HTTrack跨平台部署实战:从Windows配置到Linux编译的完整指南 【免费下载链接】httrack HTTrack Website Copier, copy websites to your computer (Official repository) 项目地址: https://gitcode.com/gh_mirrors/ht/httrack HTTrack Website Copier 是一款…...

如何快速掌握Figma中文界面:3分钟完成安装的完整指南

如何快速掌握Figma中文界面:3分钟完成安装的完整指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾经面对全英文的Figma界面感到无从下手?作为设计师&…...

IIR滤波器设计实战:从Butterworth到参数调优的完整指南

IIR滤波器设计实战:从Butterworth到参数调优的完整指南 在数字信号处理领域,IIR(无限冲激响应)滤波器因其高效的频率选择特性而广受欢迎。与FIR滤波器相比,IIR滤波器能够在相同性能要求下使用更少的计算资源&#xff…...

5 款 AI 写论文哪个好?2026 实测:真文献 + 实图表,虎贲等考 AI 成毕业论文首选

毕业季选 AI 写论文工具,最纠结的莫过于 “5 款 AI 写论文哪个好”—— 通用 AI 文献造假、轻量工具功能残缺、专项平台适配不足,能同时满足真实文献、可溯源数据、学术规范图表、全流程写作的工具少之又少。经过对 5 款主流 AI 论文工具的深度实测&…...

国产ZYNQ四核ARM实战:手把手教你用SGI中断实现CPU0与CPU1的核间通信

国产ZYNQ四核ARM实战:SGI中断实现CPU核间通信全解析 在嵌入式系统开发中,多核处理器间的协同工作一直是提升性能的关键。国产ZYNQ平台搭载的四核ARM Cortex-A9处理器,为高性能嵌入式应用提供了强大支持。本文将深入探讨如何利用SGI&#xff0…...

JAVA旅游路线规划小程序开发源码uniapp代码片段

开发环境准备确保已安装HBuilderX(uniapp官方IDE)或VSCode(需安装uniapp插件)。Node.js版本建议12,Java开发环境需配置JDK8和Maven。项目结构设计src/ ├── common/ // 公共资源 │ ├── css/ …...

ITSM系统中的ITIL流程为什么越做越慢?IT服务台正在被“过度设计”拖累

一、流程越标准,为什么效率却越低?在企业IT管理升级的过程中,引入ITIL流程几乎是一种“共识”。作为一套成熟的方法论,它为IT服务管理提供了清晰的框架:事件管理、问题管理、变更管理、服务请求管理等,每一…...

如何限制PDF的打印、复制编辑等操作?限制PDF打印编辑复制的三种方法

当你存在个别PDF不想被被人打印,复制或编辑时,可以对PDF相关权限进行限制。 本篇文章介绍三种方法,来实现PDF权限的限制和PDF文件的加密,覆盖了WPS、MAC电脑、在线工具。可根据自身情况选择工具。 在介绍3个方法之前,…...

AI编程革命:Codex自动写脚本实战指南

告别重复造轮子:Codex写脚本的技术文章大纲理解Codex的基本能力Codex是基于GPT-3的AI模型,能够将自然语言转换为代码。 支持多种编程语言,包括Python、JavaScript、Go等。 适用于自动化脚本、数据处理、API调用等场景。识别适合自动化的重复任…...

论文“焕新术”:书匠策AI,降重降AIGC的秘密武器大揭秘!

在学术的浩瀚宇宙中,每一篇论文都是研究者智慧的结晶,它们如同星辰般璀璨,照亮着知识的殿堂。然而,当这些星辰在查重的天空中闪烁时,重复率过高却成了不少研究者心中的“暗礁”。别怕,今天我要带你走进一个…...

subr_autoconf.c 深度解析:BSD 内核自动配置核心模块

subr_autoconf.c 深度解析:BSD 内核自动配置核心模块 这是 OpenBSD/NetBSD 内核的自动配置(Autoconfiguration)核心实现文件,是内核硬件枚举、设备驱动匹配、设备树构建、热插拔/卸载的中枢代码。我会从核心作用、工作原理、语法规范、上下游依赖、关键数据结构五个维度完…...

节点内存超限原因解析

你提供的截图显示的是一个 Kubernetes 节点(Worker 节点)的资源监控界面,其中:CPU 使用量:请求/限制/使用量 36.67% / 52.54% / 1.62%内存使用量:请求/限制/使用量 41.87% / 60.75% / 69.95%️ 注意&…...

像素时装锻造坊应用指南:快速生成电商海报、社交配图的像素艺术时装

像素时装锻造坊应用指南:快速生成电商海报、社交配图的像素艺术时装 1. 像素艺术的商业价值与创作痛点 在电商和社交媒体时代,视觉内容的生产效率直接决定营销效果。传统设计流程中,制作一张商品海报或社交配图需要经历:构思→草…...

DCDC 电源拓扑详解,硬件电源基础干货

做硬件设计,电源是绕不开的话题。不管你画什么板子,总得给芯片供电。很多人会用DCDC芯片,照着参考电路画,能跑就行。但你真的理解背后的原理吗?为什么有的用Buck,有的用Boost?电感怎么选&#x…...

**发散创新:基于Flink实时流处理的电商订单异常检测系统设计与实践**在现代电商场景中

发散创新:基于Flink实时流处理的电商订单异常检测系统设计与实践 在现代电商场景中,订单数据的实时性与准确性直接决定了用户体验和业务决策效率。传统的批处理方式已无法满足“秒级响应”的需求,而Apache Flink作为新一代流式计算引擎&#…...