容器环境检测方法总结

渗透技巧 1年前 (2023) admin
291 0 0

在渗透测试过程中,我们的起始攻击点可能在一台虚拟机里或是一个Docker环境里,甚至可能是在K8s集群环境的一个pod里,我们应该如何快速判断当前是否在容器环境中运行呢?

当拿到shell权限,看到数字和字母随机生成的主机名大概率猜到在容器里了,查看进程,进程数很少,PID为1的进程为业务进程,这也是容器环境的典型特征。当然,以上这两种都是比较主观的判断。接下来,我们再来盘点下比较常用的几种检测方式。

方式一:查询cgroup信息

最简单精准的方式就是查询系统进程的cgroup信息,通过响应的内容可以识别当前进程所处的运行环境,就可以知道是在虚拟机、docker还是kubepods里。

cat /proc/1/cgroup

docker 环境下:

容器环境检测方法总结K8s环境下:

容器环境检测方法总结

虚拟机环境下:

容器环境检测方法总结
方式二:检查/.dockerenv文件

通过判断根目录下的 .dockerenv文件是否存在,可以简单的识别docker环境。

K8s&docker环境下:ls -alh /.dockerenv 可以找到文件。

容器环境检测方法总结

虚拟机环境下:是没有这个.dockerenv文件的。

容器环境检测方法总结

方式三:检查mount信息

利用mount查看挂载磁盘是否存在docker相关信息。

K8s&docker环境下:

容器环境检测方法总结

虚拟机环境下:

容器环境检测方法总结

方式四:查看硬盘信息

fdisk -l 容器输出为空,非容器有内容输出。

K8s&docker环境下

容器环境检测方法总结

虚拟机环境下:

容器环境检测方法总结
方式五:查看文件系统以及挂载点

df -h 检查文件系统挂载的目录,也能够简单判断是否为docker环境。

K8s&docker环境下:

容器环境检测方法总结

虚拟机环境:

容器环境检测方法总结
方式六:环境变量

docker容器和虚拟机的环境变量也有点区别,但不好判断,但pod里面的环境变量其实是很明显的。

K8s环境下:

容器环境检测方法总结

原文始发于微信公众号(Bypass):容器环境检测方法总结

版权声明:admin 发表于 2023年6月29日 上午8:01。
转载请注明:容器环境检测方法总结 | CTF导航

相关文章

暂无评论

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