利用LXD实现Linux权限提升:一键本地root漏洞利用工具
项目简介
Linux Privilege Escalation via LXD
是一个开源项目,旨在揭示在Linux系统中,如何通过LXD(Linux Container)服务从普通用户权限提升至root权限。项目提供了两种完全自动化本地root权限的利用脚本,并附带详细的博客解释了其工作原理和过程。这个项目提醒我们,即使没有容器逃逸,LXD也可能成为低权限用户获取主机root访问权的安全风险。
技术剖析
项目中的两个脚本——lxd_rootv1.sh
和 lxd_rootv2.py
,各自采用了不同的攻击策略:
-
lxd_rootv1.sh
创建一个将主机根文件系统挂载到容器内的环境,使得低权限用户能够在容器内获得root权限,从而影响主机。 -
lxd_rootv2.py
更具创新性,它利用LXD的代理设备将主机的systemd私有UNIX套接字引入容器,然后回传到主机。由于这些代理设备拥有root权限,在通信过程中会传递它们的身份凭证,而非发起请求的低权限用户的凭证,借此创建临时systemd服务以修改/etc/sudoers
文件。
应用场景
对于任何运行LXD且非安全意识强烈的Linux环境,这个项目都提供了一个实际的威胁模型。特别是当多个用户共享一个系统,并被赋予了LXD组成员身份时,每个用户都可能利用此方法对主机进行权限提升。这对于日常运维、服务器管理或开发环境来说,是一个重要的警示。
项目特点
- 简单易用:只需要一个已存在的容器,然后在主机上执行相应的脚本即可尝试权限提升。
- 新颖的攻击手法:
lxd_rootv2.py
的独特利用方式展示了新的攻击思路。 - 风险提示:该项目不仅提供了漏洞利用方法,还强调了在LXD配置中添加用户到
lxd
组的潜在危险。 - 社区响应:Canonical公司已经更新了LXD文档,明确警告用户不应随意给予非root用户
lxd
组权限。
补救措施
目前,官方并没有发布针对这两种漏洞的修复方案。因此,使用LXD的用户应谨慎考虑将谁添加到lxd
组,尽量避免在不需要时使用sudo
命令与LXD API交互。对于多用户环境,建议采用分层环境隔离,每个人只在其自己的环境中具备较高的权限。
总的来说,虽然存在这样的安全隐患,但LXD仍然是一个强大的容器管理工具。了解这些风险并采取适当的安全措施是确保系统安全的关键。如果你正在使用LXD,那么这个项目将是你提高安全意识和实践防御策略的重要参考。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区017
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX027
- 每日精选项目🔥🔥 01.17日推荐:一个开源电子商务平台,模块化和 API 优先🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~026
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie045
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0108
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09