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环境