首页 > 其他分享 >如何从Docker镜像中提取恶意文件

如何从Docker镜像中提取恶意文件

时间:2024-09-04 15:36:09浏览次数:9  
标签:容器 tar 宿主机 恶意 test 镜像 Docker docker

原创 Bypass

当发生容器安全事件时,需要从容器或镜像中提取恶意文件进行分析和处理。

本文主要介绍3种常见的方法:

(1) 从运行的容器中复制文件

首先,需要从镜像运行启动一个容器,然后,使用docker cp命令从容器中提取文件到宿主机。

docker run -d --name test test:v1.0     //运行容器
docker cp test:/tmp/evil.sh  /tmp/eill.sh
docker rm test   //删除容器

(2)从tar镜像压缩包提取文件

将镜像保存为tar文件,解压tar镜像文件到宿主机,从分层目录找到目标文件。

docker save -o test.tar test:v1.0
tar -xvf test.tar 
tar -xvf cdbef1ee1b9602e5bd6c1897f0eb4f32c64380e97e0d456e85f7c0920b4d9e7b/layer.tar
eill.sh

(3)查找Docker容器内文件系统在宿主机上的具体位置

docker文件系统是分层的,镜像在宿主机上有自己的文件系统,可以通过docker inspect 快速定位容器文件系统在宿主机上对应的目录,直接从宿主机上获取目标文件。事实上,这也是最简单最安全的提取恶意文件的方式。

docker inspect  --format={{.GraphDriver}} test:v1.0
cd /var/lib/docker/overlay2/f4mfds01uprpk0moaiz2vjg6m/diff

标签:容器,tar,宿主机,恶意,test,镜像,Docker,docker
From: https://www.cnblogs.com/o-O-oO/p/18396663

相关文章

  • 把python项目部署在docker上
    前提,已经安装好docker了,docker的安装,请见另一篇博客介绍一下需要运行的python项目结构,平时在pycharm里面只需要运行app.py文件即可 项目步骤如下:1:创建一个上传到Centos系统的文件夹(名字随意)docker_svnhook是要上传到Linux系统,生成Dokcer镜像的文件夹这个文件夹下面有两个......
  • 在centos上安装docker
    第一步,安装docker,因为我是在centos上面安装的docker,这里就细讲centos的安装步骤1:官方建议Linux内核为3.10及以上,我们可以查看一下自己的Linux内核uname-r2:启用centos-extras存储库该存储库默认情况下是处于启用状态的,如果之前禁用过,需要重新启用它yumrepolistenabled......
  • 运行中的Docker容器获取 .NET项目的Dump文件
    进入容器的shelldockerexec-it容器名称或id/bin/bash使用cd命令进入NETSDK所在文件夹cd/usr/share/dotnet/shared/Microsoft.NETCore.App查看当前SDK版本ls进入指定SDK版本的文件夹cd/usr/share/dotnet/shared/Microsoft.NETCore.App/6.0.33使用SDK文......
  • 最新Kali Linux安装教程(非常详细)(附镜像包)
    镜像下载:链接:https://pan.baidu.com/s/1W2Jpl5_UNNFKaIs8fLIl7w?pwd=xxxx 提取码:xxxx  配置虚拟机这里我们以最新的vm17.5为例。进行配置虚拟机。1.创建新的虚拟机2.自定义3.直接下一步4.选择稍后安装操作系统因为kali是基于debian深度开发,这里我们选debia......
  • Docker 简介
    首先说明一些特性:一个容器中只有一个主进程,遵循单一原则,否则一个容器挂了会导致多个进程挂掉;容器其实就是一个进程,docker可以管理这些进程。docker能够进行容器隔离,我们操作的其实是docker客户端,而不是server端。dockerinfo#查看docker信息docker基本概念docker客户端可......
  • Docker入门——什么是Docker
    1.什么是docker?docker是一种容器化技术,具体来说它是将应用程序及其依赖环境打包的一种软件,用于保证开发环境的一致性2.为什么需要docker?解决"在我的机器上能跑"的问题,即解决依赖环境一致性问题3.docker是怎么解决这个问题的?docker提供将应用程序及其依赖环境打包成镜像......
  • 使用docker部署tensorrtllm推理大模型baichuan2-7b
    简介大模型的推理框架,我之前用过vllm和mindie。近期有项目要用tensorrtllm,这里将摸索的过程记录下,特别是遇到的问题。我的环境是Linux+rt3090准备docker环境本次使用docker镜像部署,需要从网上拉取:dockerpullnvcr.io/nvidia/tritonserver:24.08-trtllm-python-py3Th......
  • 干货含源码!如何用Java后端操作Docker(命令行篇)
    目录干货含源码!如何用Java后端操作Docker(命令行篇)一、为什么要用后端程序操作Docker二、安装Docker1、安装Docker2、启动Docker三、使用Java后端操作docker1、构建docker镜像并生成容器2、执行完毕后删除容器和镜像3、在此基础上开发其他功能四、总结作者:watermel......
  • docker容器实验记录(一)
    容器没有父进程,PID==1是所有程序的根进程上帝进程死亡系统实例也就关闭了1.概述1.1技术起源Linux容器的起源-容器的起源可以追溯到1979年UNIX系统中提供的chroot命令,容器的最初的设计目标是为了隔离计算机中的各类资源,以便降低软件开发、测试阶段的风险,或者充当蜜......
  • docker安装
    1.卸载旧版首先如果系统中已经存在旧的Docker,则先卸载:yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine\docker-selinux2.配置......