SMBRelay的报复打击是一种很好的渗入手艺,即便方针办事器补丁打的比较勤,SMBRelay报复打击仍然可能渗入到你首要办事器。
NTLM是一种挑战/响应验证机制,在SMBRelay报复打击中,报复打击者要以中间人报复打击编制来实施。报复打击者等候或人来验证在他收集上的方针办事器。如许一来可以操纵缝隙扫描器+治理员主动验证主机脚本。当主动化过程连接到报复打击者,他经由过程他的方针(收集上的其他系统,或许是办事器)进行身份验证。方针会产生挑战(challenge),并将其发送给报复打击者。报复打击者发送挑战回到原始扫描系统的。扫描系统具有哈希值的加密功能准确暗码的哈希值会将其发送给报复打击者。报复打击者传递准确的加密的响应返回给他的方针,并成功验证。
POC:
报复打击者IP - 10.10.12.10
方针IP - 10.10.12.20
每晚清单扫描器IP - 10.10.12.19
操纵Metasploit的smb_relay模块,报复打击者10.10.12.10,Metasploit以下:
利用一个简单的Windows for轮回来摹拟扫描办事器的收集。我运行以下的号令。
当扫描器(10.10.12.19)连接到10.10.12.10(我的Metasploit监听)验证测验测验会传递到方针办事器(10.10.12.20)。
Metasploit主动利用的验证SMB会话,Meterpreter就会对方针倡议payload。
以下图所示,寄望Metasploit,清单扫描器在发送一个“Access Denied”时,它试图连接到10.10.12.10。可是,
我们获得了一个报复打击者的机械上运行Meterpreter shell的方针(10.10.12.20)。
Metasploit的SMBRelay只撑持NTLMv1,是以经由过程改变一下设置便可呵护本身免受这类报复打击(可输进secpol.msc)…
改成NTLMv2后再次测验测验Metasploit
运行了Metasploit exploit,获得了“Failed to authenticate(验证掉败)”弊端信息。
由此看来DRAT的安然和谈已挫败了我们的打算。
不外,不消担忧,此刻国外某安然团队开辟了一个由python实现的p***ec模块与IMPACKET模块的整合体:SMBRELAYX.PY。
IMPACKET模块里的SMBRELAYX.PY脚本是带有NTLMv2的撑持! 下载地址
你需要下载最新版本的IMPACKET模块启动运行。为体味决路径标题问题,我把所有的实例和其他模块都放到了统一个目次中,然后改变import以指定准确的目次。 SMBRELAYX需要身份验证后在长途主机上运行可履行文件。让Meterpreter利用msfpayload成立一个EXE文件,然后设置SMBRELAYX。 Smbrelayx.py需要两个参数:
-h是你所要报复打击的主机; -e 是在长途主机上启动过程。
供给了这些选项,就坐下来等候,夜间清单扫描器(10.10.12.19)连接到您的系统。
下面,我成立的Meterpreter可履行文件,并调用smbrelayx.py来履行msfpayload:
因为我们利用的是 meterpreter reverse shell我们还必需要设置Metasploit。所以,它是预备领受payload连接后才开端履行方针。
multi/handler
此刻,试图将(10.10.12.19)连接到报复打击者的Linux(10.10.12.10)。
我们获得了一个 ”System cannot find the path specified(系统找不到指定的路径)” 弊端,而这个弊端会让系统治理员可能会质疑,为甚么他的用户名和暗码在没有方针工作之前,为甚么路径会不存在。smbrelayx.py脚本发出的信息返回给了治理员,加倍埋没的Metasploit信息,就不太可能寄望获得了。我们当即看到产生在 smbrelayx.py脚本环境。它会验证10.10.12.20。10.10.12.19利用用户名和暗码来启动Meterpreter办事过程。
payload传递到方针以后NTLMv2验证终了 ,为了使shell不变,我们需要快速地迁徙到另外一个更不变的过程(我们可在Meterpreter利用一个迁徙脚本来帮忙主动化迁徙)。
全新的Meterpreter shell 它是一个Python模块,你可以把这个脚本纳进到你本身的主动报复打击东西中。