docker 利用特权模式逃逸并拿下主机

docker 利用特权模式逃逸并拿下主机

在溯源反制过程中,会经常遇到一些有趣的玩法,这里给大家分享一种docker在特权模式下逃逸,并拿下主机权限的玩法。

前言

在一次溯源反制过程中,发现了一个主机,经过资产收集之后,发现有如下几个资产。

img

其中9000是一个Web服务,于是我访问查看了一下。

发现其为Portainer后台,且存在弱口令登录。

img

一般看到这种登录页面,习惯性的输入admin/admin,admin/password,admin/123456。 然后就试出来一个进去了。

Portainer

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

这是我在溯源过程中第一次碰到这个后台,我简单浏览了一下

打开后台就是这样
img

这里有很多创建好的docker容器。还可以自定义下载镜像,并构建容器

利用

我想到如果在docker容器启动中加上–privileged参数即特权模式,就可以磁盘挂载利用了。进行挂载后,可以进行对本地宿主机的文件替换比如写入公钥getshell, 想到这一点,我点击新建容器。选择了nignx:latest 镜像

img

注意, 开启特权模式一定要勾选下面的选项

img

将此选项勾选之后,就会开启特权模式了。

img

创建好容器之后,点击这里,进入容器控制台。

现在我们需要挂载磁盘到容器的目录上。这一点和容器数据卷设置不同,这一步是真实的挂载磁盘。

通过df -h 命令查看磁盘,新建文件夹/abcd,然后将宿主机的文件系统挂载到docker容器中的/abcd 目录。

img

然后/abcd目录就是宿主机的真实主机文件了,我们正常在root下写入公钥文件。

img

最后可以直接用ssh登录链接了

img

总结

这篇是我在溯源反制中真实遇到的一个情况,举一反三,如果是自己部署docker环境的话,切记不要使用特权模式!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[手写爬虫框架],从回忆Python到爬虫原理解析

手写爬虫框架,又名:手写爬虫框架的第1天 数据存储(无数据库版) HTML正文抽取多媒体文件抽取Email提醒 实战项目:基础爬虫 基础爬虫架构及运行流程URL管理器HTML下载器HTML解析器数据存储器爬虫调度器 从爬虫底层 —&…

网站开发第一弹---HTML01

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:网站开发flask框架 🍹文章作者技术和水平很有限,如果文中出现…

基于pytorch的循环神经网络情感分析系统

任务目标 基于给定数据集,进行数据预处理,搭建以LSTM为基本单元的模型,以Adam优化器对模型进行训练,使用训练后的模型进行预测并计算预测分类的准确率。 数据简介 IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据集…

Spring Boot Starter介绍和实战

引言 Spring Boot Starter 是 Spring Boot 提供的一种机制,用于简化和集成应用程序的依赖管理。通过创建自定义的 Starter,可以将一组相关的依赖打包成一个简单的、可重用的模块,使应用程序的配置和依赖管理更加方便。在本文中,我…

【AI视野·今日NLP 自然语言处理论文速览 第七十二期】Mon, 8 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 8 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers DeepSeek LLM: Scaling Open-Source Language Models with Longtermism Authors DeepSeek AI Xiao Bi, Deli Ch…

深度卷积神经网络

目录 1.AlexNet 2. 代码实现 1.AlexNet (1)特征提取 (2)选择核函数来计算相关性:怎么判断在高维空间里面两个点是如何相关的,如果是线性模型就是做内积。 (3)凸优化问题 (4)漂亮的定理 丢弃法的作用就是因为模型太大了,使用它来对模型做…

python连接sqlite3工具类

简单使用python连接sqlite3工具类,代码可根据场景自行抽象 #!/usr/bin/env python # -*- coding: utf-8 -*-import sqlite3class SQLiteHandler:# 示例用法default_db_path "example.db"def __init__(self, db_fileNone):self.db_file db_file or self…

Spring面试整理-Spring的AOP

Spring的面向切面编程(AOP)是其核心功能之一,它允许开发者在不改变原有代码的情况下,增加额外的行为(如日志记录、事务管理、安全检查等)。AOP 通过定义"切面"(aspects)和"通知"(advice)来实现这一功能。 AOP概念 切面(Aspect):切面是模块化的…

