Kubernetes Api Server未授权访问漏洞
[!NOTE]
Kubernetes 的服务在正常启动后会开启两个端口:Localhost Port (默认8080)Secure Port (默认6443)。这两个端口都是提供 Api Server 服务的,一个可以直接通过Web 访问,另一个可以通过 kubectl 客户端进行调用。如果运维人员没有合理的配置验证和权限,那么攻击者就可以通过这两个接口去获取容器的权限。
漏洞复现
步骤一:使用以下Fofa语法搜索Kubernetes产品
port="8080" && app="Kubernetes"
步骤二:在打开的网页中直接访问 8080 端口会返回可用的 API列表
http://IP:8080/
http://IP:8080/ui //dashboard页面,可创建/修改/删除容器查看日志等
漏洞修复
- 进行授权认证
- 使用Service Account令牌
- 置防火墙策略