(CVE-2008-4250)【MS08-067】Windows远程溢出漏洞

一、漏洞简介

CVE-2008-4250微软编号为MS08-067,根据微软安全漏洞公告,基本可以了解其原理:\ MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化(将路径字符串中的\'/\'转换为\'\',同时去除相对路径\".\"和\"..\"),而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。

二、漏洞影响

Windows 2000;XP;Server 2003;Server 2008;7 Beta

三、复现过程

nmap -p 445 --script=smb-vuln-ms08-067 192.168.75.133\ 1.png

使用msf,进入ms08-067利用模块

image20200525143111840.png

配置设置为如下

image20200525143413666.png

run 运行 成功获得session

image20200525143824415.png

踩坑(一)连接拒绝

[-] 192.168.48.151:445 - Exploit failed [unreachable]: Rex::ConnectionRefused The connection was refused by the remote host (192.168.48.151:445).

开启Windows XP 的445端口和Server服务

image2020052415.png

踩坑(二)登录失败

[-] 192.168.48.151:445 - Exploit failed [no-access]: Rex::Proto::SMB::Exceptions::LoginError Login Failed: The server responded with error: STATUS_LOGON_FAILURE (Command=115 WordCount=0)

首先检测SMBPass的值是否正确

Win + R打开gpedit.msc

依次打开

本地计算机策略 - >计算机配置 - > Windows设置 - >安全设置 - >本地策略 - >安全选项

修改网络访问:本地帐户的共享和安全模式为经典 - 本地用户身份验证

踩坑(三)共享服务不允许远程访问

较新的Windows系统默认情况下是不允许的

[-] 192.168.48.144:445 - Exploit failed [no-access]: Rex::Proto::SMB::Exceptions::ErrorCode The server responded with error: STATUS_ACCESS_DENIED (Command=117 WordCount=0)

将注册表中LocalAccountTokenFilterPolicy的值更改为1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

如果下面没有该文件,直接新建一个(DWORD32位)