TCP 和 UDP 的区别

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种主要的传输层协议,它们在网络通信中有一些关键的区别: (1)http1 / http2 基于 tcp 协议,https …

XCODE IOS 静态链接库替换升级

XCODE 版本15.2. 一个很久需求没更新的IOS 应用,近来有新需求要开发。 拉下代码运行,出现了个BAD_ACCESS错误。出错的位置位于一个调用的第三方的.a静态库内部。因为调用代码并没有修改,很容易想到可能XCODE相关升级,导致的问题。…

无监督学习Principal Component Analysis(PCA)精简高维数据

目录 介绍 一、PCA之前 二、PCA之后 介绍 Principal Component Analysis (PCA) 是一种常用的数据降维和特征提取技术。PCA通过线性变换将高维数据映射到低维空间,从而得到数据的主要特征。PCA的目标是找到一个正交基的集合,使得将数据投影到这些基…

Android Studio 分别运行flutter 的debug和release版本

前言 由于在Android Studio 没找到运行release版本的入口,现在通过命令行运行 1.release版本 运行release版本的话直接执行下面命令3 flutter run --release相关命令统计 1.生成apk flutter build apk2.安装apk: flutter install3.运行release版本 flutter …

【期末不挂科-单片机考前速过系列P11】(第十一章:单片机的并行拓展例题)经典例题盘点(带图解析)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

初探UAF漏洞(3)

构造exp #include <iostream> #include <Windows.h>typedef void(*FunctionPointer) ();typedef struct _FAKE_USE_AFTER_FREE {FunctionPointer countinter;char bufffer[0x54]; }FAKE_USE_AFTER_FREE, * PUSE_AFTER_FREE;void ShellCode() {_asm{noppushadmov e…

github上的python图片转excel,pytesseract安装相关问题

问题1&#xff1a;明明都pip install pytesseract&#xff0c;但是就是安装不上 pytesseract 未安装链接: https://pan.baidu.com/s/1I4HzCgO4mITWTcZFkdil6g?pwdafes 提取码: afes 安装后一路next&#xff0c;然后配置环境变量 C:\Program Files\Tesseract-OCR新建一个系统…

第十九章 类的继承

文章目录 一、继承二、原型三、原型和实例关系的检测 一、继承 面向对象三大特点&#xff1a;封装&#xff0c;继承&#xff0c;多态 封装&#xff1a;打包继承&#xff1a;一个对象A不具有某个功能a&#xff0c;通过某种方式使用了对象B的a功能 的过程多态&#xff1a;对象或…

【SQL server】DML触发器监控数据库字段值改变

文章目录 前言DML触发器基本思路创建触发器固定字段触发示例完整示例代码变量声明查询新旧值插入数据到日志表效果视频动态字段触发示例完整代码示例触发器基本信息变量声明定义游标打开游标临时表创建循环处理字段

c++学习:容器stack栈+queue+map(简易输入法)+deque

目录 stack 模板原型 头文件 模板的成员类型和成员对象和成员函数 栈类模板的容器对象 实例 queue 模板原型 头文件 模板的成员类型和成员对象和成员函数 队列类模板的容器对象 实例 map 模板原型 头文件 模板的成员类型和成员对象和成员函数 关联类模板的容器…

VScode远程连接开发嵌入式开发板

在做嵌入式开发时&#xff0c;很多时候需要远程连接或者远程调试设备&#xff0c;这时可以通过VScode上的插件来很方便的进行远程连接和调试。 ssh远程连接嵌入式开发板&#xff1a; 1、安装vscode ssh远程插件&#xff1a;Remote-SSH。 2、点击""&#xff0c;输入…

构建基于RHEL8系列(CentOS8,AlmaLinux8,RockyLinux8等)的MySQL8.0.32的RPM包

本文适用&#xff1a;rhel8系列&#xff0c;或同类系统(CentOS8,AlmaLinux8,RockyLinux8等) 文档形成时期&#xff1a;2023年 因系统版本不同&#xff0c;构建部署应略有差异&#xff0c;但本文未做细分&#xff0c;对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…