2019-2020-2 网络对抗技术 20175236 EXP6 MSF基础应用

基础问题回答

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

exploit:就是利用被攻击的靶机的漏洞来产生攻击模块进行攻击,它分为主动和被动,目的一般是为了获取系统的一定权限。
payload:是攻击代码中的有效荷载,它本身也是一段代码,只不过能够起到特定的作用,一般被送到靶机内后开始运行,从而建立目标机与靶机的稳定连接,提取到靶机的一定权限。
encode:同样是一段代码,它的作用主要是为自己的攻击代码设置一层伪装,或者对攻击代码进行一定的加工,防止攻击代码被杀毒软件检测到。

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,就中招了,如图:

 

 

辅助模块

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

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

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

进入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。

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

image

实验总结

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

本次实验中,我使用了各种不同的模块以及漏洞进行组装攻击,针对我的靶机去尝试获得回连,提取权限。最终完成了全部实验后,我对msf的功能有了更加深刻的了解,也明白了网络攻击中信息收集的重要性。在很多不同的攻击中我都是利用了各种漏洞,因此在现实生活中防范网络攻击就一定要勤于下载漏洞补丁,定期检查系统和软件。

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

posted on 2020-05-03 06:32  20175236温丰帆  阅读(194)  评论(0编辑  收藏  举报