梦里的一次渗透(二)

admin 2024年12月28日12:06:41评论3 views字数 3阅读0分0秒阅读模式

前言

第一次梦里的渗透已经过去2年有余,感叹时间过得真快的同时,最近又来了一场梦,当然这是新的一场梦,全文文字记录。

环境

“我想要往容器中上传文件,但是curl、wget啥啥没有怎么办”,再深入一看是k8s pod,而且还是kubelet 10250未授权访问在往pod中执行命令,既然是pod就不要纠结没有curl这些命令了,直接拿下k8s集群,然后kubectl cp不就行了?

过程记录

首先通过10250的/pods接口获取了当前node上的pod信息,然后尝试在kube-system namespace下找了几个pod想获取token、ca证书,但是都无果,只找到了几个basic认证的账号密码,其格式为password, user, uid,可惜访问apiserver api路由时也是没啥权限,访问方式可以直接浏览器访问apiserver的6443端口,也可以通过curl -u去访问/api路径。但是后面发现了ingress pod,ingress是拿来做7层转发的,想着权限应该比较大,因此通过查看/var/run/secrets/kubernetes.io/serviceaccount/token拿到了serviceaaccount的token,然后尝试去访问/api/v1/secrets拿到了所有的secret,后面想着curl着实不方便,就想着用kubectl进行测试,但是结果却一直超时,通过-v=10参数打印了curl命令,除了user-agent不太一样其他都一样,为什么curl可以访问、浏览器可以,kubectl却不行?所以怀疑是user-agent被拦截了,因此尝试通过在windows cmd如下命令先设置http流量走burpsuite代理:

set http_proxy=http://127.0.0.1:8080set https_proxy=http://127.0.0.1:8080

然后重放修改user-agent后数据请求成功,因此确认user-agent被拦截,前期可以通过burpsuite来自动replace header的功能完成user-agent的替换,但是不是很优雅,因此可以修改kubectl源码来达到自定义user-agent的目的。代码很简单,直接问chat-gpt o3,代码路径:

https://github.com/Jumbo-WJB/kubernetes/tree/feature-add_custom-user-agent

最终效果为:

./_output/dockerized/bin/darwin/arm64/kubectl get pods -v=10 --custom-user-agent="MyAgent/1.0"...curl -v -XGET  -H "User-AgentMyAgent/1.0" -H "Accept: application/json;g=apidiscovery.k8s.io;v=v2;as=APIGroupDiscoveryList,application/json;g=apidiscovery.k8s.io;v=v2beta1;as=APIGroupDiscoveryList,application/json" 'https://127.0.0.1:58128/api?timeout=32s'...

还有个问题,可能是新版本kubectl和老版本kubernetes不兼容的问题,Accept必须只能是application/json,否则服务端不认识,因此也是直接在burpsuite上改了算了..

总结

当你梦见一个很久不见的人,说明她正在遗忘你。

原文始发于微信公众号(中国白客联盟):梦里的一次渗透(二)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月28日12:06:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   梦里的一次渗透(二)https://cn-sec.com/archives/3558866.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息