千家信息网

Kerberoasting攻击的示例分析

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关Kerberoasting攻击的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x01介绍当发布Windows 2000和
千家信息网最后更新 2025年12月02日Kerberoasting攻击的示例分析

这期内容当中小编将会给大家带来有关Kerberoasting攻击的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

0x01介绍

当发布Windows 2000和Active Directory时,微软打算在 Windows NT 和Windows 95 上也支持Active Directory,这意味着不仅会产生各种各样的安全问题也会导致更多不安全的配置方式。同时,也意味着,微软要保证在多个不同版本的 Windows 客户端上均支持Kerberos协议。要实现这个想法的一个简单的办法就是在Kerberos协议中使用RC4加密算法,并将NTLM密码哈希作为该加密算法的私钥,该私钥可用于加密或签名Kerberos票证。因此,对于攻击者来说,一旦发现了 NTLM 密码哈希,就可以随意使用,包括重新拿回Active Directory域权限(比如:黄金票证和白银票证攻击)。

0x02 Kerberos通信流程

这里借鉴一下网上给出的Kerberos的通信流程

用户使用用户名和密码进行登录

1a.将原始的明文密码转换为NTLM哈希,再将这个哈希和时间戳一起加密。最后,将加密的结果作为身份验证者发送到KDC进行身份验证的票据(TGT)请求(AS-REQ)。

1b.域控(KDC)检查用户信息(登录限制,组成员等)并创建票证授权票证(Ticket Granting Ticket-TGT)。

2.将TGT加密,签名并返回给用户(AS-REP)。只有域中的Kerberos服务(KRBTGT)才能打开和读取TGT数据。

3.当用户请求票证授权服务(TGS)票证(TGS-REQ)时,会将TGT发送给DC。 DC打开TGT并验证PAC校验和 - 如果DC可以打开票证并且校验和也可以验证通过,那么这个TGT就是有效的。之后,复制TGT中的数据用于创建TGS票证。

4.使用目标服务帐户的NTLM密码哈希对TGS进行加密并将加密结果发送给用户(TGS-REP)。

5.用户连接到服务器托管的服务的相应端口上并发送TGS(AP-REQ)给服务器。被托管的服务会使用服务账户的NTLM密码哈希打开TGS票证。

6.如果客户端需要进行相互之间的身份验证(可以想想MS15-011:在2月份发布的强化UNC的组策略补丁)就会执行这一步。

在第四步的时候,用户将受到由目标服务实例的NTLM hash加密生成的TGS,他的加密算法为RC4-HMAC,那么我们在获得这个TGS后,便可以通过穷举的方式,生成TGS与它进行比较,如果相同,就可以代表密码正确

然后还有几点是需要大家明白的

1.当域控查询某一个服务的SPN时

如果该SPN注册在机器账户computers下,将会查询所有机器账户的servicePrincipalName属性,找到所对应的账户。

如果是注册在域用户账户users下,将会查询所有域用户账户的servicePrincipalName属性,找到其所对应的账户。

找到对应的账户之后,使用它的NTLM hash生成TGS。

2.域内的所有主机都是可以查询SPN的

3.域内的任何用户都是可以向域内的任何服务请求TGS

所以,域内的任何一台主机,都可以通过查询SPN,向域内的所有服务请求TGS,然后进行暴力破解,但是对于破解出的明文,只有域用户的是可以利用的,机器账户的不能用于远程连接,所以我们的关注点主要就在域用户下注册的SPN

0x03 实验

首先我们先登陆服务器

域控192.168.5.130Administrator/secquan.org666
Win7192.168.5.238机器账号SECQUAN_WIN7-PC\secquan_win7机器密码secquan.org666域用户账号ZHUJIAN\win7域用户密码secquan.org123

我们使用下列命令来进行查询

setspn -q */*

紧接着,我们来给域用户下的MSSQL服务注册SPN

setspn -A MSSQLSvc/SECQUAN_WIN7-PC.zhujian.com zhujian\win7

然后 请求SPN Kerberos Tickets

Add-Type -AssemblyName System.IdentityModelNew-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList " MSSQLSvc/SECQUAN_WIN7-PC.zhujian.com "

比之前多了一条,且加密类型是RC4-HMAC

然后使用mimikatz来导出票据

接下来便可以使用tgsrepcrack或者保存hash使用hashcat破解

这里我们使用tgsrepcrack来进行测试

python tgsrepcrack.py mima.txt 1-40a00000-win7@MSSQLSvc~SECQUAN_WIN7-PC.zhujian.com-ZHUJIAN.COM.kirbi

可以发现已经成功爆破得到密码

PS:使用其他工具的方法都是类似的,工具都一样,重点在字典上

0x04 kerberoasting后门利用

如果我们有了SPN的注册权限,我们就可以给指定的域用户注册一个SPN,然后获取到TGS,然后破解得到密码

上述就是小编为大家分享的Kerberoasting攻击的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

用户 服务 密码 加密 票证 账户 哈希 查询 机器 分析 攻击 验证 就是 服务器 算法 身份 生成 示例 安全 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 mysql数据库时间加减 一年级网络安全漫画简单又漂亮 网络安全知识有奖竞答策划案 hp服务器管理口配置 贵州服务器维护公司云主机 数据库的备份与维护 学校网络安全教育培训方案 软件开发公司短期发展计划 公安宣传网络安全知识 手机蓝牙ftp服务器是干什么的 富文本编辑器内容上传到服务器 大连宇光虚拟网络技术有限公司 苹果服务器验证 西安最好的网络技术有限公司 陕西长迅网络技术 我的世界租借服务器管理员权限 东城区信息化软件开发包括什么 车载网络技术课后题 合格网络技术员怎么做 计算机网络安全与防范论文30页 徐州卫建委网络安全文件 滨州游戏软件开发哪家好 智能网络技术与应用 穿越火线显示服务器加载中 网络安全策略 ppt 如何查看网站的服务器名称 江苏海隆软件开发哪个部门好 有做服务器定制显卡的吗 网络安全意识形态手抄报 天津嵌入式软件开发
0