一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

渗透技巧 10个月前 admin
234 0 0

书接上回,在了解好了Docker的一些基础知识,终于可以进入到了我们的重中之重——实操环节。

0x05 Docker与电子取证

/var/lib/docker/image/overlay2/repositories.json

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

运行docker images –digests
一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

docker pull <镜像名称>:从Docker仓库下载并拉取指定的镜像,例如:docker pull ubuntu。

docker run <选项> <镜像名称>:基于指定的镜像创建并运行容器,例如:docker run -it ubuntu。

docker ps:列出当前正在运行的容器。

docker exec -it <容器ID或名称> <命令>:在正在运行的容器中执行命令,例如:docker exec -it my_container bash。

docker stop <容器ID或名称>:停止指定的容器。

docker rm <容器ID或名称>:删除指定的容器。

docker images:列出本地已下载的镜像。

docker pull/push <仓库名称>:从/推送到指定的Docker仓库,例如:docker pull myregistry/my_image。

docker export <容器ID或名称> > <输出文件>:将容器的文件系统导出为一个tar压缩文件。

docker import <输入文件>:导入一个tar压缩文件并创建一个新的镜像。

2019长安杯复盘

趁热打铁,小编我找来了19年的长安杯电子数据取证竞赛的案例拿来剖析

***案例分析仅供学习参考,如有侵权,请联系小编删除***

9、该服务器中运行了 docker 应用,在本地有多少 docker 镜像?
A.10     B.11     C.12     D.13
一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

不难发现有11个,故选B

10、该 docker 应用的 server 版本是多少?

A.16.05.2    B.17.03.8    C.18.09.7    D.19.03.3

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

我们可以观察到架构为C/S架构,根据版本号选择,故选C

11、该 docker 应用中总共有多少容器节点?

A.10     B.11     C.12     D.13

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

不难发现是10个,得出A

12、运行中的容器节点有多少?

A.1    B.2    C.3    D.4

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

一共有3个,故选C

13、在运行中的容器节点中,其中一台容器名称为 romantic_varahamihira 的容器节点,它的hostname 是什么?(

A. 16fc160060c1            B. 1ef6292872e0    

C. 753abb28b629          D.53766d68636f

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

故选D

14、上题容器节点中,占用了主机的哪个端口?

A.25    B.8012    C.8091    D.未占用端口

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

使用的是tcp协议,占用了8012端口,故选B

15、在运行中的容器节点中,其中一台容器 ID 为 15debb1824e6 的容器节点,它运行了什么服务?

A.ftp     B.ssh     C.nginx     D.smtp

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战因为是开放了22端口,不难得出是ssh服务,故选B

16、上题容器节点中,占用了主机的哪个端口?

A.22    B.8091    C.39999    D.未占用端口

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

故选C

17、该服务器中网站运行在docker 容器中,其中 web 服务使用的是什么应用?( 

A.apache     B.tomcat     C.nginx     D.IIS

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

可以看到能够提供web服务的仅有nginx,故选C

18、上题所述运行 web 服务的容器节点,使用的镜像名称是什么?(格式 REPOSITORY:TAG)

A. apache: latest             B. tomcat: jessie-slim

C. nginx: jessie-slim        D. nginx: latest

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

故为nginx: latest,选D

19、上题所述容器节点占用的容器端口是什么?

A.22    B.80    C.8091    D.未占用端口

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

故选择C

20、网站目录所在的容器内部路径为(格式:容器 ID:路径)

A. d1085c1a8828:/home/ vue2-element-touzi-admin

B. 53766d68636f:/ home/ vue2-element-touzi-admin

C. 16fc160060c1:/var/www/ vue2-element-touzi-admin

D. 15debb1824e6: /var/www/ vue2-element-touzi-admin

目前运行的有三只容器,分别是53766d68636f、15debb1824e6、16fc160060c1,可以先排除第二个和第三个,因为第二个是提供ssh服务,第三个是提供web服务,基本上可以确定为第一个,我们运行命令行检查一下

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战不难观察到有不少基本的网站元素,可以确定这个目录就是网站目录,故选B

21、网站目录所在的主机路径为下列选项中的哪个?(    )A./var/lib/docker/overlay2/cca977c8ca4a251023000285fbc8b4556636e1adc53cb012c84133a7b857abfc/diff/home/vue2-element-touzi-admin B./var/lib/docker/overlay2/fd27756120785ef656c9211b6147ef5f38d6a9811006d85359458f7fa8d45415/diff/home/vue2-element-touzi-admin C./var/lib/docker/overlay2/f405ba5e3f1f0e04a3585fbc95a47d13b4009dd9d599ac91015babebd5a5ff9b/diff/var/www/vue2-element-touzi-admin D./var/lib/docker/overlay2/d42b9a02aa87386b137242f691cb3e6303c4c0f3441419efb17ff550fdf5de28/diff/var/www/ vue2-element-touzi-admin

不慌,我们先cd一下,一个个找

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

好吧,眼睛要看瞎了,用一下find指令

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

轻松化解,选A

22、网站日志的路径在哪?(格式:容器ID:路径)(     )

A. 53766d68636f:/etc/nginx/logs/jrweb.log

B. 53766d68636f:/var/log/access.log

C. 16fc160060c1:/etc/nginx/logs/jrweb.log

D. 16fc160060c1:/var/log/access.log

这个题目,我也没有很好的方法,还是使用查找法

他给的不是主机路径,都是容器路径,因此还是要进入容器查看

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

可以查看到,我们在53766d68636f容器下查找两个可能的日志文件,都没有检索到。只好切换一下容器16fc160060c1来查看

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

能够得出是

16fc160060c1:/etc/nginx/logs/jrweb.log,故选C

23、案发当时,该服务器的原始 IP 地址是多少?(    )

A.192.168.160.89            B.192.168.184.100

C.192.168.120.111          D.192.168.184.128

既然知道了日志文件在哪里,我们便开始查看

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战好多啊,又要伤眼睛了,但是却发现只有192.168.184.128,故选D

24、在 docker 中,各容器节点和主机之间的网络连接模式是什么?(  )

A. bridge模式            B. host模式

C. container模式        D. none模式

我们使用docker inspect命令,用来查看容器或镜像内的详细信息

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

可以看到连接方式是桥接,故选A

0x06 反思与感悟

通过学习和实践,我们发现Docker作为一种强大的容器技术,可以极大地简化应用程序的部署和管理,提高开发效率和系统的可移植性。它不仅适用于个人开发者,也适用于企业级应用的开发和部署。在Docker环境下进行电子取证,不仅需要我们对Docker足够了解,更要熟悉Docker运行提供的镜像功能和配置,只有这样我们才能更好地面对挑战。

一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战


原文始发于微信公众号(电子取证及可信应用协创中心):一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战

版权声明:admin 发表于 2023年6月22日 下午8:58。
转载请注明:一篇文章带你上手Linux下的Docker和相关取证(下)——取证实战 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...