用途:针对 Portainer(Docker/Kubernetes 容器管理平台)的漏洞利用与安全检测技能。默认端口 9000(HTTP)、9443(HTTPS),可通过 /api/status 返回 JSON 识别,FOFA 指纹为 app="Portainer"。
覆盖漏洞:默认/弱口令认证突破(全版本,Critical);CVE-2024-29296 基于时间差的用户枚举,影响 CE 2.19.4,无需认证,危害 Medium;CVE-2018-12678 Request Splitting SSRF→RCE,影响 <=1.17,无需认证,Critical;Docker API 滥用实现特权容器逃逸 RCE,需认证。
利用决策树:1. GET /api/status 确认目标;2. 认证突破,尝试默认凭据或经 CVE-2024-29296 枚举有效用户名后爆破密码;3. 认证后获取 JWT Token,枚举端点,创建特权容器挂载宿主机取得 RCE;4. 未认证的老版本经 CVE-2018-12678 发起 SSRF 访问 Docker API 达成 RCE。利用链优先级为默认/弱口令→JWT→Docker API→特权容器→RCE,其次为用户枚举加定向爆破,再次为 CVE-2018-12678。
常用 API 端点:GET /api/status(状态/版本)、POST /api/auth(登录)、GET /api/endpoints(Docker 端点列表)、POST /api/endpoints/{id}/docker/containers/create(创建容器)、POST /api/endpoints/{id}/docker/containers/{cid}/start(启动)、POST /api/endpoints/{id}/docker/containers/{cid}/wait(等待)。特权逃逸核心在于 HostConfig 设置 "Privileged": true 与 "Binds": ["/:/host:rw"],再执行 chroot /host 切换宿主机文件系统。
限制:仅供授权的安全测试与研究使用,实际利用效果取决于目标版本与配置;详细 CVE 利用手法、脚本与综合检测脚本见技能内引用文档,具体实现细节暂未提供。