AS-REP Roasting攻击技术

AS-REP Roasting 攻击

原理&概念

这是一种对用户账户的离线爆破的攻击,通过对 KDC 的 88 端口请求票据后返回的 使用该用户 Hash 加密的 Login Session Key 进行爆破。

限制条件:

  1. 控制的域用户需要勾选“不要求 Kerberos 域身份验证”选项

    在这里插入图片描述
  2. 需要能与 KDC 的 88 端口通信

AS-REP Roasting 攻击主要分为两步:

  1. 获取 AS-REP 响应包中用户 Hash 加密的 Login Session Key,后面统称为 Hash
  2. 对上一步获得的 Hash 进行解密

示例

获取 Hash

获取 AS-REP 包中用户 Hash 加密的 Login Session Key,也就是 AS-REP 响应包中最外层 ecp-part 中的 cipher 部分。

法一:Rubeus 工具

如果当前主机在域内,可以通过执行以下的命令运行 Rubeus,该工具会自动搜索域内勾选了“不要求 Kerberos 域身份验证”选项的用户,并以该用户身份发起 AS-REP ,由于不需要预身份验证,所以 KDC 会直接返回 AS-REP 包。然后该工具会将 AS-REP 包中返回的用户 Hash 加密的 Login Session Key 以 john 工具能破解的格式保存为 hash.txt 文件:

Rubeus.exe asreproast /format:john /outfile:hash.txt

如图所示,运行 Rubeus 工具获取域内设置了不要求 Kerberos 域身份验证的用户,搜到了用户 victim,然后以用户 victim 的身份发送了 AS-REQ 包,并将 KDC 返回的用户 Hash 加密的 Login Session Key 保存为 hash.txt 文件:

image-20250604105041776

法二:ASREPRoast.ps1 脚本

如果当前主机在域内,则可通过执行以下的命令导入 ASREPRoast.ps1 脚本进行操作。该脚本会自动搜索域内设置了不要求 Kerboeros 预身份验证的域用户,并将以该用户身份发送 AS-REQ,由于不需要预身份验证,所以域控会直接返回 AS-REP 包。然后该工具会输出不要求 Kerberos 预身份验证的用户名、DN 以及用户 Hash 加密的 Login Session Key。最后使用 select 语句过滤出 Hash,最后输出的内容可以直接使用 john 进行爆破:

Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast | Select-Object -ExpandProperty Hash

image-20250528202423419

posted @ 2025-12-03 09:45  shinianyunyan  阅读(19)  评论(0)    收藏  举报