渗透测试之判断是否工作在docker环境

0x00 前言

当渗透测试时,可能会碰到目标存在于docker环境中,那这是,我们就会考虑到docker容器逃逸问题,这边首先提及到cve-2019-5736。

0x01 docker环境判断

    方式一:判断根目录下 .dockerenv 文件
docker环境下:ls -alh /.dockerenv , 非docker环境,没有这个.dockerenv文件的

/usr/local/tomcat >ls -alh /.dockerenv

-rwxr-xr-x 1 root root 0 Jan 22 06:54 /.dockerenv

注:定制化比较高的docker系统也可能没有这个文件

方式二:查询系统进程的cgroup信息
docker 环境下:cat /proc/1/cgroup

/usr/local/tomcat >cat /proc/1/cgroup

13:name=systemd:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

12:pids:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

11:hugetlb:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

10:net_prio:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

9:perf_event:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

8:net_cls:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

7:freezer:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

6:devices:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

5:memory:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

4:blkio:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

3:cpuacct:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

2:cpu:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

1:cpuset:/docker/09dd4e5bfa91048ac3fbdfa6f951ea0648742fee7ee8d775190df8e88d609017

kvm环境或者物理机环境下:cat /proc/1/cgroup

root@n12-015-133:~# cat /proc/1/cgroup

10:cpuset:/

9:freezer:/

8:memory:/init.scope

7:perf_event:/

6:blkio:/init.scope

5:net_cls,net_prio:/

4:cpu,cpuacct:/init.scope

3:pids:/init.scope

2:devices:/init.scope

1:name=systemd:/init.scope

判断响应内容即可,主要看name和devices信息,目前来说最靠谱的方式

转载请注明:Adminxe's Blog » 渗透测试之判断是否工作在docker环境

原文地址:https://www.cnblogs.com/cn-gov/p/13127129.html