zoukankan      html  css  js  c++  java
  • 2017-2018-2 20155225《网络对抗技术》实验五 MSF基础应用

    2017-2018-2 20155225《网络对抗技术》实验五 MSF基础应用

    ms08_067

    1. 用search命令,搜索与ms08_067相关的模块,如图:

    image

    找到了对应的攻击模块exploit/windows/smb/ms08_067_netapi ,可知这是一个针对windows下,SMB服务的攻击模块。

    服务器信息块(SMB)是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。

    描述里说,这是一个微软服务器服务相对路径堆栈损坏漏洞。

    具体什么原理也不清楚,反正是一个服务器服务相关的漏洞。

    2.用info命令,查看exploit/windows/smb/ms08_067_netapi相关信息。可以看到存在该漏洞的目标主机类型,选择的目标靶机是Windows XP SP3 English,如图。

    image

    里面提到NX

    NX是一种CPU技术,用来把存储器区域分隔为只供存储处理器指令集单元,或只供数据使用单元。任何使用NX技术的存储器,代表仅供数据使用,因此处理器的指令集并不能在这些区域存储。

    NX技术可防止大多数的缓冲溢出攻击。

    1. 用show payloads命令,查看可用的payload。选择一般类的(generic),tcp回连。

    image

    4.设置参数,出现一个无法建立会话的问题。

    首先检查了网络连接,发现本机是桥接模式,改为NAT模式后,两台主机联通,攻击成功,如图:

    image

    ms11_050

    1. search 命令搜索与ms11_050相关模块。

    image

    根据描述,ms11_050是一个关于mshtml里的cobjectelement的一个漏洞。

    mshtml是IE浏览器排版引擎的名称,是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的所有元素。

    总之是关于IE浏览器的。这是exploit database里对ms11_050的介绍

    1. 用info命令查看详细信息。

    image

    如图,可以看到有可以进行攻击的IE浏览器和对应的操作系统,以及基础选项,比如服务器端地址和端口等。

    1. 用use命令,进入该模块。

    2. 设置payload为windows/meterpreter/reverse_http,并用show options查看选项。

    image

    经过我的多次尝试和分析,我发现,Module options里的SRVHOST、SRVPORTPayload options里的LHOST、LPORT是一样的。

    当使用SRVHOST、SRVPORT这组地址、端口、URI,虽然没有回连成功,但得到的回复是这样的:

    image

    而使用LHOST、LPORT这组地址时,也没有成功,但这个端口下找不到URI,只能定位到主机,得到的回复是这样的:

    image

    可见,其实只需指明SRVHOST、SRVPORT,不用指明LHOST、LPORT就可以攻击。SRVHOST、SRVPORT会自动传给LHOST、LPORT。

    最后,不知道为什么总是提醒我Unknown request to with UA 'Mozilla/4.0。在网上查了些解决方法也都无果。这个漏洞虽然没有成功,但学到了如何设置参数,尝试参数的作用,以及分析并尝试msf反馈的问题。

    对Adobe阅读器攻击

    1. 使用windows/fileformat/adobe_cooltype_sing模块。show options查看参数,设置本机为监听主机,端口默认为4444,pdf文件名默认为msf,成功生成msf文件,如图:

    image

    1. 把msf.pdf拷贝到被攻击机上,然后开启本机监听模块。一点击pdf,就中招了,如图:

    image

    辅助模块

    CVE:漏洞库
    NVD:美国漏洞库

    kali里metasploit的框架目录是:/usr/share/metasploit-framework

    再进入/modules,进入/auxiliary,可以看到辅助模块源码,如图。

    image

    进入msfconsole控制台,show auxiliary查看可用的辅助模块,通过命名可以知道每个模块对应的操作系统/类型/模块名称,info查看某个模块的详细信息。

    首先我选了admin/vmware/poweroff_vm模块,描述中说这个模块将登录到VMware的Web API并尝试关闭指定的虚拟机电源。

    image

    我在百度上搜这个模块的配置方法都找不到,肯定没有人跟我重复了。

    根据每个选项的描述和我自己的理解,

    PASSWORD和USERNAME是登陆靶机的用户名、口令,

    RHOST和RPORT是靶机的IP和开放的TCP端口,

    VM指明具体是关闭哪台靶机的电源。

    然后配置了一下如图:

    image

    然后意料之中的失败,毕竟怎么可能以来就成功呢,对吧。

    分析exploit失败的反馈消息,连接被拒接。

    突然想到靶机开放端口默认设置为443,万一443没开放呢?所以用namp扫描了一下,靶机开放的端口,发现只有22和111端口。所以修改靶机端口设置为22.

    image

    还是失败了,但反馈结果里连接已经成功,但靶机里不支持ssl协议,所以无法建立ssl连接。老师说不要纠结于环境问题,老师还说学习的目的不是成功而是体验,所以我就放弃了。但我已经尝试过使用admin/vmware/poweroff_vm模块,并分析解决了一个连接问题。

    image

    基础问题回答

    1. 用自己的话解释什么是exploit,payload,encode.

    很显然这三个是由大到小的层次关系,exploit是如何利用这个漏洞的代码,payload是攻击漏洞成功以后的功能代码,encode又是payload里的核心代码。

    1. 实践总结与体会

    这次实验给我最大的感受就是,失败是常态,成功是很多次失败后的成果。既然失败几乎是必然,那我们最需要的就是分析问题、解决问题的能力,才能在数次失败后获得成功。

    1. 离实战还缺些什么技术或步骤?

    最后我选择admin/vmware/poweroff_vm模块百度上都没有资料,仅凭几句description,猜测尝试这个模块的用法,是有难度的,而且实战中你也不知道你的靶机是什么情况,比如我这里想使用admin/vmware/poweroff_vm模块,但靶机不支持ssl,这也进一步体现了,信息收集扫描的重要性,掌握准确的信息是成功的关键因素。

  • 相关阅读:
    Some good websites for C++
    Static Class in C#
    js提示后跳转代码集合
    日期格式化函数
    URL伪静态
    正则的一些使用
    提高.net网站的性能
    验证DropDownList的方法
    用C#去除字符串中HTML的格式
    drepdownlist不能动态绑定数据的原因
  • 原文地址:https://www.cnblogs.com/clever-universe/p/8968895.html
Copyright © 2011-2022 走看看