AS-REP Roasting攻击技术
AS-REP Roasting 攻击
原理&概念
这是一种对用户账户的离线爆破的攻击,通过对 KDC 的 88 端口请求票据后返回的 使用该用户 Hash 加密的 Login Session Key 进行爆破。
限制条件:
-
控制的域用户需要勾选“不要求 Kerberos 域身份验证”选项
-
需要能与 KDC 的 88 端口通信
AS-REP Roasting 攻击主要分为两步:
- 获取 AS-REP 响应包中用户 Hash 加密的 Login Session Key,后面统称为 Hash
- 对上一步获得的 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 文件:

法二: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


浙公网安备 33010602011771号