内网渗透:域 Kerberos 认证机制

1. Kerberos 协议简介

Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户端/服务器应用程序提供强大的认证服务。

该协议具有以下特点:

  • 去中心化:认证过程独立于主机操作系统,不依赖基于主机地址的信任。
  • 安全传输:假定网络上数据包可能被任意读取、修改或插入,仍能保证通信安全。
  • 第三方信任:通过可信第三方(即密钥分发中心,KDC)实现认证。

在 Kerberos 的场景中,客户端和服务端需要通过 KDC 来验证彼此身份,避免传统网络通信中“无法证明自己是自己”的问题。


2. Kerberos 协议角色组成

在古希腊神话中,Kerberos 是一只拥有三颗头颅的地狱恶犬,守护着冥界的入口。他能够识别所有经过的亡灵,并防止任何活着的入侵者进入地狱。

在这里插入图片描述
与其神话形象类似,在 Kerberos 协议中也有三个关键角色,共同协作完成认证与授权任务:

  • 客户端(Client):发起服务请求的一方,通常是用户或应用程序。
  • 服务端(Server):提供具体服务的一方,例如数据库或文件共享系统。
  • 密钥分发中心(Key Distribution Center, KDC):协议的核心组件,负责身份认证与票据分发,由以下两部分组成:
    • 认证服务器(Authentication Server, AS):负责验证客户端的身份,并颁发票据授予票据(Ticket Granting Ticket, TGT)。
    • 票据授予服务器(Ticket Granting Server, TGS):基于 TGT 为客户端生成访问服务端所需的服务票据(Service Ticket, ST)。

3. Kerberos 协议认证流程

在传统的网络认证机制中,仅依靠账号密码进行验证往往难以满足安全需求,设备之间容易陷入“无法证明自己身份”的困境。这种情况下,客户端与服务端都无法建立彼此的信任关系。为了解决这一问题,Kerberos 协议设计了一套以密钥分发中心为核心的认证机制,通过引入第三方信任机构,协调整个认证流程,确保客户端与服务端在通信中均能验证对方身份,从而建立起安全可靠的信任链路。认证流程分为以下三步:

  1. 客户端与 AS 通信
    客户端向 AS 提供身份信息(例如用户名和加密时间戳),AS 验证身份后返回一张票据授予票据(TGT)。

  2. 客户端与 TGS 通信
    客户端使用 TGT 向 TGS 申请服务票据(ST),以访问特定服务端。TGS 验证后颁发 ST。

  3. 客户端与服务端通信
    客户端使用 ST 与服务端建立会话,完成最终的身份验证。

在这里插入图片描述

Kerberos 协议形象化解析

为了便于理解,可以将 Kerberos 的认证过程类比为去动物园游玩购票的场景:

第一步:验证身份

客户端就像游客,首先需要拿着身份证(用户名和密码)前往安检窗口(AS),验证自己的身份。

  • 如果认证成功,AS 会颁发一张“购票资格票”(Ticket Granting Ticket, TGT),这张票证明你有权购买动物园的入场票,但不能直接用它进园。
第二步:获取服务票据

游客拿着 TGT 来到售票窗口(Ticket Granting Server, TGS),申请购买动物园的门票。

  • TGS 检查 TGT 的有效性后,为游客颁发一张“动物园入场票”(Service Ticket, ST)。
第三步:进入动物园

游客拿着 ST,来到动物园的入口。工作人员(服务端)验证 ST 的有效性后,允许游客入园游玩。


4. Kerberos 认证 - 客户端与 AS 通信原理

  1. 客户端向 AS 发送身份信息(AS-REQ 数据包),其中包括用户名和加密的时间戳。
  2. AS 验证身份信息并返回 TGT(AS-REP 数据包)。TGT 包括以下内容:
    • 客户端信息(用户名、IP、时间戳等)。
    • 用用户的 HASH 值加密的部分。
    • 用 KDC 秘钥(krbtgt 的 HASH)加密的部分。

客户端解密收到的 TGT 后,保存以供后续通信使用。

AS发过来的TGT:
在这里插入图片描述

