
1) 【一句话结论】在Kubernetes中,通过Trivy等工具对Nginx镜像进行静态漏洞扫描可检测已知漏洞(如CVE-2023-XXXX),漏洞利用后可先获取容器内root权限,再通过容器逃逸技术(如挂载宿主机目录、利用内核漏洞)获取宿主机root权限,360云安全服务通过持续扫描、漏洞报告和利用链分析提供全流程支持。
2) 【原理/概念讲解】漏洞扫描工具(如Trivy、Clair)的核心是检测镜像中的已知漏洞。Trivy主要采用静态分析(检查镜像文件中的二进制、库文件中的CVE数据库),速度快;Clair结合静态+动态分析(静态分析+运行容器实例检测运行时漏洞),更全面但资源消耗大。容器逃逸是指容器内的进程突破容器隔离,访问宿主机资源。权限提升路径:容器内漏洞→获取容器内root权限→利用容器逃逸技术(如挂载宿主机目录、利用内核漏洞,如CVE-2023-XXXX导致容器进程获得宿主机权限)→宿主机root权限。类比:就像锁住的房间(容器),漏洞是锁的薄弱点,利用漏洞后可以打开房间门(容器内权限),再通过门上的漏洞(容器逃逸)逃到外面(宿主机)。
3) 【对比与适用场景】
| 特性 | Trivy | Clair |
|---|---|---|
| 检测方式 | 静态分析(检查镜像文件中的CVE数据库) | 静态+动态(静态分析+运行容器实例检测运行时漏洞) |
| 速度 | 快,适合大规模扫描 | 慢,资源消耗大,适合关键容器 |
| 适用场景 | 基础漏洞扫描,快速检测已知漏洞 | 高风险容器,需要运行时漏洞检测 |
| 注意点 | 可能遗漏运行时漏洞 | 需要容器运行环境,资源占用高 |
4) 【示例】假设Nginx镜像存在CVE-2023-XXXX(文件读取漏洞),利用步骤:
Nginx:1.22.1: CVE-2023-XXXX: 文件读取漏洞(RCE)# 检测漏洞
trivy image nginx:1.22.1 --exit-code 1 --output report.json
# 利用文件读取漏洞
docker run -it --rm nginx:1.22.1 sh -c "cat /etc/passwd"
# 逃逸到宿主机
docker exec -it <container_id> sh -c "mount -t proc /proc /mnt/proc && mount -t sysfs /sys /mnt/sys && mount -t devtmpfs /dev /mnt/dev && chroot /mnt /bin/sh"
5) 【面试口播版答案】在Kubernetes中检测容器漏洞,我们通常用Trivy这类工具。比如对Nginx镜像进行静态扫描,Trivy会检查镜像中的库文件是否包含已知CVE,比如CVE-2023-XXXX对应的文件读取漏洞。检测到后,漏洞利用步骤是:首先,容器内漏洞允许我们获取容器内root权限,比如通过读取宿主机文件(如/etc/passwd)。然后,通过容器逃逸技术(比如利用内核漏洞,如CVE-2023-XXXX导致的容器进程能访问宿主机文件系统),执行命令逃逸到宿主机,获取root权限。360云安全服务会提供持续扫描、漏洞报告和利用链分析,确保从检测到利用的全流程覆盖,帮助快速定位和修复漏洞。
6) 【追问清单】
7) 【常见坑/雷区】