2022渗透测试-最好用的权限提升方法-CVE-2021-4034

简介: 2022渗透测试-最好用的权限提升方法-CVE-2021-4034

 目录

漏洞简介

影响范围

威胁级别

漏洞复现

漏洞修复

漏洞简介

Polkit(PolicyKit)是一个用于控制类Unix系统中控制系统范围权限的组件,它为非特权进程与特权进程的通信提供了一种有组织的方式。pkexec是Polkit开源应用框架的一部分,它负责协商特权进程和非特权进程之间的互动,允许授权用户以另一个用户的身份执行命令,是sudo的替代方案。

1月25日,研究人员公开披露了在 polkit 的 pkexec 中发现的一个权限提升漏洞(CVE-2021-4034 ,也称PwnKit),它存在于所有主流的 Linux 发行版的默认配置中。受影响版本的 pkexec 无法正确处理调用参数计数,最终尝试将环境变量作为命令执行,攻击者可以通过修改环境变量来利用此漏洞,诱使 pkexec 执行任意代码,从而导致将本地权限提升为root。

影响范围

目前主流Linux版本均受影响

不受影响版本:

CentOS:polkit-0.115

Ubuntu:policykit-1- 0.105

自2009年以来的所有 Polkit 版本(存在于所有主流的 Linux 发行版中)。

威胁级别

严重

漏洞复现

下载CVE-2021-4034 漏洞利用POC GitHub - berdav/CVE-2021-4034: CVE-2021-4034 1day

image.gif编辑

打开centos系统,将下载好的文件解压到主文件夹下面。

image.gif编辑

切换到CVE-2021-4034-main目录下。

image.gif编辑

使用make命令,运行cve-2021-4034

image.gif编辑执行./cve-2021-4034,此时已经完成提权。

image.gif编辑

查看当前的权限,此时我们已经拿到了root权限。

image.gif编辑

漏洞修复

目前此漏洞已经可以修复,建议受影响用户及时升级更新。

1. Ubuntu已经为PolicyKit推送了更新,以解决14.04和16.04 ESM版本以及最近的18.04、20.04和21.04版本中的漏洞。

2. Red Hat已经为 polkit on Workstation 和 Enterprise 产品上的polkit提供了安全更新。

3. 如果系统没有可用的补丁,可以从 pkexec 中删除 SUID 位作为临时缓解措施

相关文章
|
13天前
|
敏捷开发 测试技术 持续交付
软件测试中的探索性测试方法及其重要性
【8月更文挑战第6天】在软件开发周期中,测试环节是不可或缺的。它确保了产品的质量、性能与可靠性。然而,传统的测试方法往往侧重于预设的测试用例和场景,可能忽略了用户实际使用过程中的非预期行为。探索性测试(ET)应运而生,它强调测试人员的自主性和创造性,通过不断学习和适应来发现软件的潜在缺陷。本文将探讨探索性测试的概念、实施策略及其在现代软件开发中的重要性。
|
11天前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
13天前
|
测试技术 持续交付
探索式测试:一种灵活的软件质量保证方法
在软件测试领域,探索式测试是一种与传统脚本测试截然不同的方法。它强调测试人员的自主性与创造性,允许他们在执行测试时即时设计和执行测试用例。这种方法的灵活性和适应性使其成为发现复杂软件系统中难以预测的错误的有效手段。本文将深入探讨探索式测试的核心概念、实施策略以及它在现代软件开发生命周期中的价值。
29 4
|
13天前
|
敏捷开发 测试技术
探索式测试:一种高效灵活的质量保证方法
在软件生命周期中,确保产品质量是至关重要的一环。传统的测试方法往往依赖于预设的测试用例,而忽视了测试过程中的灵活性和创造性。本文将介绍一种与传统测试截然不同的方法—探索式测试,它强调个人技能与经验的应用,鼓励测试人员发挥主观能动性,通过不断探索来发现更多潜在的软件缺陷。文章将详细阐述探索式测试的核心概念、实施步骤及其在现代软件开发中的实际应用案例,旨在为读者提供一种更为高效和灵活的测试策略。
|
19天前
|
测试技术
软件测试中的探索性测试方法
在软件开发周期中,测试环节扮演着至关重要的角色。本文将深入探讨一种灵活而高效的测试方法——探索性测试。我们将通过具体实例分析其实施过程,并讨论如何通过这种方法提高软件质量和测试效率。最后,我们提出一个开放性问题,邀请读者思考探索性测试在他们工作中的实际应用和潜在价值。 【7月更文挑战第31天】
|
20天前
|
敏捷开发 测试技术
软件测试中的探索性测试:一种灵活的质量保证方法
在软件开发周期中,测试是确保产品质量的关键步骤。传统的测试方法往往依赖于事先定义好的测试用例,但这种方法可能无法覆盖所有潜在的缺陷和场景。探索性测试(ET)作为一种更为灵活的测试方式,允许测试人员在执行测试的同时设计和适应测试用例,从而提高了测试覆盖率并发现更多隐藏的缺陷。本文将探讨探索性测试的核心概念、实施策略以及与传统测试方法的比较,旨在为软件测试专业人员提供一种更高效、适应性强的测试手段。
|
25天前
|
敏捷开发 测试技术 持续交付
探索式测试:一种高效软件质量保证方法
在软件开发的复杂性不断增加的背景下,传统的测试方法已不能完全满足快速迭代和高质量标准的要求。探索式测试(Exploratory Testing)作为一种灵活且高效的软件测试实践,正逐渐成为质量保证过程中不可或缺的一部分。本文将深入探讨探索式测试的核心理念、实施策略以及与传统测试方法相比的优势,旨在为读者提供一套完整的探索式测试框架及其在实际项目中的应用示例。
|
26天前
|
测试技术
详解单元测试问题之MockHandlerImpl类的handle方法中VerificationMode不为空如何解决
详解单元测试问题之MockHandlerImpl类的handle方法中VerificationMode不为空如何解决
25 3
|
3天前
|
测试技术
单元测试问题之在单元测试中,方法的返回值或异常,如何验证
单元测试问题之在单元测试中,方法的返回值或异常,如何验证
|
3天前
|
测试技术
单元测试问题之模拟一个无返回值的方法,如何操作
单元测试问题之模拟一个无返回值的方法,如何操作