ArgoCD 漏洞利用技能,针对 Argo CD(Kubernetes 声明式 GitOps 持续交付工具)整理的后渗透方法论。
一、用途 该技能用于在授权安全测试场景下,对 Argo CD 实例进行识别、漏洞验证与后渗透利用,覆盖从信息收集到集群接管的完整链路。
二、基础识别信息 默认端口:80/443(Web UI)、8080(Server)、6379(Redis)。 识别特征:页面标题为 "Argo CD",/api/v1/version 返回版本信息。 默认凭据:admin / auto-generated 初始密码。 资产测绘语法:FOFA 为 app="Argo-CD";Shodan 为 http.title:"Argo CD"。
三、漏洞总览 资料列出以下漏洞及其影响版本、类型、条件与危害:
- CVE-2024-31989:影响 <2.11.5,类型为 Redis 缓存投毒→K8s 接管,条件为 Redis 未认证,危害 Critical (9.1)。
- CVE-2022-29165:影响 <2.3.1,类型为 SSO 认证绕过,条件为配置 OIDC SSO,危害 High (8.8)。
- CVE-2023-22482:影响多版本,类型为 Redis 信息泄露,条件为 Redis 未认证,危害 High (7.5)。
- CVE-2024-40638:影响多版本,类型为 Webhook SSRF,条件为已认证用户,危害 High (7.2)。
- 默认凭据:影响全版本,类型为初始 admin 密码,条件为获取初始密码,危害 Critical。
四、利用决策树
- 识别 ArgoCD → /api/v1/version。
- 未授权 API → /api/v1/applications、/api/v1/clusters。
- CVE-2024-31989(优先)→ Redis 缓存投毒 → 集群接管。
- 默认凭据 → admin + 初始密码 → 完全控制。
- CVE-2022-29165(SSO 环境)→ redirect_uri 绕过。
- CVE-2024-40638 → Webhook SSRF。
- 已认证后利用 → 恶意 Application / 注入 Manifest / 越权。
五、利用链优先级
- Redis 未授权 → CVE-2024-31989 缓存投毒 → K8s 集群接管。
- 默认凭据/弱口令 → ArgoCD 完全控制。
- 未授权 API → 应用/集群/仓库信息泄露。
- CVE-2022-29165 → SSO 认证绕过。
- CVE-2024-40638 → Webhook SSRF → 内部服务探测。
- 已认证 → 创建恶意 Application → 特权 Pod 部署。
六、常用端点速查
- /api/v1/version:GET,用途为版本信息,不需要认证。
- /api/v1/applications:GET,用途为应用列表,认证可选。
- /api/v1/clusters:GET,用途为集群列表,认证可选。
- /api/v1/repositories:GET,用途为仓库列表,认证可选。
- /api/v1/account:GET,用途为账户信息,认证可选。
- /auth/login:GET,用途为登录页面,不需要认证。
- Redis 6379:缓存服务,默认无密码。
七、详细参考 资料提及包含检测脚本与后利用手法,具体为未授权 API 检测、综合扫描脚本、已认证后利用技术。
八、适用场景与限制 适用场景为在获得合法授权的前提下,对 Argo CD 部署进行安全评估、漏洞验证与渗透测试。限制方面,资料未提供具体脚本代码、命令细节、修复建议及法律合规说明,实际使用需自行确认授权范围与合规要求。