用户解密后重新封装的TGT:
用户解密后重新封装的TGT


5. Kerberos 认证 - 客户端与 TGS 通信原理

  1. 客户端携带 TGT 向 TGS 发送请求(TGS-REQ 数据包),请求访问某个服务。
  2. TGS 验证 TGT,并返回服务票据 ST(TGS-REP 数据包)。ST 的结构包括:
    • 客户端信息(用户名、IP、时间戳等)。
    • 用客户端与服务端共享密钥(CS_SK)加密的内容。
    • 用服务端 HASH 值加密的内容。

客户端收到 ST 后解密并保存。

TGS发送过来的ST:
TGS发送过来的ST
客户端重新封装的ST:
客户端重新封装的ST


6. Kerberos 认证 - 客户端与服务端通信原理

  1. 客户端携带 ST 向服务端发送请求(AP-REQ 数据包)。ST 中包含客户端的身份信息和加密的时间戳。
  2. 服务端验证 ST 和时间戳后,返回验证响应(AP-REP 数据包,可选)。
  3. 验证通过后,客户端与服务端建立安全通信。

7. Kerberos 协议的安全问题

尽管 Kerberos 是一个强大的认证协议,但仍存在以下潜在安全问题:

  • PTH 攻击:通过获取 HASH 值绕过密码验证。
  • 密码喷洒:利用弱密码进行大规模尝试。
  • Golden TicketSilver Ticket:伪造票据以绕过身份验证。
  • Kerberoasting:利用服务账户的弱密码提取加密票据。
  • 委派攻击:滥用 Kerberos 的委派功能以提升权限。

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

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

相关文章

1961-2022年中国大陆多干旱指数数据集(SPI/SPEI/EDDI/PDSI/SC-PDSI/VPD)

DOI: 10.5194/essd-2024-270 干旱指数对于评估和管理缺水和农业风险至关重要;然而,现有数据集中缺乏统一的数据基础,导致不一致,对干旱指数的可比性提出了挑战。本研究致力于创建CHM_Drought,这是一个创新且全面的长期气象干旱数…

C# 在PDF中添加和删除水印注释 (Watermark Annotation)

目录 使用工具 C# 在PDF文档中添加水印注释 C# 在PDF文档中删除水印注释 PDF中的水印注释是一种独特的注释类型,它通常以透明的文本或图片形式叠加在页面内容之上,为文档添加标识或信息提示。与传统的静态水印不同,水印注释并不会永久嵌入…

LLVM防忘录

目录 Windows中源码编译LLVMWindows下编译LLVM Pass DLL Windows中源码编译LLVM 直接从llvm-project下载源码, 然后解压后用VS2022打开该目录, 然后利用VS的开发终端执行: cmake -S llvm -B build -G "Visual Studio 17 2022" -DLLVM_ENABLE_PROJECTSclang -DLLVM_…

解释一下:运放的输入失调电流

输入失调电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…

【双指针】算法题(二)

【双指针】算法题(二) 前言: 这里是几道算法题,双指针说明在上一章。 一、有效三角形的个数 题目链接: 有效三角形的个数 题目叙述: 解法一:暴力循环,叠加三层for循环&#xff0c…

docker 安装influxdb

docker pull influxdb mkdir -p /root/influxdb/data docker run -d --name influxdb -p 8086:8086 -v /root/influxdb/data:/var/lib/influxdb influxdb:latest#浏览器登录:http://192.168.31.135:8086,首次登录设置用户名密码:admin/admin1…

深入剖析MySQL数据库架构:核心组件、存储引擎与优化策略(四)

慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time(默认的时间10秒)参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是…

Ansys Discovery 中的网格划分方法:探索模式

本篇博客文章将介绍 Ansys Discovery 中可用于在探索模式下进行分析的网格划分方法。我们将在下一篇博客中介绍 Refine 模式下的网格划分技术。 了解 Discovery Explore 模式下的网格划分 网格划分是将几何模型划分为小单元以模拟系统在不同条件下的行为的过程。这是通过创建…

MT8788安卓核心板_MTK8788核心板参数_联发科模块定制开发

