Nimbuspwn Linux权限提升漏洞
2022-5-7 11:50:0 Author: www.4hou.com(查看原文) 阅读量:33 收藏

微软研究人员发现Linux系统多个安全漏洞——Nimbuspwn。

微软研究人员在Linux系统中发现多个安全漏洞——Nimbuspwn,攻击者利用这些漏洞可以在Linux系统上实现权限提升,获得root权限,并成功部署后门、勒索软件等恶意软件。

Nimbuspwn是networkd-dispatcher组件中的安全漏洞集,包括目录遍历、symlink 竞争、time-of-check-time-of-use (TOCTOU)竞争条件漏洞,CVE编号包括CVE-2022-29799和 CVE-2022-29800。networkd-dispatcher是负责在Linux机器上发送连接状态变化。

研究人员发现networkd-dispatcher daemon在启动时是以root权限运行的。并根据检测到的网络状态使用“_run_hooks_for_state”发现和运行脚本。

networkd-dispatcher running as root

图 networkd-dispatcher以root权限运行

“_run_hooks_for_state”的实现逻辑包括返回“/etc/networkd-dispatcher/.d” 目录下root用户和root组所有的可执行脚本文件。在提供定制环境变量时调用subprocess.Popen 进程来在以上位置运行每个脚本。

Source code for _run_hooks_for_state

图 _run_hooks_for_state源代码

微软分析发现“_run_hooks_for_state”存在以下安全问题:

目录遍历漏洞(CVE-2022-29799):以上函数中没有任意一个对OperationalState或AdministrativeState 进行处理。这些状态是用来构造脚本路径的,所以状态可以包含目录遍历模式(如“../../”)来实现从“/etc/networkd-dispatcher”目录逃逸。

Symlink竞争:脚本发现和subprocess.Popen都遵循符号链接。

Time-of-check-time-of-use (TOCTOU)竞争条件(CVE-2022-29800):脚本在被发现和执行中间会有一个时间间隔。攻击者可以滥用该漏洞来替换networkd-dispatcher认为属于root用户而事实上并不属于root用户的脚本。

系统中低权限的攻击者可以将以上漏洞串起来,通过发送任意信号来实现root级权限提升。漏洞成功利用包含以下3个步骤:

Three-stage Nimbuspwn attack

图 Nimbuspwn攻击的3个阶段

TOCTOU竞争条件需要注入多个文件。研究人员在测试时,只尝试了3次就成功了。

Nimbuspwn exploit implemented and winning the TOCTOU race

Nimbuspwn漏洞利用获得TOCTOU竞争条件

研究人员称,漏洞利用代码可以拥有一个特权服务或进程bus名时,就可以成功利用Nimbuspwn漏洞。有很多可能的场景,比如Linux Mint。

networkd-dispatcher维护人员已经部署了必要的更新来修复Nimbuspwn漏洞。研究人员建议Linux用户尽快安装补丁修复漏洞。

完整技术分析参见:https://www.microsoft.com/security/blog/2022/04/26/microsoft-finds-new-elevation-of-privilege-linux-vulnerability-nimbuspwn/

本文翻译自:https://www.bleepingcomputer.com/news/security/new-nimbuspwn-linux-vulnerability-gives-hackers-root-privileges/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/n6L4
如有侵权请联系:admin#unsafe.sh