MT8788安卓核心板是一款尺寸为52.5mm x 38.5mm x 2.95mm的高集成度电路板,专为各种智能设备应用而设计。该板卡整合了处理器、图形处理单元(GPU)、LPDDR3内存、eMMC存储及电源管理模块,具备出色的性能与低功耗特性。 这款核心板搭载了联发科的MT8788处理…

Linux实验报告14-Linux内存管理实验

目录 一:实验目的 二:实验内容 1、编辑模块的源代码mm_viraddr.c 2、编译模块 3、编写测试程序mm_test.c 4、编译测试程序mm_test.c 5、在后台运行mm_test 6、验证mm_viraddr模块 一:实验目的 (1)掌握内核空间、用户空间&#xff…

SAP物料主数据界面增加客制化字段、客制化页签的方式

文章目录 前言一、不增加页签,只增加客制化字段二、增加物料主数据页签 前言 【SAP系统MM模块研究】 #SAP #MM #物料 #客制化 #物料主数据 项目上难免会遇到客户要在物料主数据的界面上,增加新字段的需求。 实现方式有: (1&…

设计心得——流程图和数据流图绘制

一、流程图和数据流图 在软件开发中,画流程图和数据流图可以说是几乎每个人都会遇到。 1、数据流(程)图 Data Flow Diagram,DFG。它可以称为数据流图或数据流程图。其主要用来描述系统中数据流程的一种图形工具,可以将…

U盘数据恢复实战指南与预防策略

一、U盘数据恢复初探 U盘数据恢复,简而言之,是指当U盘中的数据因各种原因丢失、损坏或无法访问时,通过特定技术和工具,将丢失的数据重新找回的过程。U盘作为现代生活中不可或缺的便携式存储设备,其数据安全性和稳定性…

持续大额亏损,销量增幅有限,北汽蓝谷依旧黯然神伤

撰稿 | 行星 来源 | 贝多财经 “起了个大早,赶了个晚集”,用在如今的北汽蓝谷身上再合适不过。 2025年的第一个工作日,北汽蓝谷新能源科技股份有限公司(SH:600733,简称“北汽蓝谷”)对外披露了子公司北京…

【微软,模型规模】模型参数规模泄露:理解大型语言模型的参数量级

模型参数规模泄露:理解大型语言模型的参数量级 关键词: #大型语言模型 Large Language Model #参数规模 Parameter Scale #GPT-4o #GPT-4o-mini #Claude 3.5 Sonnet 具体实例与推演 近日,微软在一篇医学相关论文中意外泄露了OpenAI及Claud…

Elasticsearch JavaRestClient版

文章目录 初始化RestHighLeveClient(必要条件)索引库操作1.创建索引库(4步)2.删除索引库(3步)3.判断索引库是否存在(3步)4.总结:四步走 文档操作1.创建文档(4…

HTML——66.单选框

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>单选框</title></head><body><!--input元素的type属性&#xff1a;(必须要有)--> <!--单选框:&#xff08;如所住省会&#xff0c;性别选择&…

自行下载foremos命令

文章目录 问题描述其他小伙伴的成功解决方案&#xff0c;但对我不适用解决思路失败告终 最终解决成功解决思路解决步骤 问题描述 在kali系统终端中输入foremost&#xff0c;显示无此命令 其他小伙伴的成功解决方案&#xff0c;但对我不适用 解决思路 正常来说使用命令 apt-g…

LED背光驱动芯片RT9293应用电路

一&#xff09;简介&#xff1a; RT9293 是一款高频、异步的 Boost 升压型 LED 定电流驱动控制器&#xff0c;其工作原理如下&#xff1a; 1&#xff09;基本电路结构及原理 RT9293的主要功能为上图的Q1. Boost 电路核心原理&#xff1a;基于电感和电容的特性实现升压功能。当…

AI大模型语音识别转文字

提取音频 本项目作用在于将常见的会议录音文件、各种语种音频文件进行转录成相应的文字&#xff0c;也可从特定视频中提取对应音频进行转录成文字保存在本地。最原始的从所给网址下载对应视频和音频进行处理。下载ffmpeg(https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-…